본문 바로가기
문서 목차
ORKESTRIXAI 플랫폼

accelerator_metrics

정보 — 요건 가속기별 사용률·메모리 등을 표준 머신리더블 엔드포인트로 노출하는 솔루션을 최소 하나 운영한다. (OpenTelemetry 정렬 권장; 온도·전력·인터커넥트 대역폭은 가능 시 노출 — SHOULD)

QUANTUM C&S

정보 — 요건

가속기별 사용률 · 메모리 등을 표준 머신리더블 엔드포인트로 노출하는 솔루션을 최소 하나 운영한다. (OpenTelemetry 정렬 권장; 온도 · 전력 · 인터커넥트 대역폭은 가능 시 노출 — SHOULD)

카테고리: 관측성 (Observability) · 수준: MUST · 상태: Implemented

적용 솔루션

QKS는 NVIDIA DCGM Exporter(GPU Operator 관리)를 배포해 per-GPU/per-MIG 메트릭을 Prometheus exposition 형식으로 노출하고, Prometheus가 ServiceMonitor로 수집합니다. 핵심 메트릭은 사용률(DCGM_FI_DEV_GPU_UTIL), 메모리(DCGM_FI_DEV_FB_USED/FREE)이며 온도 · 전력 메트릭도 노출됩니다.

증명 (명령어 + 출력)

1. DCGM Exporter 파드 배포 확인

$ kubectl get pods -A -l app=nvidia-dcgm-exporter -o wide
NAMESPACE      NAME                         READY   STATUS    RESTARTS   AGE   IP              NODE    NOMINATED NODE   READINESS GATES
gpu-operator   nvidia-dcgm-exporter-mlbwt   1/1     Running   0          36d   10.244.70.111   qcs07   <none>           <none>
gpu-operator   nvidia-dcgm-exporter-qmz46   1/1     Running   0          84d   10.244.205.19   qcs05   <none>           <none>

# captured: 2026-07-02T01:50:41Z

2. /metrics 엔드포인트 — per-GPU(MIG 인스턴스별) 메모리 메트릭

$ curl -s localhost:9400/metrics | grep -E 'DCGM_FI_DEV_GPU_UTIL|DCGM_FI_DEV_FB_USED|DCGM_FI_DEV_FB_FREE' | head -40
# HELP DCGM_FI_DEV_FB_USED Framebuffer memory used (in MiB).
# TYPE DCGM_FI_DEV_FB_USED gauge
DCGM_FI_DEV_FB_USED{gpu="0",UUID="GPU-ac963892-…",modelName="NVIDIA RTX PRO 6000 Blackwell Server Edition",GPU_I_PROFILE="4g.95gb",GPU_I_ID="0",Hostname="qcs07",container="kserve-container",namespace="ai-KosmosAI",pod="qwen-qwen3-6-27b-fp8-serving-predictor-849686d494-fnmdh"} 93303
DCGM_FI_DEV_FB_USED{gpu="1",UUID="GPU-d98a7b20-…",modelName="NVIDIA RTX PRO 6000 Blackwell Server Edition",GPU_I_PROFILE="1g.24gb",GPU_I_ID="3",Hostname="qcs07",container="kserve-container",namespace="ai-KosmosAI",pod="opendatalab-mineru2-5-pro-2604-1-2b-serving-predictor-65dcdrgq5"} 22443
DCGM_FI_DEV_FB_USED{gpu="1",UUID="GPU-d98a7b20-…",modelName="NVIDIA RTX PRO 6000 Blackwell Server Edition",GPU_I_PROFILE="1g.24gb",GPU_I_ID="4",Hostname="qcs07",container="kserve-container",namespace="ai-KosmosAI",pod="qwen3-qwen3-embedding-0-6b-predictor-576cf67f67-kzrz5"} 21763
…(MIG 인스턴스별 라인 계속, UUID 일부 축약)

# captured: 2026-07-02T01:50:45Z

→ 파드/네임스페이스 라벨과 함께 MIG 인스턴스(GPU_I_ID) 단위 메모리 사용량이 노출됨.

3. (SHOULD 가점) 사용률 · 온도 · 전력 계열 메트릭

MIG 환경에서는 사용률이 DCGM_FI_PROF_GR_ENGINE_ACTIVE(엔진 활성률)로 노출되며, 온도(DCGM_FI_DEV_GPU_TEMP) · 전력(DCGM_FI_DEV_POWER_USAGE)도 수집됩니다.

$ curl -s localhost:9400/metrics | grep -E 'DCGM_FI_DEV_GPU_TEMP|DCGM_FI_DEV_POWER_USAGE|DCGM_FI_PROF_NVLINK|DCGM_FI_PROF_GR_ENGINE_ACTIVE'
DCGM_FI_PROF_GR_ENGINE_ACTIVE{gpu="1",…,GPU_I_PROFILE="1g.24gb",GPU_I_ID="6",Hostname="qcs07"} 0.000000
…(이하 생략)

# captured: 2026-07-02T01:49:43Z

4. Prometheus 수집 확인 (ServiceMonitor + 쿼리)

$ kubectl get servicemonitor,podmonitor -A | grep -i dcgm
gpu-operator   servicemonitor.monitoring.coreos.com/nvidia-dcgm-exporter   106d

$ curl -s 'http://localhost:9090/api/v1/query?query=DCGM_FI_DEV_GPU_UTIL'
{"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"DCGM_FI_DEV_GPU_UTIL","Hostname":"qcs05","modelName":"NVIDIA L40S","job":"nvidia-dcgm-exporter","namespace":"gpu-operator",…},"value":[1782957048.215,"0"]}]}}

# captured: 2026-07-02T01:50:46Z

관련 링크

  • 재현 스크립트: conformance/09-accelerator-metrics/accelerator-metrics-verify.sh