Mengumpulkan dan melihat metrik DCGM


Anda dapat memantau penggunaan, performa, dan kondisi GPU dengan mengonfigurasi GKE untuk mengirim metrik NVIDIA Data Center GPU Manager (DCGM) ke Cloud Monitoring.

Saat Anda mengaktifkan metrik DCGM, GKE akan menginstal alat DCGM-Exporter, menginstal driver GPU yang dikelola Google, dan men-deploy resource ClusterPodMonitoring untuk mengirim metrik ke Google Cloud Managed Service for Prometheus. Untuk cluster GKE baru yang dibuat dengan menjalankan versi 1.32.1-gke.1357000 atau yang lebih baru, paket metrik DCGM diaktifkan secara default. Untuk cluster yang menjalankan versi sebelumnya, Anda dapat mengaktifkan pengumpulan metrik DCGM menggunakan konsol, gcloud CLI, atau Terraform. Google Cloud

Anda juga dapat mengonfigurasi DCGM yang dikelola sendiri jika ingin menyesuaikan kumpulan metrik DCGM atau jika Anda memiliki cluster yang tidak memenuhi persyaratan untuk metrik DCGM terkelola.

Apa itu DCGM

NVIDIA Data Center GPU Manager (DCGM) adalah serangkaian alat dari NVIDIA yang memungkinkan Anda mengelola dan memantau GPU NVIDIA. DCGM mengekspos berbagai struktur dan penghitung observabilitas menggunakan apa yang disebut sebagai fields. Setiap kolom memiliki ID simbolis dan nomor kolom. Anda dapat menemukan daftar lengkapnya di Daftar ID Bidang DCGM NVIDIA.

Jika Anda mengaktifkan metrik DCGM di GKE, metrik yang didukung akan otomatis tersedia di Cloud Monitoring. Metrik tersebut memberikan tampilan komprehensif tentang pemakaian, performa, dan kondisi GPU.

  • Metrik pemakaian GPU menunjukkan seberapa sibuk GPU yang dipantau dan apakah GPU tersebut digunakan secara efektif untuk memproses tugas. Hal ini mencakup metrik untuk pemrosesan inti, memori, I/O, dan penggunaan daya.
  • Metrik performa GPU mengacu pada seberapa efektif dan efisien GPU dapat melakukan tugas komputasi. Hal ini mencakup metrik untuk kecepatan clock dan suhu.
  • Metrik I/O GPU seperti NVlink dan PCIe mengukur bandwidth transfer data.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Persyaratan untuk metrik NVIDIA Data Center GPU Manager (DCGM)

Untuk mengumpulkan metrik NVIDIA Data Center GPU Manager (DCGM), cluster GKE Anda harus memenuhi persyaratan berikut:

Batasan

  • Jika menjalankan paket metrik NVIDIA Data Center GPU Manager (DCGM) yang di-deploy sendiri, Anda harus berhenti mengumpulkannya sebelum mengaktifkan metrik NVIDIA Data Center GPU Manager (DCGM) terkelola. Jika tidak, Anda mungkin akan mendapatkan metrik duplikat atau salah.

  • Metrik DCGM terkelola, termasuk manifes dan image container dasarnya, hanya ditujukan untuk berfungsi di cluster GKE. Jangan gunakan metrik DCGM terkelola secara mandiri atau jalankan di luar GKE.

Mengonfigurasi pengumpulan metrik DCGM

Anda dapat mengaktifkan GKE untuk mengumpulkan metrik DCGM bagi cluster yang sudah ada menggunakan konsol Google Cloud , gcloud CLI, atau Terraform.

Konsol

  1. Buat node pool GPU.

    Anda harus menggunakan Default atau Terbaru untuk Penginstalan Driver GPU.

  2. Buka halaman Google Kubernetes Engine di konsol Google Cloud .

    Buka Google Kubernetes Engine

  3. Klik nama cluster Anda.

  4. Di samping Cloud Monitoring, klik .

  5. Pilih SYSTEM dan DCGM.

  6. Klik Simpan.

