728x90
왜 QoS와 Fairshare가 중요한가
HPC/GPU 클러스터는 다수의 사용자가 한정된 자원을 공유합니다.
만약 아무 정책 없이 선착순(FIFO)으로만 Job을 실행한다면, 특정 사용자나 대규모 Job이 자원을 독점해 다른 사용자가 장시간 대기하게 됩니다.
이 문제를 해결하기 위해 Slurm은 **QoS(Quality of Service)**와 Fairshare라는 자원 우선순위 정책을 제공합니다.
- QoS: 자원 사용량과 제한을 직접적으로 설정 (최대 Job 수, GPU 개수, 실행 시간 제한 등)
- Fairshare: 과거 자원 사용량을 기반으로 가중치를 부여해 자원 점유를 공평하게 배분
1. QoS(Quality of Service) 개념과 설정
QoS는 사용자가 제출하는 Job에 적용되는 자원 사용 규칙입니다.
QoS 생성 예시
# 관리자 계정에서 QoS 생성
sacctmgr add qos high_gpu Priority=500 MaxJobsPerUser=2 MaxWall=48:00:00
sacctmgr add qos low_gpu Priority=100 MaxJobsPerUser=10 MaxWall=12:00:00
주요 옵션
- Priority: Job 우선순위 가중치
- MaxJobsPerUser: 사용자별 동시 실행 Job 수 제한
- MaxWall: 최대 실행 시간 제한
- MaxTRESPU: 특정 자원(GPU, CPU, 메모리) 최대 사용량 제한
QoS를 사용자/계정에 적용
sacctmgr modify user username set qos=high_gpu
또는
sacctmgr modify account researchA set qos=low_gpu
운영 팁
- GPU 연구 그룹은 high_gpu, CPU 전용 작업 그룹은 low_gpu로 분리
- 긴급 Job 전용 urgent QoS를 만들어 Preemption과 결합하면 효과적
2. Fairshare 개념과 작동 원리
Fairshare는 과거 자원 사용량을 기반으로 공정한 자원 배분을 하는 정책입니다.
작동 방식:
- Slurm은 각 사용자/계정의 공유 자원 점수를 관리
- 최근 많이 사용한 사용자는 낮은 점수 → 우선순위 낮음
- 사용량이 적은 사용자는 높은 점수 → 우선순위 높음
Fairshare 우선순위 확인
sshare -l
출력 예:
Account User RawShares NormShares RawUsage NormUsage EffectvUsage FairShare
--------------- ------ ---------- ---------- --------- ---------- ------------- ----------
root alice 1 0.5000 1000 0.6000 0.6000 0.4000
root bob 1 0.5000 200 0.4000 0.4000 0.6000
- FairShare 값이 높을수록 Job 우선순위가 높음
Fairshare 설정 예시
slurm.conf에 다음과 같이 설정:
PriorityType=priority/multifactor
PriorityWeightFairshare=10000
- PriorityWeightFairshare 값이 높을수록 Fairshare 비중 증가
3. QoS + Fairshare 결합 정책 예시
| 정책 목적 | QoS 설정 | Fairshare 역할 |
| GPU 자원 독점 방지 | 사용자별 GPU 최대 4개 제한 | GPU 많이 쓴 사용자의 우선순위 낮춤 |
| 장기 Job 제한 | MaxWall=48:00:00 | 사용량 균형 조절 |
| 긴급 Job 우선 실행 | Priority=1000, Preemption 허용 | 이미 높은 우선순위 부여 |
4. QoS/ Fairshare 기반 운영 시나리오
| 상황 | 해결 방법 |
| 특정 사용자가 GPU 16개를 장기 점유 | QoS로 MaxGRESPerUser=4 제한 |
| 소수 사용자만 자원 독점 | Fairshare 활성화로 과거 사용량 많은 사용자 우선순위 낮춤 |
| 긴급 Job 빠른 실행 필요 | urgent QoS 생성 + Preemption 정책 적용 |
5. QoS/ Fairshare 장단점
장점
- 다수 사용자 환경에서 자원 활용의 공정성 보장
- 특정 사용자·Job 유형에 대한 세밀한 정책 설정 가능
- 운영 정책 변경만으로 자원 배분 최적화 가능
단점
- 설정이 복잡하고 사용자 이해도 필요
- Fairshare 점수 산정 로직이 직관적이지 않을 수 있음
6. 실무 팁과 주의사항
- QoS 정책 변경 시 사용자 커뮤니케이션 필수
- Fairshare 점수는 장기간 사용량 추적이 필요하므로 테스트 클러스터에서 먼저 검증
- Preemption과 결합 시, 긴급 Job 처리 속도는 빨라지지만 기존 Job 중단 가능성 주의
- GPU 환경에서는 QoS에 GPU 제한(MaxGRESPerUser)을 반드시 설정
정리하며
QoS와 Fairshare는 Slurm 자원 스케줄링에서 효율성과 공정성을 동시에 달성하는 핵심 도구입니다.
운영자는 클러스터의 목적과 사용자 특성을 고려해 이 두 기능을 적절히 조합해야 합니다.
다음 21편에서는 Preemption과 정책 설정 – 자원 회수와 긴급 Job 처리 전략을 다루어, QoS/Fairshare 기반 정책을 더욱 강력하게 만드는 방법을 소개하겠습니다.
728x90