DCGM 측정항목 수집 및 보기


GKE가 NVIDIA Data Center GPU Manager(DCGM) 측정항목을 Cloud Monitoring으로 전송하도록 구성하여 GPU 사용률, 성능, 상태를 모니터링할 수 있습니다.

DCGM 측정항목을 사용 설정하면 GKE는 DCGM-Exporter 도구와 Google 관리 GPU 드라이버를 설치하고 ClusterPodMonitoring 리소스를 배포하여 측정항목을 Google Cloud Managed Service for Prometheus로 전송합니다.

DCGM 측정항목 집합을 맞춤설정하거나 관리형 DCGM 측정항목의 요구사항을 충족하지 않는 클러스터가 있는 경우 자체 관리형 DCGM을 구성할 수도 있습니다.

DCGM 소개

DCGM, 즉 NVIDIA의 Data Center GPU Manager는 NVIDIA GPU를 관리하고 모니터링할 수 있는 NVIDIA의 도구 모음입니다. DCGM은 GPU 사용률, 성능, 상태를 종합적으로 보여줍니다.

  • GPU 사용률 측정항목은 모니터링되는 GPU의 사용 수준과 GPU가 작업 처리에 효과적으로 사용되는지를 나타냅니다. 여기에는 핵심 처리, 메모리, I/O, 전력 사용량 관련 측정항목이 포함됩니다.
  • GPU 성능 측정항목은 GPU가 계산 태스크를 얼마나 효과적이고 효율적으로 수행할 수 있는지를 나타냅니다. 여기에는 클럭 속도 및 온도 측정항목이 포함됩니다.
  • NVlink 및 PCIe와 같은 GPU I/O 측정항목은 데이터 전송 대역폭을 측정합니다.

시작하기 전에

시작하기 전에 다음 태스크를 수행했는지 확인합니다.

  • Google Kubernetes Engine API를 사용 설정합니다.
  • Google Kubernetes Engine API 사용 설정
  • 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치한 경우 gcloud components update를 실행하여 최신 버전을 가져옵니다.

NVIDIA Data Center GPU Manager(DCGM) 측정항목 요구사항

NVIDIA Data Center GPU Manager(DCGM) 측정항목을 수집하려면 GKE 클러스터가 다음 요구사항을 충족해야 합니다.

DCGM 측정항목 수집 구성

Google Cloud 콘솔, gcloud CLI 또는 Terraform을 사용하여 GKE가 기존 클러스터의 DCGM 측정항목을 수집하도록 할 수 있습니다.

콘솔

  1. GPU 노드 풀을 만듭니다.

    GPU 드라이버 설치에는 기본값 또는 최신을 사용해야 합니다.

  2. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  3. 클러스터 이름을 클릭합니다.

  4. Cloud Monitoring 옆에 있는 을 클릭합니다.

  5. SYSTEMDCGM을 선택합니다.

  6. 저장을 클릭합니다.

gcloud

  1. GPU 노드 풀을 만듭니다.

    --gpu-driver-version에는 default 또는 latest를 사용해야 합니다.

  2. 클러스터를 업데이트합니다.

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --enable-managed-prometheus \
        --monitoring=SYSTEM,DCGM
    

    다음을 바꿉니다.

    • CLUSTER_NAME: 기존 클러스터의 이름입니다.
    • COMPUTE_LOCATION: 클러스터의 Compute Engine 위치입니다.

Terraform

Terraform을 사용하여 DCGM 측정항목 수집을 구성하려면 google_container_cluster용 Terraform 레지스트리에서 monitoring_config 블록을 참조하세요. Terraform과 함께 Google Cloud를 사용하는 방법에 대한 일반적인 내용은 Google Cloud에서 Terraform을 참조하세요.

DCGM 측정항목 사용

Google Cloud 콘솔의 대시보드를 사용하거나 클러스터 개요 및 클러스터 세부정보 페이지에서 직접 DCGM 측정항목을 볼 수 있습니다. 자세한 내용은 관측 가능성 측정항목 보기를 참조하세요.

Grafana DCGM 측정항목 대시보드를 사용하여 측정항목을 볼 수 있습니다. 자세한 내용은 Grafana를 사용하여 쿼리를 참조하세요. 오류가 발생하면 API 호환성을 참조하세요.

가격 책정

DCGM 측정항목은 Google Cloud Managed Service for Prometheus를 사용하여 측정항목을 Cloud Monitoring에 로드합니다. Cloud Monitoring은 수집된 샘플의 수를 기준으로 이러한 측정항목의 수집에 대한 요금을 청구합니다. 하지만 이러한 측정항목은 GKE Enterprise 버전이 사용 설정된 프로젝트에 속한 등록된 클러스터에 대해 무료로 제공됩니다.

자세한 내용은 Cloud Monitoring 가격 책정을 참조하세요.

할당량

DCGM 측정항목은 Cloud Monitoring API의 분당 시계열 수집 요청 할당량을 사용합니다. 측정항목 패키지를 사용 설정하기 전에 해당 할당량의 최근 최고 사용량을 확인하세요. 동일한 프로젝트에 클러스터가 많거나 이미 할당량 한도에 도달한 경우 관측 가능성 패키지를 사용 설정하기 전에 할당량 한도 상향 조정을 요청할 수 있습니다.