gcloud

  1. Buat node pool GPU.

    Anda harus menggunakan default atau latest untuk --gpu-driver-version.

  2. Perbarui cluster Anda:

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

    Ganti kode berikut:

Terraform

Untuk mengonfigurasi pengumpulan metrik DCGM menggunakan Terraform, lihat blok monitoring_config di registri Terraform untuk google_container_cluster. Untuk informasi umum tentang penggunaan Google Cloud dengan Terraform, lihat Terraform dengan Google Cloud.

Menggunakan metrik DCGM

Anda dapat melihat metrik DCGM menggunakan dasbor di konsolGoogle Cloud atau langsung di halaman ringkasan cluster dan detail cluster. Untuk mengetahui informasi, lihat Melihat metrik kemampuan observasi.

Anda dapat melihat metrik menggunakan dasbor metrik DCGM Grafana. Untuk mengetahui informasi selengkapnya, lihat Membuat kueri menggunakan Grafana. Jika Anda mengalami error, lihat Kompatibilitas API.

Harga

Metrik DCGM menggunakan Google Cloud Managed Service for Prometheus untuk memuat metrik ke Cloud Monitoring. Biaya Cloud Monitoring untuk penyerapan metrik ini didasarkan pada jumlah sampel yang diserap. Namun, metrik ini tidak dikenai biaya untuk cluster yang terdaftar yang termasuk dalam project yang telah mengaktifkan edisi GKE Enterprise.

Untuk mengetahui informasi selengkapnya, lihat harga Cloud Monitoring.

Kuota

Metrik DCGM menggunakan kuota Permintaan penyerapan deret waktu per menit dari Cloud Monitoring API. Sebelum mengaktifkan paket metrik, periksa penggunaan puncak terbaru kuota tersebut. Jika memiliki banyak cluster dalam project yang sama atau sudah mendekati batas kuota tersebut, Anda dapat meminta penambahan batas kuota sebelum mengaktifkan salah satu paket kemampuan pengamatan.

Metrik DCGM

Nama metrik Cloud Monitoring dalam tabel ini harus diawali dengan prometheus.googleapis.com/. Awalan tersebut telah dihilangkan dari entri dalam tabel.

Selain label pada resource yang dimonitor prometheus_target, semua metrik DCGM yang dikumpulkan di GKE memiliki label berikut yang dilampirkan padanya:

Label GPU:

  • UUID: UUID perangkat GPU
  • device: nama perangkat GPU.
  • gpu: nomor indeks sebagai bilangan bulat perangkat GPU di node. Misalnya, jika ada 8 GPU yang terpasang, nilai ini dapat berkisar dari 0 hingga 7.
  • modelName: nama model perangkat GPU, seperti NVIDIA L4.

Label Kubernetes:

  • container: nama container Kubernetes yang menggunakan perangkat GPU.
  • namespace: namespace Kubernetes dari Pod dan container yang menggunakan perangkat GPU.
  • pod: Pod Kubernetes yang menggunakan perangkat GPU.
Nama metrik PromQL
Nama metrik Cloud Monitoring
Jenis, Tipe, Unit
Resource yang dimonitor
Versi GKE yang diperlukan
Deskripsi
DCGM_FI_DEV_FB_FREE
DCGM_FI_DEV_FB_FREE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Penyangga Frame Kosong dalam MB.
DCGM_FI_DEV_FB_TOTAL
DCGM_FI_DEV_FB_TOTAL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Total Frame Buffer GPU dalam MB.
DCGM_FI_DEV_FB_USED
DCGM_FI_DEV_FB_USED/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Penyangga Frame yang Digunakan dalam MB.
DCGM_FI_DEV_GPU_TEMP
DCGM_FI_DEV_GPU_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Pembacaan suhu saat ini untuk perangkat (dalam °C).
DCGM_FI_DEV_GPU_UTIL
DCGM_FI_DEV_GPU_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Penggunaan GPU (dalam %).
DCGM_FI_DEV_MEM_COPY_UTIL
DCGM_FI_DEV_MEM_COPY_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Penggunaan memori (dalam %).
DCGM_FI_DEV_MEMORY_TEMP
DCGM_FI_DEV_MEMORY_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Suhu memori untuk perangkat (dalam °C).
DCGM_FI_DEV_POWER_USAGE
DCGM_FI_DEV_POWER_USAGE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Penggunaan daya untuk perangkat (dalam Watt).
DCGM_FI_DEV_SM_CLOCK
DCGM_FI_DEV_SM_CLOCK/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Frekuensi clock SM (dalam MHz).
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION/counter

CUMULATIVEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Total konsumsi energi untuk GPU dalam mJ sejak driver terakhir dimuat ulang.
DCGM_FI_PROF_DRAM_ACTIVE
DCGM_FI_PROF_DRAM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Rasio siklus antarmuka memori perangkat aktif mengirim atau menerima data.
DCGM_FI_PROF_GR_ENGINE_ACTIVE
DCGM_FI_PROF_GR_ENGINE_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Rasio waktu saat mesin grafis aktif.
DCGM_FI_PROF_NVLINK_RX_BYTES
DCGM_FI_PROF_NVLINK_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Kecepatan data rx (baca) NvLink aktif dalam byte, termasuk header dan payload.
DCGM_FI_PROF_NVLINK_TX_BYTES
DCGM_FI_PROF_NVLINK_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Kecepatan data tx (transmit) NvLink aktif dalam byte, termasuk header dan payload.
DCGM_FI_PROF_PCIE_RX_BYTES
DCGM_FI_PROF_PCIE_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Kecepatan data rx (baca) PCIe aktif dalam byte, termasuk header dan payload.
DCGM_FI_PROF_PCIE_TX_BYTES
DCGM_FI_PROF_PCIE_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Kecepatan data tx (transmit) PCIe aktif dalam byte, termasuk header dan payload.
DCGM_FI_PROF_PIPE_FP16_ACTIVE
DCGM_FI_PROF_PIPE_FP16_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Rasio siklus saat pipeline fp16 aktif.
DCGM_FI_PROF_PIPE_FP32_ACTIVE
DCGM_FI_PROF_PIPE_FP32_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Rasio siklus saat pipeline fp32 aktif.
DCGM_FI_PROF_PIPE_FP64_ACTIVE
DCGM_FI_PROF_PIPE_FP64_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Rasio siklus saat saluran fp64 aktif.
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Rasio siklus saat saluran tensor aktif.
DCGM_FI_PROF_SM_ACTIVE
DCGM_FI_PROF_SM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Rasio siklus yang memiliki minimal 1 warp yang ditetapkan oleh SM.

Untuk membantu Anda memahami cara penggunaan metrik ini, kami telah mengelompokkannya sebagai berikut:

Penggunaan Compute atau Core

Metrik ini memungkinkan Anda mengidentifikasi perangkat yang kurang dimanfaatkan dan menyesuaikan alokasi GPU atau komputasi untuk mengoptimalkan pemanfaatan. Penggunaan yang rendah berarti Anda mungkin membayar kapasitas GPU lebih dari yang diperlukan. Metrik ini dapat membantu menghemat biaya dengan menggabungkan komputasi di lebih sedikit perangkat.

DCGM_FI_DEV_GPU_UTIL

Metrik ini menampilkan fraksi waktu saat GPU aktif.

Penggunaan yang diharapkan: Memberikan ringkasan penggunaan GPU rata-rata. Metrik ini mirip dengan DCGM_FI_PROF_GR_ENGINE_ACTIVE, yang bisa menjadi metrik yang lebih akurat untuk pemakaian GPU.

DCGM_FI_PROF_GR_ENGINE_ACTIVE

Metrik ini menunjukkan seberapa sibuknya Mesin Grafis untuk setiap interval pengambilan sampel. Nilai ini berasal dari jumlah rata-rata siklus aktif dibandingkan dengan jumlah maksimum siklus yang mungkin tersedia selama interval pengambilan sampel. Misalnya, jika selama interval pengambilan sampel satu detik, tersedia 1.000 siklus dan rata-rata 324 siklus benar-benar aktif (melakukan pekerjaan), nilai metrik yang dihasilkan adalah 0,324. Hal ini secara kasar dapat ditafsirkan sebagai pemanfaatan (0,324 x 100) 32,4%.

