运行多个工作者守护进程SLURM

时间:2016-11-19 16:40:20

标签: cluster-computing distributed-computing distributed-system slurm

我想在单台机器上运行多个worker守护进程。根据{{​​3}}的damienfrancois's答案,可以完成。问题是目前我只能在一台机器上执行1个工作守护程序。例如

当我跑步时

sudo slurmd -N linux1 -cDvv
sudo slurmd -N linux2 -cDvv
当我运行linux2时,linux1会崩溃。是否可以在一台机器上运行多个工作器守护程序? 这是我的what is the minimum number of computers for a slurm cluster文件

2 个答案:

答案 0 :(得分:3)

由于您的意图似乎只是测试Slurm的行为,我建议您使用前端模式,您可以在同一台机器中创建虚拟计算节点。

在他们的FAQ中,您有更多详细信息,但基本上您必须将安装配置为使用此模式:

./configure --enable-front-end  

并在 slurm.conf

中配置节点
NodeName=test[1-100] NodeHostName=localhost

在该指南中,他们还解释了如何通过更改端口在同一节点中启动多个真实守护进程,但出于测试目的,它不是必需的。

祝你好运!

答案 1 :(得分:0)

我遇到了和你一样的问题,我通过修改multiple slurmd support中提到的日志文件路径解决了这个问题。 在你的slurm.conf中,例如

SlurmdLogFile=/var/log/slurm/slurmd.log
SlurmdPidFile=/var/run/slurmd.pid
SlurmdSpoolDir=/var/spool/slurmd

必须是

SlurmdLogFile=/var/log/slurm/slurmd.%n.log
SlurmdPidFile=/var/run/slurmd.%n.pid
SlurmdSpoolDir=/var/spool/slurmd.%n

现在你可以启动多个slurmd。

注意:我尝试使用你的slurm conf,我认为缺少一些参数,比如定义两个NodeName而不是一个,并添加用于每个节点的端口。 这对我有用

# COMPUTE NODES
NodeName=linux[1-10] NodeHostname=linux0 Port=17004 CPUs=1 State=UNKNOWN
NodeName=linux[11-19] NodeHostname=linux0 Port=17005 CPUs=1 State=UNKNOWN
# PARTITIONS
PartitionName=main Nodes=linux1  Default=YES MaxTime=INFINITE State=UP
PartitionName=dev Nodes=linux11  Default=YES MaxTime=INFINITE State=UP