slurm 스케쥴러 기본 사용법 (2021.04)
슈퍼컴퓨팅인프라센터 2019. 6. 14. 15:00
뉴론 시스템은 스케쥴러로 slurm 을 사용하고 있습니다. 이 문서에서는 사용자가 뉴론 시스템에서 기본적인 작업 제출을 할 수 있는데 목적을 두고 있으며, MPI 작업 제출 등은 별도의 문서에서 설명할 계획입니다. 그 밖의 자세한 정보는 아래를 참고해 주시기 바랍니다.
[ slurm 온라인 문서 ]https://slurm.schedmd.com/documentation.html
가. 기본명령어 요약
나. sinfo
slurm 노드 및 파티션 정보를 조회합니다. 사용방법 및 예제는 아래와 같습니다.
※ GPU 메모리 크기를 특정할 필요가 없다면 ivy_v100_2 파티션에 작업을 제출하고, GPU 메모리 크기를 특정하고자 할 경우 ivy_v100-16G_2 혹은 ivy_v100-32G_2 파티션을 선택하여 작업 제출
※ cas32c_v100_2 파티션 계산노드는 Xeon Gold 6242 CPU 2ea 탑재 (총 32코어)
다. sbatch
작업 제출을 위한 명령어입니다. 사용방법 및 예제는 아래와 같습니다.
1. 작업스크립트 작성 안내
slurm에게 전달해야 할 정보는 작업스크립트 내에 #SBATCH 지시자를 붙여 전달합니다.
1) 작업 이름
작업 이름을 명시하지 않으면 slurm이 임의로 부여합니다.. 작업 이름을 test 로 지정할 경우 "--job-name=test" 또는 "-J test" 와 같이 사용합니다.
2) 작업 파티션 이름
작업 수행할 파티션을 지정하는 것이며, 사용가능한 파티션 이름은 sinfo 명령어로 확인이 가능합니다. 파티션을 ivy_v100_2으로 사용할 경우, "--partition=ivy_v100_2" 또는 "-p ivy_v100_2" 와 같이 사용합니다.
3) 필요한 자원의 양
작업 수행에 필요한 총 프로세스 수는 "-n" 옵션으로, 작업 수행에 필요한 컴퓨팅 노드 개수는 "-N"으로 정의합니다.
4) output
Standard output을 저장할 파일명을 정의합니다. 파일명을 test.out으로 사용할 경우, "--output=test.out" 또는 "-o test.out" 과 같이 사용합니다.
5) error
Standard error 를 저장할 파일명을 정의합니다. 파일명을 test.err으로 사용할 경우, "--error=test.err" 또는 "-e test.err" 와 같이 사용합니다.
6) comment
뉴론 시스템 사용자 편익 증대를 위한 자료 수집의 목적으로, 아래와 같이 SBATCH 옵션을 통한 사용 프로그램 정보 작성을 의무화한다.
7) Wall Time Clock Limit
예상되는 작업 소요 시간을 의미하며, 실제 예상되는 작업 소요 시간보다 약간 더 길게 설정해 주는 것이 안전합니다. 만약 해당 작업이 설정해 둔 시간내에 종료 되지 않을 경우, Wall Time Clock Limit 시간을 초과하는 시점에서 slurm이 해당 작업을 강제로 종료시킵니다. 이 키워드는 작업 제출 스크립트 파일에 반드시 지정되어야 하며, 초단위 또는 시:분:초 형식으로 지정할 수 있습니다. Wall Time Clock Limit을 1시간을 지정할 경우, "--time=01:00:00: 또는 "-t 01:00:00" 과 같이 사용합니다.
라. squeue
제출된 작업 목록 및 정보 조회 명령어입니다. 사용방법 및 예제는 아래와 같습니다.
1. 제출된 작업 상세 조회
scontrol 명령어를 이용하면 제출된 작업의 상세내역을 조회할 수 있습니다. 사용방법 및 예제는 아래와 같습니다.
마. scancel
제출된 작업 수행을 취소합니다. 사용방법은 아래와 같습니다.
바. smap
sinfo와 squeue에서 보여주는 정보를 그래픽화면으로 보여줍니다.
사. 인터렉티브 작업 제출
1. 자원 할당
* 설명 : ivy_v100_2 파티션의 gpu 2노드(각각 2core, 2gpu)를 interactive 용도로 사용
※ Application별 SBATCH 옵션 이름표 참고
※ 2시간 이상 미사용시 타임아웃으로 작업이 종료되고 자원이 회수됨, 인터렉티브 작업의 walltime은 최대 12시간으로 고정됨
2. 작업 실행
3. 헤드 노드 접속
※ 2시간 이상 키보드 미입력시 타임아웃으로 작업이 종료되고 자원이 회수됨\ ※ 헤드 노드에 접속한 후에는 srun, mpirun을 통한 작업 제출 불가능, 헤드 노드에서 빠져나온 후(exit)에 작업 제출이 가능함
4. 진입한 노드에서 나가기 또는 자원 할당 취소
5. 커맨드를 통한 작업 삭제
※ Job ID는 squeue 명령으로 확인 가능
Last updated