Penggunaan yang diharapkan: Memberikan ringkasan penggunaan GPU rata-rata. Nilai pemakaian yang tinggi secara konsisten menunjukkan bahwa GPU mungkin menjadi hambatan yang menyebabkan masalah performa sistem. Nilai pemakaian yang rendah secara konsisten menunjukkan bahwa aplikasi tidak menggunakan daya pemrosesan yang tersedia sepenuhnya.

DCGM_FI_PROF_PIPE_FP16_ACTIVE, DCGM_FI_PROF_PIPE_FP32_ACTIVE, DCGM_FI_PROF_PIPE_FP64_ACTIVE, DCGM_FI_PROF_PIPE_TENSOR_ACTIVE

Metrik ini menunjukkan rasio siklus yang aktif pada pipeline GPU tertentu selama siklus yang berlalu dengan beban puncak yang berkelanjutan.

Penggunaan yang diharapkan: Mengukur seberapa efektif berbagai pipeline komputasi di GPU digunakan.

DCGM_FI_PROF_SM_ACTIVE

Metrik ini menunjukkan fraksi waktu saat setidaknya satu warp aktif di SM(Streaming Multiprocessor), yang dirata-ratakan di semua SM. Misalnya, jika GPU memiliki 80 SM yang tersedia, dan selama periode pengambilan sampel, 16 SM menjalankan warp, nilai sm_active yang dihasilkan adalah (16/80) 0,20, yang dapat diartikan sebagai 20% SM yang tersedia menjalankan warp.

Penggunaan yang diharapkan: Memberikan ukuran tentang bagaimana paralelisme GPU digunakan.

Penggunaan Memori

Penggunaan utama metrik ini adalah untuk mendeteksi saat perangkat GPU tidak memiliki memori yang cukup untuk aplikasi. Aplikasi tersebut mungkin akan lebih baik jika dialokasikan kapasitas GPU yang lebih besar.

DCGM_FI_DEV_FB_FREE, DCGM_FI_DEV_FB_USED, DCGM_FI_DEV_FB_TOTAL

Metrik ini adalah untuk memori frame buffer, yaitu memori di GPU. Metrik melaporkan memori bebas, memori yang digunakan, yang berjumlah total. Dan juga, total memori yang tersedia.

Penggunaan yang diharapkan: Tentukan pola penggunaan memori GPU. Hal ini memungkinkan Anda mengorelasikan penggunaan memori di GPU yang sebenarnya dengan penggunaan yang diharapkan untuk menentukan efisiensi memori aplikasi mereka.

DCGM_FI_DEV_MEM_COPY_UTIL

Metrik ini menunjukkan fraksi waktu selama periode sampel terakhir saat memori global (perangkat) sedang dibaca atau ditulis.

Penggunaan yang diharapkan: Tentukan pola transfer data ke dan dari memori GPU. Nilai tinggi metrik ini, yang dikombinasikan dengan nilai rendah metrik pemanfaatan komputasi, mungkin menunjukkan bahwa transfer memori adalah penyebab bottleneck dalam aplikasi yang sedang berjalan.

DCGM_FI_PROF_DRAM_ACTIVE

Metrik ini menunjukkan rasio siklus antarmuka memori GPU yang mengirim atau menerima data. Hal ini mencakup pemuatan dan penyimpanan dari thread yang dieksekusi di SM, serta penyalinan memori ke dan dari memori GPU. Nilai yang lebih tinggi menunjukkan tingkat traffic memori yang lebih tinggi.

Penggunaan yang diharapkan: Metrik ini mirip dengan metrik DCGM_FI_DEV_MEM_COPY_UTIL dan metrik ini bisa lebih akurat.

Penggunaan I/O