DCGM 측정항목

이 테이블의 Cloud Monitoring 측정항목 이름에는 prometheus.googleapis.com/ 프리픽스를 붙여야 합니다. 테이블의 항목에서는 이 프리픽스가 생략되었습니다.

prometheus_target 모니터링 리소스의 라벨과 함께 GKE에서 수집된 모든 DCGM 측정항목에는 다음 라벨이 연결됩니다.

GPU 라벨:

  • UUID: GPU 기기 UUID
  • device: GPU 기기 이름
  • gpu: 노드에 있는 GPU 기기의 색인 번호(정수). 예를 들어 GPU가 8개 연결되어 있으면 이 값의 범위는 0~7입니다.
  • modelName: GPU 기기 모델의 이름(예: NVIDIA L4)

Kubernetes 라벨:

  • container: GPU 기기를 사용하는 Kubernetes 컨테이너의 이름
  • namespace: GPU 기기를 사용하는 포드 및 컨테이너의 Kubernetes 네임스페이스
  • pod: GPU 기기를 사용하는 Kubernetes 포드
PromQL 측정항목 이름
Cloud Monitoring 측정항목 이름
종류, 유형, 단위
모니터링 리소스
필수 GKE 버전
설명
DCGM_FI_DEV_FB_FREE
DCGM_FI_DEV_FB_FREE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
사용 가능한 프레임 버퍼(MB)입니다.
DCGM_FI_DEV_FB_TOTAL
DCGM_FI_DEV_FB_TOTAL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
GPU의 총 프레임 버퍼(MB)입니다.
DCGM_FI_DEV_FB_USED
DCGM_FI_DEV_FB_USED/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
사용된 프레임 버퍼(MB)입니다.
DCGM_FI_DEV_GPU_TEMP
DCGM_FI_DEV_GPU_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
기기의 현재 온도 판독값(°C)입니다.
DCGM_FI_DEV_GPU_UTIL
DCGM_FI_DEV_GPU_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
GPU 사용률(%)입니다.
DCGM_FI_DEV_MEM_COPY_UTIL
DCGM_FI_DEV_MEM_COPY_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
메모리 사용률(%)입니다.
DCGM_FI_DEV_MEMORY_TEMP
DCGM_FI_DEV_MEMORY_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
기기의 메모리 온도(°C)입니다.
DCGM_FI_DEV_POWER_USAGE
DCGM_FI_DEV_POWER_USAGE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
기기의 전원 사용량(와트)입니다.
DCGM_FI_DEV_SM_CLOCK
DCGM_FI_DEV_SM_CLOCK/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
SM 클럭 주파수(MHz)입니다.
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION/counter

CUMULATIVEDOUBLE1 prometheus_target
1.30.1-gke.1204000
드라이버가 마지막으로 새로고침된 이후 GPU의 총 에너지 소비량(mJ)입니다.
DCGM_FI_PROF_DRAM_ACTIVE
DCGM_FI_PROF_DRAM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
기기 메모리 인터페이스가 데이터를 송수신하는 활성 상태인 주기의 비율입니다.
DCGM_FI_PROF_GR_ENGINE_ACTIVE
DCGM_FI_PROF_GR_ENGINE_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
그래픽 엔진이 활성 상태인 시간의 비율입니다.
DCGM_FI_PROF_NVLINK_RX_BYTES
DCGM_FI_PROF_NVLINK_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
헤더와 페이로드를 모두 포함한 활성 NvLink rx(읽기) 데이터의 비율(바이트)입니다.
DCGM_FI_PROF_NVLINK_TX_BYTES
DCGM_FI_PROF_NVLINK_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
헤더와 페이로드를 모두 포함한 활성 NvLink tx(전송) 데이터의 비율(바이트)입니다.
DCGM_FI_PROF_PCIE_RX_BYTES
DCGM_FI_PROF_PCIE_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
헤더와 페이로드를 모두 포함한 활성 PCIe rx(읽기) 데이터의 비율(바이트)입니다.
DCGM_FI_PROF_PCIE_TX_BYTES
DCGM_FI_PROF_PCIE_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
헤더와 페이로드를 모두 포함한 활성 PCIe tx(전송) 데이터의 비율(바이트)입니다.
DCGM_FI_PROF_PIPE_FP16_ACTIVE
DCGM_FI_PROF_PIPE_FP16_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
fp16 파이프가 활성 상태인 주기의 비율입니다.
DCGM_FI_PROF_PIPE_FP32_ACTIVE
DCGM_FI_PROF_PIPE_FP32_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
fp32 파이프가 활성 상태인 주기의 비율입니다.
DCGM_FI_PROF_PIPE_FP64_ACTIVE
DCGM_FI_PROF_PIPE_FP64_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
fp64 파이프가 활성 상태인 주기의 비율입니다.
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
텐서 파이프가 활성 상태인 주기의 비율입니다.
DCGM_FI_PROF_SM_ACTIVE
DCGM_FI_PROF_SM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
SM에 할당된 워프가 1개 이상인 주기의 비율입니다.

다음 단계