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:
- Cluster harus menjalankan GKE versi 1.30.1-gke.1204000 atau yang lebih baru.
- Pengumpulan metrik sistem harus diaktifkan
- Pengumpulan terkelola Google Cloud Managed Service for Prometheus harus diaktifkan
- Node pool harus menjalankan driver GPU yang dikelola GKE. Artinya, Anda harus membuat node pool menggunakan
default
ataulatest
untuk--gpu-driver-version
. - Untuk GKE versi 1.32.0-gke.1764000 atau yang lebih baru, metrik pembuatan profil dikumpulkan untuk semua jenis GPU yang didukung GKE. Untuk versi GKE yang lebih lama, metrik pembuatan profil hanya dikumpulkan untuk GPU NVIDIA H100 80 GB.
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
-
Anda harus menggunakan Default atau Terbaru untuk Penginstalan Driver GPU.
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik nama cluster Anda.
Di samping Cloud Monitoring, klik edit.
Pilih
SYSTEM
danDCGM
.Klik Simpan.
gcloud
Buat node pool GPU.
Anda harus menggunakan
default
ataulatest
untuk--gpu-driver-version
.Perbarui cluster Anda:
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus \ --monitoring=SYSTEM,DCGM
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang ada.COMPUTE_LOCATION
: lokasi Compute Engine cluster.
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 GPUdevice
: nama perangkat GPU.-
gpu
: nomor indeks sebagai bilangan bulat perangkat GPU di node. Misalnya, jika ada 8 GPU yang terpasang, nilai ini dapat berkisar dari0
hingga7
. modelName
: nama model perangkat GPU, sepertiNVIDIA 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 |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Penyangga Frame Kosong dalam MB. |
DCGM_FI_DEV_FB_TOTAL DCGM_FI_DEV_FB_TOTAL/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Total Frame Buffer GPU dalam MB. |
DCGM_FI_DEV_FB_USED DCGM_FI_DEV_FB_USED/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Penyangga Frame yang Digunakan dalam MB. |
DCGM_FI_DEV_GPU_TEMP DCGM_FI_DEV_GPU_TEMP/gauge |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Penggunaan GPU (dalam %). |
DCGM_FI_DEV_MEM_COPY_UTIL DCGM_FI_DEV_MEM_COPY_UTIL/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Penggunaan memori (dalam %). |
DCGM_FI_DEV_MEMORY_TEMP DCGM_FI_DEV_MEMORY_TEMP/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Suhu memori untuk perangkat (dalam °C). |
DCGM_FI_DEV_POWER_USAGE DCGM_FI_DEV_POWER_USAGE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Penggunaan daya untuk perangkat (dalam Watt). |
DCGM_FI_DEV_SM_CLOCK DCGM_FI_DEV_SM_CLOCK/gauge |
|
GAUGE , DOUBLE , 1
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 |
|
CUMULATIVE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Rasio siklus saat saluran tensor aktif. |
DCGM_FI_PROF_SM_ACTIVE DCGM_FI_PROF_SM_ACTIVE/gauge |
|
GAUGE , DOUBLE , 1
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
- Pelajari cara Melihat metrik kemampuan observasi.