Metrik berikut memberikan insight tentang penggunaan transmisi data antara GPU dan host, atau antara beberapa perangkat GPU. Salah satu cara untuk menggunakan metrik tersebut adalah dengan mendeteksi kapan aplikasi membebani interkoneksi secara berlebihan. Karena sifat transmisi yang cenderung bergejolak, ada baiknya untuk mempelajari data beresolusi lebih tinggi (misalnya, distribusi) untuk mendapatkan gambaran yang lebih mendetail tentang perilaku interkoneksi.

DCGM_FI_PROF_NVLINK_RX_BYTES, DCGM_FI_PROF_NVLINK_TX_BYTES

Metrik ini menunjukkan throughput transmisi (tx) dan penerimaan (rx) NVLink dalam byte.

Penggunaan yang diharapkan: Lacak beban pada konektor NVLink (antara chip GPU). Jika nilai metrik ini mendekati total bandwidth NVLink yang tersedia dan metrik pemanfaatan komputasi rendah, hal ini mungkin menunjukkan bahwa NVLink menjadi hambatan dalam aplikasi yang sedang berjalan.

DCGM_FI_PROF_PCIE_RX_BYTES, DCGM_FI_PROF_PCIE_TX_BYTES

Metrik ini menunjukkan throughput transmisi (tx) dan penerimaan (rx) PCIe dalam byte, dengan tx adalah GPU yang mengirimkan data, dan rx adalah GPU yang menerima data.

Penggunaan yang diharapkan: Melacak beban pada bus PCIe (antara CPU dan GPU). Jika nilai metrik ini mendekati total bandwidth bus PCIe dan metrik penggunaan komputasi rendah, hal ini mungkin menunjukkan bahwa bus PCIe menjadi hambatan dalam aplikasi yang sedang berjalan.

Penggunaan Daya

Metrik berikut memberikan insight tentang penggunaan daya GPU, yang terkadang sangat penting untuk performa dan efisiensi workload.

DCGM_FI_DEV_GPU_TEMP

Metrik ini menunjukkan suhu rata-rata di semua core GPU.

Penggunaan yang diharapkan: Melacak saat GPU hampir mengalami panas berlebih, sebagian besar untuk dikorelasikan dengan pembatasan clock. Anda juga dapat menggunakan metrik ini untuk mengidentifikasi GPU yang rentan terhadap panas berlebih untuk beban yang lebih ringan dalam aplikasi yang lebih canggih.

DCGM_FI_DEV_POWER_USAGE

Metrik ini menunjukkan konsumsi daya GPU dalam watt. Anda mungkin ingin melacak penggunaan daya sebagai metrik kesibukan GPU. GPU NVIDIA menyesuaikan clock engine berdasarkan jumlah pekerjaan yang sedang dilakukan. Seiring peningkatan kecepatan clock (dan dengan demikian, pemanfaatan), konsumsi daya juga meningkat.

Penggunaan yang diharapkan: Melacak jumlah daya yang digunakan GPU untuk aplikasi pengguna.

DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION

Metrik ini menunjukkan total konsumsi energi GPU dalam millijoule (mJ) setelah driver dimuat ulang terakhir kali. Rasio yang dihitung berdasarkan metrik ini harus sesuai dengan metrik penarikan daya.

Penggunaan yang diharapkan: Melacak jumlah daya yang digunakan GPU untuk aplikasi pengguna.

Metrik Performa GPU

Performa GPU mengacu pada seberapa efektif dan efisien GPU dapat melakukan tugas komputasi.

DCGM_FI_DEV_MEMORY_TEMP

Metrik ini menunjukkan suhu rata-rata blok memori.

Penggunaan yang diharapkan: Untuk menunjukkan suhu blok memori dan menghubungkannya dengan suhu GPU.

DCGM_FI_DEV_SM_CLOCK

Metrik ini menunjukkan kecepatan clock rata-rata di semua SM. Metrik ini dihitung selama interval waktu tertentu.

Penggunaan yang diharapkan: Lacak kecepatan clock untuk mendeteksi pembatasan dan mengorelasikannya dengan performa aplikasi.

Langkah berikutnya