NVIDIA GPU 지원
와탭 쿠버네티스 에이전트의 GPU 메트릭스 수집 방법
와탭 쿠버네티스 노드 에이전트는 데이터 센터 GPU 관리자(DCGM) Exporter를 사용하여 NVIDIA GPU의 성능 메트릭을 수집하고 모니터링합니다. 해당 과정은 사이드카(Sidecar) 패턴을 활용하여 구성됩니다.
-
사이드카 패턴
DCGM Exporter는 주 애플리케이션 컨테이너와 함께 동일한 Pod 내에서 실행되는 보조 컨테이너로 설정됩니다. 이 사이드카 패턴은 DCGM Exporter가 GPU 상태 정보를 효율적으로 수집할 수 있도록 돕습니다.
-
DCGM Exporter
dcgm-exporter
컨테이너는 NVIDIA의 데이터 센터 GPU 관리자(DCGM)를 통해 GPU의 상태와 성능 관련 지표를 수집합니다. -
메트릭 수집 및 전송
whatap-node-agent
컨테이너는dcgm-exporter
의 HTTP 엔드포인트를 통해 GPU 메트릭을 요청하고 이를 수집합니다.노트dcgm-exporter
의 HTTP 엔드포인트는 보통 포트 9400을 사용합니다. -
MIG 환경 지원
WhaTap Kubernetes는 NVIDIA GPU 클러스터 환경에서 MIG(Multi-Instance GPU) 기능을 지원하여, 물리 GPU 단위뿐만 아니라 MIG 인스턴스까지 세분화된 모니터링을 제공합니다.
MIG 모드를 사용하면 하나의 물리 GPU를 여러 논리 인스턴스로 분할해 워크로드를 격리하고 자원을 할당할 수 있습니다. WhaTap은 이러한 환경에서도 정확한 지표 수집과 시각화를 지원합니다.
노트GPU 모니터링을 위해서 해당 기능을 활성화해야 합니다. 자세한 내용은 GPU 모니터링 설치를 참고하세요.
수집 메트릭스
다음은 DCGM Exporter를 통해 수집되는 주요 GPU 메트릭스 입니다.
항목 | 설명 | 단위 | 메트릭 타입 |
---|---|---|---|
DCGM_FI_DEV_GPU_UTIL | GPU 코어가 활발하게 연산 작업을 수행한 시간의 비율 | % | gauge |
DCGM_FI_PROF_GR_ENGINE_ACTIVE | 그래픽 엔진(3D/Compute)이 활성 상태인 시간의 비율 | Ratio | gauge |
DCGM_FI_PROF_SM_ACTIVE | 하나 이상의 워프(Warp)가 활성 상태인 사이클의 비율 | Ratio | gauge |
DCGM_FI_PROF_SM_OCCUPANCY | SM(Streaming Multiprocessor)의 점유율 (SM 당 상주 워프 비율) | Ratio | gauge |
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE | 텐서 코어(HMMA) 파이프가 활성 상태인 사이클의 비율 | Ratio | gauge |
DCGM_FI_PROF_DRAM_ACTIVE | 메모리 인터페이스가 활성 상태(데이터 송수신)인 사이클의 비율 | Ratio | gauge |
DCGM_FI_DEV_FB_USED | 사용 중인 프레임버퍼(VRAM) 메모리 | MiB | gauge |
DCGM_FI_DEV_FB_FREE | 사용할 수 있는 프레임버퍼(VRAM) 메모리 | MiB | gauge |
DCGM_FI_DEV_FB_TOTAL | 총 프레임버퍼(VRAM) 메모리 | MiB | gauge |
DCGM_FI_DEV_FB_USED_PERCENT | 사용 중인 프레임버퍼(VRAM) 메모리의 백분율 | % | gauge |
DCGM_FI_DEV_FB_RESERVED | 예약된 프레임버퍼 메모리 | MiB | gauge |
DCGM_FI_PROF_PCIE_TX_BYTES | PCIe 버스를 통해 전송(Host → Device)된 총 데이터양 | Bytes | counter |
DCGM_FI_PROF_PCIE_RX_BYTES | PCIe 버스를 통해 수신(Device → Host)된 총 데이터양 | Bytes | counter |
DCGM_FI_DEV_POWER_USAGE | 현재 GPU의 전력 소비량 | W | gauge |
DCGM_FI_DEV_GPU_TEMP | GPU 칩의 현재 온도 | °C | gauge |
DCGM_FI_DEV_SM_CLOCK | SM(Streaming Multiprocessor) 클럭 주파수 | MHz | gauge |
DCGM_FI_DEV_MEM_CLOCK | 메모리 클럭 주파수 | MHz | gauge |
DCGM_FI_DEV_PSTATE | GPU의 현재 성능 상태 (P0가 가장 높음) | P-State | gauge |
DCGM_FI_DEV_ECC_SBE_AGG_TOTAL | 누적된 단일 비트(Single-Bit) 영구 ECC 오류 수 | Count | counter |
DCGM_FI_DEV_ECC_DBE_AGG_TOTAL | 누적된 이중 비트(Double-Bit) 영구 ECC 오류 수 | Count | counter |