HPC & GPU Engineering/Platform Essentials

📘 고성능 AI 컴퓨팅 인프라 용어 사전 (31) – GPU-aware AutoScaler: 자동 자원 조절 전략

ygtoken 2025. 8. 4. 22:45
728x90

AI 워크로드는 다음과 같은 특징이 있습니다:

 

  • GPU를 쓰는 동안에는 매우 집중적으로 사용하지만
  • 끝나면 한동안 아무것도 안 함 (idle)
  • 처리량은 시점마다 급격히 변동

 

이런 환경에서 고정된 GPU 노드 수로 클러스터를 운영한다면?

 

  • 자원 낭비
  • 비용 증가
  • GPU 부족 시 대기 발생

 

따라서 AI 인프라에서는

GPU-aware AutoScaler를 통해 GPU 사용량 기반으로

Pod이나 노드를 자동으로 축소/확대하는 구조가 필수입니다.

 


AutoScaler란?

종류 설명
Horizontal Pod Autoscaler (HPA) Pod 개수를 CPU/GPU 사용률 기준으로 자동 조정
Vertical Pod Autoscaler (VPA) Pod에 할당된 리소스 (limit/request)를 자동 조정
Cluster Autoscaler (CA) 전체 노드 수를 자동 조정 (노드 풀 스케일 인/아웃)

 


GPU-aware란?

 

기본 K8s AutoScaler는 CPU/Memory만 감지

GPU 사용률(metric), 할당 여부, GPU idle 상태 등을 감지하려면

별도의 커스텀 로직 또는 외부 컨트롤러가 필요

 


AutoScaling 전략 유형

전략 설명
사용률 기반 (Utilization-based) GPU 사용률이 일정 % 이상이면 확장
큐 기반 (Queue-based) 실행 대기 Job이 있을 때 확장
이벤트 기반 (Event-triggered) 특정 Job 완료, 시간 등 조건에 따라 조정
예약 기반 (Reservation-aware) 미리 예약된 Job 수량에 따라 확장

 


GPU-aware AutoScaler 구성요소

구성 역할
Metric Exporter GPU 사용률 수집 (DCGM, nvidia-dcgm-exporter)
Prometheus + Custom Rule GPU 사용률 기반 알림/트리거 생성
K8s Autoscaler Trigger에 따라 Pod/Node 자동 조정
Custom Controller GPU 상태 감지 + 조건 설정 + 실행 로직
Job Scheduler 연동 Slurm, Volcano 등과 연계 가능

 


실전 적용 예시

 

  • 모델 추론 서비스에서 GPU 사용률이 80% 초과 시 Pod 2개 추가
  • idle GPU가 10분 이상 지속되면 Node 자동 제거
  • 신규 학습 Job 대기 중 → Node Group 확장
  • Reserved Node + Spot Node를 구분하여 AutoScaler 우선순위 설정

 


도구 및 프레임워크

도구 설명
K8s Cluster Autoscaler 기본 노드 스케일 인/아웃 지원
Karpenter (AWS) 조건 기반 Pod placement + 확장
Volcano Scheduler AI Job 기반 GPU-aware 배치 + Autoscale 연계
DCGM Exporter GPU 사용률을 Prometheus로 수집
nvidia-k8s-device-plugin GPU 상태 인식 및 헬스 체크

 


마무리

 

AI 인프라는 “필요할 때만 GPU를 쓰는 구조”로 가야

비용 낭비 없이 안정적인 서비스가 가능합니다.

 

GPU-aware AutoScaler는 AI 인프라의 “반응성”과 “비용 최적화”를 모두 만족시키는 핵심 전략입니다.

 

 

728x90