GPU 워크로드를 효율적으로 배치하고 최적화하려면 리소스 사용률 및 성능에 대한 가시성이 필요한 경우가 많습니다. AKS(미리 보기)의 관리되는 GPU 메트릭은 NVIDIA GPU 사용 노드 풀에서 GPU 사용률, 메모리 및 성능 데이터의 자동화된 수집 및 노출을 제공합니다. 이를 통해 플랫폼 관리자는 클러스터 리소스 및 개발자를 최적화하여 제한된 수동 계측으로 워크로드를 조정하고 디버그할 수 있습니다.
이 문서에서는 AKS(Azure Kubernetes Service)에서 완전 관리형 GPU 사용 노드 풀(미리 보기)을 사용하여NVIDIA DCGM(Data Center GPU Manager) 내보내기에서 수집한 GPU 메트릭에 대해 알아봅니다.
중요합니다
AKS 미리 보기 기능은 셀프 서비스에서 사용할 수 있습니다(옵트인 방식). 미리 보기는 "있는 그대로" 및 "사용 가능한 상태로" 제공되며 서비스 수준 계약 및 제한적 보증에서 제외됩니다. AKS 미리 보기의 일부는 고객 지원팀에서 최선을 다해 지원합니다. 따라서 이러한 기능은 프로덕션 용도로 사용할 수 없습니다. 자세한 내용은 다음 지원 문서를 참조하세요.
필수 조건
- 완전 관리형 GPU 사용 노드 풀(미리 보기)이 있는 AKS 클러스터에서 GPU가 예약 가능하도록 확인합니다.
- 노드 풀에 배포된 샘플 GPU 워크로드 입니다.
제한점
- 관리되는 GPU 메트릭은 현재 Azure Managed Prometheus 또는 Azure Managed Grafana에서 지원되지 않습니다.
관리되는 GPU 구성 요소가 설치되어 있는지 확인
다음 지침에 따라 관리되는 NVIDIA GPU 노드 풀(미리 보기)을 만든 후 az aks nodepool show 명령을 사용하여 GPU 소프트웨어 구성 요소가 설치되었는지 확인합니다.
az aks nodepool show \
--resource-group <resource-group-name> \
--cluster-name <cluster-name> \
--name <node-pool-name> \
출력에는 다음 값이 포함되어야 합니다.
...
...
"gpuInstanceProfile": …
"gpuProfile": {
"driver": "Install"
},
...
...
GPU 메트릭 이해
GPU 사용률 메트릭
GPU 사용률 메트릭은 GPU의 코어가 작업을 적극적으로 처리하는 시간을 보여 줍니다. 높은 값은 GPU가 많이 사용됨을 나타내며 일반적으로 학습 또는 데이터 처리와 같은 워크로드에 적합합니다. 이 메트릭의 해석은 워크로드 유형을 고려해야 합니다. AI 학습은 일반적으로 사용률을 높게 유지하지만 유추는 버스트 트래픽으로 인해 간헐적으로 사용률을 가질 수 있습니다.
메모리 사용률: 사용 중인 GPU 메모리의 백분율을 표시합니다. 높은 GPU 사용률이 없는 높은 메모리 사용량은 GPU가 메모리 전송을 대기하는 메모리 바인딩 워크로드를 나타낼 수 있습니다. 사용률이 낮은 낮은 메모리 사용량은 워크로드가 너무 작아서 GPU를 완전히 활용하지 못할 수 있습니다.
SM(스트리밍 다중 프로세서) 효율성: GPU의 코어가 사용되는 효율성을 측정합니다. SM 효율성이 낮을 경우 워크로드 불균형 또는 최적이 아닐 커널 디자인으로 인해 코어가 유휴 상태이거나 사용이 미달되었음을 나타냅니다. 높은 효율성은 컴퓨팅이 많은 애플리케이션에 이상적입니다.
메모리 지표
메모리 대역폭 사용률: 사용 중인 이론적 메모리 대역폭의 양을 반영합니다. 컴퓨팅 사용률이 낮은 높은 대역폭 사용률은 메모리 바인딩된 워크로드를 나타낼 수 있습니다. 반대로, 컴퓨팅 및 메모리 대역폭 모두에서 높은 사용률은 균형 잡힌 워크로드를 제안합니다.
메모리 오류: ECC가 활성화된 경우 오류를 추적합니다. 많은 수의 오류는 하드웨어 성능 저하 또는 열 문제를 나타낼 수 있으며 안정성을 모니터링해야 합니다.
온도 및 전원 메트릭
GPU 온도: GPU의 작동 온도를 나타냅니다. 지속적인 고온은 열 스로틀링을 유발하여 성능을 저하할 수 있습니다. 이 메트릭의 이상적인 해석에는 GPU의 열 제한 및 냉각 용량을 기준으로 온도를 관찰하는 것이 포함됩니다.
전원 사용량: 순간적인 전력 드로를 표시합니다. 전력 사용량을 TDP(열 디자인 파워)와 비교하면 GPU가 한계까지 밀려나고 있는지 여부를 이해하는 데 도움이 됩니다. 갑작스러운 전력 감소는 스로틀링 또는 사용 미달을 나타낼 수 있습니다.
클럭 및 주파수 측정
GPU 클록: GPU의 실제 작동 빈도입니다. 사용률과 결합하면 GPU의 잠재력에 비해 GPU가 스로틀링 되거나 성능이 저하되는지를 확인하는 데 도움이 됩니다.
메모리 클록: GPU 메모리의 작동 빈도입니다. 메모리 바인딩 워크로드는 더 높은 메모리 클록의 이점을 얻을 수 있습니다. 메모리와 컴퓨팅 사용률 간의 불일치는 병목 상태를 강조 표시할 수 있습니다.
PCIe 및 NVLink 메트릭
PCIe 대역폭: PCIe 버스의 처리량을 측정합니다. 워크로드 사용률이 낮으면 CPU-GPU 통신이 병목 현상이 아님을 시사할 수 있습니다. 높은 사용률은 성능에 영향을 미치는 데이터 전송 제한을 가리킬 수 있습니다.
NVLink 대역폭: 이 메트릭은 PCIe 대역폭과 유사하지만 NVLink 상호 연결과 관련이 있으며 GPU 간 통신을 위한 다중 GPU 시스템에서 관련이 있습니다. SM 사용률이 낮은 높은 NVLink 사용량은 동기화 또는 데이터 전송 지연을 나타낼 수 있습니다.
오류 및 안정성 메트릭
사용 중지된 페이지 및 XID 오류: GPU 메모리 오류 및 중요한 오류를 추적합니다. 자주 발생하는 경우 잠재적인 하드웨어 오류를 알리고 장기 실행 워크로드에 주의해야 합니다.
해석 지침
DCGM 메트릭은 항상 AKS의 워크로드 유형과 컨텍스트적으로 해석되어야 합니다. 고성능 컴퓨팅 집약적 워크로드는 GPU와 SM의 사용률이 높아야 하며, 메모리 대역폭 사용량이 많고, 스로틀링 임계값 미만의 안정적인 온도를 유지하며, 소비 전력이 TDP 근처 또는 그 이하에 머무는 것이 이상적입니다.
메모리 바인딩된 워크로드는 높은 메모리 사용률과 대역폭을 표시하지만 컴퓨팅 사용률은 낮을 수 있습니다. 온도나 전력 소비가 높은데도 불구하고 사용률이 낮은 것과 같은 이상 현상은 자주 제한, 비효율적인 일정 관리 또는 시스템 수준의 병목 현상을 나타냅니다.
단일 스냅샷이 아닌 시간에 따른 추세를 모니터링하는 것이 중요합니다. 갑자기 사용률이 떨어지거나 오류가 급증하면 프로덕션 워크로드에 영향을 주기 전에 기본 문제가 발생하는 경우가 많습니다. 여러 GPU에서 메트릭을 비교하면 클러스터에서 이상값을 식별하거나 디바이스를 잘못 사용하는 데 도움이 될 수 있습니다. 이러한 메트릭을 격리가 아닌 조합으로 이해하면 GPU 효율성 및 워크로드 성능에 대한 명확한 인사이트를 얻을 수 있습니다.
일반적인 GPU 메트릭
다음 NVIDIA DCGM 메트릭은 일반적으로 Kubernetes에서 GPU 노드 풀의 성능을 평가합니다.
| GPU 메트릭 이름 | Meaning | 일반적인 범위/지표 | 사용 팁 |
|---|---|---|---|
DCGM_FI_DEV_GPU_UTIL |
GPU 사용률(% 시간 GPU 코어가 활성 상태임) | 0~100% (높을수록 더 좋음) | 노드당 및 Pod당 모니터링; 낮은 값은 CPU 또는 I/O 병목 상태를 나타낼 수 있습니다. |
DCGM_FI_DEV_SM_UTIL |
스트리밍 다중 프로세서 효율성(% 활성 코어) | 0-100% | 메모리 사용량이 높은 낮은 값은 메모리 바인딩된 워크로드를 나타냅니다. |
DCGM_FI_DEV_FB_USED |
사용된 프레임 버퍼 메모리(바이트) | 0에서 총 메모리까지 | Pod GPU 메모리 제한 사용 및 Pod당 메모리 사용량 추적 |
DCGM_FI_DEV_FB_FREE |
사용 가능한 GPU 메모리(바이트) | 0에서 총 메모리까지 | 예약 및 OOM 오류 방지에 유용 |
DCGM_FI_DEV_MEMORY_UTIL |
메모리 사용률(%) | 0-100% | GPU/SM 사용률과 결합하여 메모리 바인딩 워크로드 확인 |
DCGM_FI_DEV_MEMORY_CLOCK |
현재 메모리 클록 빈도(MHz) | 0에서 최대 메모리 클록까지 | 높은 메모리 사용률에서 낮은 값은 제한을 나타낼 수 있음 |
DCGM_FI_DEV_POWER_USAGE |
즉각적인 전력 사용량(와트) | 0에서 TDP로 | 높은 사용률 동안 떨어지면 제한을 나타낼 수 있음 |
DCGM_FI_DEV_TEMPERATURE |
GPU 온도(°C) | ~30~85°C 보통 | 지속적인 고온에 대한 경고 |
DCGM_FI_DEV_NVLINK_RX |
NVLink 수신 대역폭 사용률(%) | 0-100% | SM 사용률이 낮은 경우 다중 GPU 동기화 병목 현상 |
DCGM_FI_DEV_XID_ERRORS |
드라이버에서 보고한 GPU 중요 오류 | 일반적으로 0 | 즉각적인 조사가 필요합니다. Kubernetes에서 노드를 오염시킬 수 있습니다. |
GPU 메트릭의 전체 제품군에 대해 알아보려면 NVIDIA DCGM 업스트림 설명서를 참조하세요.
다음 단계
- NPD(Node Problem Detector)를 사용하여 GPU 노드 상태 추적
- AKS 에서 다중 인스턴스 GPU 노드 풀 만들기
- AI 추론 및 미세 조정을 위한 AI 도구 체인 연산자 추가 기능 살펴보기