假设我有一个带有一个节点(node_1
)的HPC集群,并且我想同时发送和运行node_1
中的3个作业的bash脚本。
到目前为止,当我将作业发送到node_1
时,节点将保持繁忙状态,直到作业结束。
我该怎么做?我可以在工作的bash脚本中提供任何特定的参数吗?
谢谢
更新
下面是我用来将作业发送到HPC的bash脚本的示例:
#!/bin/bash
#SBATCH --job-name=my_job
#SBATCH --partition=test
#SBATCH --nodelist=node_1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --time=01:00:00
#SBATCH --mem-per-cpu=8000
#SBATCH --output=1.out
#SBATCH --error=1.err
python /my/HPC/folder/script.py
更新
(base) [id@login_node ~]$ scontrol show node=node_1
NodeName=node_1 Arch=x86_64 CoresPerSocket=32
CPUAlloc=0 CPUTot=64 CPULoad=2.94
AvailableFeatures=(null)
ActiveFeatures=(null)
Gres=(null)
NodeAddr=node_1 NodeHostName=node_1 Version=18.08
OS=Linux 4.20.0-1.el7.elrepo.x86_64 #1 SMP Sun Dec 23 20:11:51 EST 2018
RealMemory=128757 AllocMem=0 FreeMem=111815 Sockets=1 Boards=1
State=IDLE ThreadsPerCore=2 TmpDisk=945178 Weight=1 Owner=N/A MCS_label=N/A
Partitions=test
BootTime=2019-12-09T14:09:25 SlurmdStartTime=2020-02-18T03:45:14
CfgTRES=cpu=64,mem=128757M,billing=64
AllocTRES=
CapWatts=n/a
CurrentWatts=0 LowestJoules=0 ConsumedJoules=0
ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s
您需要以口吃的方式将消耗性资源类型从节点更改为核心。
将此添加到您的slurm.conf
文件中>
SelectType=select/cons_res SelectTypeParameters=CR_Core
[SelectType:控制是否以整个节点为单位或作为消耗性资源(套接字,核心或线程)将CPU资源分配给作业和作业步骤。
SelectTypeParameters:定义消耗性资源类型并控制select插件分配CPU资源的其他方面。Reference
此外,节点描述也应允许:
NodeName=<somename> NodeAddr=<someaddress> CPUs=16 Sockets=2 CoresPerSocket=4 ThreadsPerCore=2 RealMemory=12005 State=UNKNOWN
另请参阅serverfault