关于Slurm的总结
* 本文主要是总结几点使用过程的问题,因为对Slurm的了解有限,所以并不全面。
* 本人主要是使用slurm进行管理Kaldi任务。
0、相关的资源:
1、配置文件:/etc/slurm/slurm.conf
1. SelectTypeParameters会控制Kaldi的子任务如何运行
Proctracktype=proctrack/linuxproc
CacheGroups=0
ReturnToService=2
SelectType=select/cons_res
SelectTypeParameters=CR_Core,CR_CORE_DEFAULT_DIST_BLOCK
#SelectTypeParameters=CR_Core,CR_ONE_TASK_PER_CORE,CR_CORE_DEFAULT_DIST_BLOCK
#SelectTypeParameters=CR_CPU
TaskPlugin=task/affinity
TaskPluginParam=Sched
KillOnBadExit=1
2. 实际使用服务器时,曾经遇到过RealMemory减小的情况,导致配置文件与实际硬件不匹配,slurm运行出现问题。或是服务器硬件升级、硬件变更,或是关闭、开启Intel超线程。这些情况可能需要重新配置slurm的配置文件。以下就是关于硬件参数的配置。这些参数信息,建议使用slurmd -C命令得到。
NodeName=dell-PowerEdge-T630 CPUs=28 Boards=1 SocketsPerBoard=2 CoresPerSocket=14 ThreadsPerCore=1 RealMemory=386746 Gres=gpu:4 PartitionName=mipitalk Nodes=ALL Default=YES MaxTime=INFINITE State=UP
2、一些命令的总结:重启Slurm服务、查询Slurm状态...
1.重启Slurm:
cat slurm_restart.sh #!/bin/bash sudo systemctl restart slurmctld sudo systemctl restart slurmd.service
2.查看Slurm状态:
cat slurm_status.sh #!/bin/bash systemctl status slurmctld && echo systemctl status slurmd.service && echo sinfo && echo
3.监视Slurm任务队列:
watch squeue
watch squeue -u user
3、遇到异常情况如何将drain状态重置
在kaldi模型训练过程中,有可能子任务异常导致任务长时间占用资源,而不能释放。进而导致Slurm进入异常状态。
step1:
sudo scontrol update NodeName=dell-PowerEdge-T630 State=DOWN Reason=hung_completing
step2:
./slurm_restart.sh
step3:
sudo scontrol update NodeName=dell-PowerEdge-T630 State=RESUME
Ref:
https://blog.csdn.net/kongxx/article/details/48193333