liminfo

Slurm HPC Reference

Slurm HPC 워크로드 매니저 레퍼런스

30개 결과

Slurm HPC Reference 소개

Slurm HPC 레퍼런스는 고성능 컴퓨팅(HPC) 클러스터에서 사용되는 Slurm 워크로드 매니저의 핵심 명령어를 정리한 검색 가능한 치트 시트입니다. 작업 제출 명령어(sbatch, srun, salloc), 작업 이름/시간 제한/메모리 할당/파티션 선택을 위한 SBATCH 디렉티브, gres 사양을 사용한 노드 및 GPU 리소스 요청을 포함합니다.

squeue 출력 포맷팅, scancel 작업 취소, scontrol 작업 보류/해제/업데이트 등 큐 관리와 SLURM_ARRAY_TASK_ID 환경변수 및 동시 실행 제한을 활용한 배열 작업 구문을 다룹니다. sacct 완료 작업 이력, seff 효율성 리포트, sstat 실행 중 작업 메트릭, 이메일 알림 설정 등 모니터링 도구도 포함됩니다.

Slurm 관리 클러스터에서 배치 작업을 제출하는 HPC 시스템 관리자, 계산 과학자, 연구자를 위해 설계되었습니다. 파티션 및 QoS 설정 조회, 노드 상세 점검, 다중 노드 GPU/CPU 클러스터에서의 운영 작업 스케줄링에 필요한 모든 필수 SBATCH 디렉티브를 포괄합니다.

주요 기능

  • 작업 제출 명령어: sbatch(배치), srun(인터랙티브 실행), salloc(리소스 할당)
  • SBATCH 디렉티브 레퍼런스: --job-name, --time, --mem, --partition, --nodes, --ntasks, --cpus-per-task, --gres
  • sinfo, scontrol show partition, 노드 상태 조회를 통한 파티션 및 QoS 관리
  • --gres=gpu:N 및 특정 GPU 타입 요청(예: gpu:a100:2)을 활용한 GPU 리소스 스케줄링
  • --array 범위, 동시 실행 제한(%N), SLURM_ARRAY_TASK_ID 활용법을 포함한 배열 작업 구문
  • squeue 포맷팅, scancel, scontrol hold/release/update 등 큐 관리 명령어
  • sacct 이력, seff 효율성 리포트, sstat 런타임 메트릭, 이메일 알림 등 작업 모니터링
  • 카테고리별 검색 지원, 다크 모드, 데스크톱/태블릿/모바일 반응형 디자인

자주 묻는 질문

sbatch, srun, salloc의 차이점은 무엇인가요?

sbatch는 비대화형 실행을 위한 배치 스크립트를 제출하고, srun은 할당된 리소스에서 대화형으로 명령을 실행하며(배치 스크립트 내에서 MPI 실행에도 사용), salloc은 리소스를 할당한 후 srun 명령을 실행할 수 있는 대화형 셸 세션을 엽니다.

Slurm 작업에서 GPU 리소스를 어떻게 요청하나요?

--gres=gpu:N 디렉티브로 N개의 GPU를 요청합니다. --gres=gpu:a100:2처럼 GPU 타입을 지정할 수 있으며, --partition=gpu와 함께 사용하여 GPU 장착 파티션을 대상으로 합니다. SBATCH 디렉티브와 명령줄 사용 예제를 모두 포함합니다.

Slurm에서 배열 작업은 어떻게 동작하나요?

#SBATCH --array=0-99로 여러 유사 태스크를 제출합니다. 각 태스크는 매개변수화를 위한 고유한 $SLURM_ARRAY_TASK_ID를 받습니다. --array=0-999%50으로 동시 태스크를 50개로 제한할 수 있으며, 상위 작업 ID는 $SLURM_ARRAY_JOB_ID로 확인합니다.

Slurm 작업의 상태와 효율성을 어떻게 확인하나요?

squeue -u $USER로 실행/대기 중인 작업을 확인하고, sacct -j JOBID로 완료된 작업의 경과 시간과 메모리 사용량을 조회하며, seff JOBID로 CPU 및 메모리 활용률을 보여주는 효율성 리포트를 빠르게 확인합니다.

일반적인 배치 작업에 어떤 SBATCH 디렉티브를 설정해야 하나요?

최소한 --job-name(식별용), --time(최대 실행 시간), --mem 또는 --mem-per-cpu(메모리), --partition(큐), --output/--error(로그 파일)를 설정합니다. 병렬 작업의 경우 필요에 따라 --nodes, --ntasks, --cpus-per-task를 추가합니다.

실행 중인 Slurm 작업을 취소하거나 수정하려면 어떻게 하나요?

scancel JOBID로 특정 작업을 취소하고, scancel -u $USER로 모든 작업을 취소합니다. scontrol hold JOBID로 대기 작업을 보류하고, scontrol release JOBID로 재개하며, scontrol update JobId=JOBID TimeLimit=48:00:00으로 속성을 변경합니다.

파티션과 노드 정보는 어떻게 조회하나요?

sinfo로 모든 파티션과 상태를 확인하고, sinfo -p PARTITION으로 특정 파티션 세부 정보, sinfo -N -l로 노드별 정보, scontrol show partition으로 상세 설정, scontrol show node로 CPU 수, 메모리, GPU 리소스를 확인합니다.

이 Slurm 레퍼런스는 무료로 사용할 수 있나요?

네, 이 Slurm HPC 레퍼런스는 계정 없이 완전 무료로 사용할 수 있습니다. 브라우저에서 모든 동작이 처리되며 서버 처리가 없습니다. liminfo.com의 무료 온라인 개발자 및 인프라 도구 모음에 포함되어 있습니다.