SLURM 스케줄러를 사용하는 컴퓨팅 클러스터에 계정이 있습니다. 대기열에 일부 작업이 있고 "watch" 명령을 사용하여 해당 상태를 확인하고 있습니다.
watch squeue -u myUserName
이 명령을 실행하면 스케줄러에 지속적으로 많은 스트레스가 가해집니까?
답변1
다른 것이 작동하는 것을 보고 방해하고 싶지 않을 때 top
마다 iostat
다음 systat
을 사용하는 것이 좋습니다 nice
.
nice watch squeue -u myUserName
그러면 기본 우선순위와 비교하여 낮은 우선순위로 프로세스가 실행됩니다. 클러스터 작업이 보통 우선순위로 실행되고 있다고 가정하면 nice
프로세스는 위의 모든 작업이 CPU 시간을 받은 후에 남은 유휴 CPU 시간만 허용하겠다고 스케줄러에 알립니다.
로드가 많은 시스템에서 우선 순위가 낮은 작업을 수행하는 경우 항상 다음 사항을 고려해야 합니다.
$ nice bash -l
~하도록 하다모든 것실제로 클러스터가 이미 실행 중인 "실제 작업"보다 낮은 우선순위로 실행되고 있습니다.
답변2
각squeue
이 명령은 Slurm 제어 데몬에 대한 RPC()를 시작합니다 slurmctld
. 이는 제어 데몬에 부하를 주지만 컨트롤러의 전력이 얼마나 되는지, 시스템의 부하가 얼마나 되는지 알지 못하면 squeue
상수가 얼마나 영향을 미칠지 알기 어렵습니다 .
조직의 사용자가 500명이 넘고 지속적으로 실행되는 경우 watch "squeue -u $USER_NAME"
이는 단순히 강력한 시스템에서 실행하는 것보다 시스템에 엄청난 부하를 가하게 됩니다.
시간을 더 잘 활용하는 방법은 작업에 대한 시간 제한을 올바르게 설정하여 x분 안에 작업 중과 같은 상태에 있어야 한다는 것을 안다면 completing
작업sleep x; squeue -u $USER_NAME
이 완료되거나 작업이 완료될 때 이 메시지가 알려줄 것입니다. 특정 단계에 도달합니다. 이것watch
또한 이 옵션을 사용하여 명령 실행 빈도를 구성할 수도 있습니다 -n
.