* 本文主要是總結幾點使用過程的問題,因為對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
