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