slurm:使用nodelist中的任何节点

Fab*_*ber 17 cluster-computing batch-processing slurm sbatch

我有几千个工作要在一个有16个节点的slurm集群上运行.这些作业应仅在大小为7的可用节点的子集上运行.某些任务是并行化的,因此使用单个节点的所有CPU功率,而其他任务是单线程的.因此,多个作业应该在单个节点上同时运行.任何任务都不应该在多个节点上产生.

目前我提交的每个职位都包括:

sbatch --nodelist=myCluster[10-16] myScript.sh
Run Code Online (Sandbox Code Playgroud)

但是这个参数让slurm等到提交的作业终止,因此完全不使用3个节点,并且根据任务(多线程或单线程),当前活动节点在CPU能力方面也可能处于低负载状态.

sbatch在指定节点上同时运行多个作业的强制slurm 的最佳参数是什么?

dam*_*ois 26

你可以反过来工作; 而不是指定要使用哪些节点,并且每个作业都分配了所有7个节点,指定不使用哪些节点:

sbatch --exclude=myCluster[01-09] myScript.sh
Run Code Online (Sandbox Code Playgroud)

和Slurm永远不会为您的工作分配超过7个节点.确保尽管群集配置允许节点共享,并且您的myScript.sh包含#SBATCH --ntasks=1 --cpu-per-task=nn每个作业的线程数.

  • `--exclude=myCluster[01-09]` 相当于 `--exclude=myCluster01,myCluster02,myCluster03,myCluster04,myCluster05,myCluster07,myCluster08,myCluster09,myCluster10,`。 (4认同)