728x90
왜 파티션과 노드 관리를 알아야 하는가
Slurm에서 **파티션(Partition)**은 일종의 **Job 대기열(Queue)**이자 **자원 풀(Resource Pool)**입니다.
HPC/GPU 클러스터에서는 모든 노드를 하나의 파티션에 넣지 않고, 사용 목적·성능·자원 종류에 따라 파티션을 나눠 운영합니다.
예:
- GPU 전용 파티션 (gpu)
- CPU 전용 파티션 (cpu)
- 장기 작업 파티션 (long)
- 테스트용 파티션 (debug)
또한 운영자는 파티션 구성뿐만 아니라 노드 상태 제어(가동, 유지보수, 예약 등)를 통해 자원 활용도를 최적화해야 합니다.
1. slurm.conf에서 파티션 정의
slurm.conf는 Slurm의 핵심 설정 파일입니다.
파티션 정의는 다음과 같은 형식으로 작성합니다.
# GPU 파티션 예시
PartitionName=gpu Nodes=node[01-08] Default=NO MaxTime=48:00:00 State=UP
# CPU 파티션 예시
PartitionName=cpu Nodes=node[09-32] Default=YES MaxTime=24:00:00 State=UP
주요 필드
- PartitionName: 파티션 이름
- Nodes: 해당 파티션에 속하는 노드 목록
- Default: 기본 파티션 여부 (YES/NO)
- MaxTime: 최대 실행 시간
- State: 파티션 상태 (UP, DOWN, INACTIVE)
실무 팁
- GPU와 CPU 파티션을 분리하면 GPU 없는 노드에 GPU Job이 잘못 배정되는 것을 방지
- 테스트 파티션(debug)을 만들어 짧은 Job만 허용하면 운영 안정성 향상
2. slurm.conf에서 노드 정의
노드 정의 예시:
# GPU 노드
NodeName=node[01-08] Gres=gpu:4 CPUs=64 RealMemory=512000 State=UNKNOWN
# CPU 노드
NodeName=node[09-32] CPUs=64 RealMemory=512000 State=UNKNOWN
주요 필드
- NodeName: 노드 이름 또는 범위
- Gres: GPU 자원 정의 (gpu:개수)
- CPUs: 할당 가능한 CPU 코어 수
- RealMemory: 총 메모리(MB 단위)
- State: 노드 초기 상태
3. 노드 상태 제어 명령어
노드 상태 확인
sinfo -N -l
- STATE 필드: IDLE, ALLOC, MIX, DOWN, DRAIN 등
노드 유지보수 모드(DRAIN)
scontrol update NodeName=node05 State=DRAIN Reason="GPU fan issue"
- 해당 노드에 새로운 Job이 배정되지 않도록 함
노드 복구(Resume)
scontrol update NodeName=node05 State=RESUME
노드 상태 강제 변경
scontrol update NodeName=node05 State=DOWN Reason="Hardware failure"
- 장애 처리 시 사용
4. 파티션 상태 제어
파티션 비활성화
scontrol update PartitionName=gpu State=INACTIVE
파티션 활성화
scontrol update PartitionName=gpu State=UP
5. GPU 환경에서의 파티션 운영 전략
- GPU 모델별로 파티션을 분리 (예: gpu_a100, gpu_h100)
- 장기 학습과 단기 실험을 다른 파티션에 할당
- MIG(Multi-Instance GPU) 활성화 시 파티션 설정에 MIG 자원 반영
- GPU 파티션에만 gres.conf 설정 필수
HPC 운영 시나리오 예시
| 상황 | 명령어 | 조치 |
| 특정 GPU 노드 팬 오류 | scontrol update NodeName=node03 State=DRAIN | 유지보수 후 RESUME |
| 디버그 전용 파티션 생성 | PartitionName=debug Nodes=node01 MaxTime=01:00:00 | 짧은 Job 전용 |
| GPU Job이 CPU 노드에 배정됨 | slurm.conf에서 GPU 파티션 노드 범위 수정 | GPU 없는 노드 제외 |
장점과 단점
장점
- 자원 배치 최적화 가능
- 장애 노드 격리로 안정성 확보
- Job 유형별 파티션 분리로 효율 향상
단점
- 설정 변경 시 Slurm 재시작 필요
- 노드/파티션 관리 복잡도 증가
실무 팁과 주의사항
- slurm.conf 변경 후 scontrol reconfigure로 무중단 적용 가능
- 파티션 변경 시 사용자와 사전 공유 필수
- GPU 노드는 항상 gres.conf와 slurm.conf가 일치해야 함
- 노드 유지보수 모드 사용 시 Reason 필드에 원인 기록 → 운영 기록에 도움
정리하며
Slurm 파티션과 노드 관리는 HPC 운영자가 자원 정책을 구현하는 핵심 기술입니다.
정확한 파티션 설계와 노드 상태 제어는 자원 효율성, 운영 안정성, 사용자 만족도를 크게 향상시킵니다.
다음 18편에서는 Slurm Job Script 작성법 – 자원 요청과 환경 변수 설정을 다루어, 사용자와 운영자 모두가 효율적인 Job 제출 환경을 구성할 수 있도록 하겠습니다.
728x90