Memantau instance Compute Engine dan cluster Slurm

Dokumen ini menjelaskan cara menggunakan dasbor Cloud Monitoring untuk memantau instance A4X Max, A4X, A4, A3 Ultra, dan A3 Mega yang Anda buat menggunakan kapasitas terikat pemesanan. Penggunaan dasbor ini membantu Anda mengidentifikasi dan memecahkan masalah bottleneck performa di instance Compute Engine mandiri atau cluster Slurm, sehingga meminimalkan periode nonaktif dalam workload Anda.

Dengan membuat dasbor kustom atau menggunakan dasbor Monitoring bawaan, Anda dapat memantau hal berikut:

  • Kesehatan instance komputasi

  • Performa GPU

  • Efisiensi transmisi jaringan

  • Efisiensi jaringan di antara blok dan sub-blok

  • Efisiensi workload machine learning (ML)

  • Deteksi straggler

  • Deteksi workload yang tidak responsif

Untuk memantau cluster Cluster Director, lihat Memantau performa cluster dengan dasbor bawaan.

Sebelum memulai

Sebelum memantau workload, jika Anda belum melakukannya, selesaikan langkah-langkah berikut:

Saat menggunakan konsol Google Cloud untuk mengakses layanan dan API Google Cloud , Anda tidak perlu menyiapkan autentikasi.

Batasan

  • Metrik dalam dokumen ini hanya didukung untuk workload yang berjalan di instance komputasi yang memenuhi semua kriteria berikut:

    • Instance komputasi harus dibuat sebagai instance Compute Engine mandiri atau sebagai bagian dari cluster Slurm.
    • Instance komputasi harus dibuat menggunakan kapasitas terikat pemesanan.
    • Instance komputasi harus menggunakan seri mesin A4X Max, A4X, A4, A3 Ultra, atau A3 Mega.
      • Namun, deteksi straggler juga mendukung instance virtual machine (VM) yang menggunakan seri mesin A3 Mega.

Untuk memantau metrik workload ML, Anda harus menyiapkan pemantauan untuk workload Anda.

Batasan deteksi straggler

Metrik deteksi straggler memiliki batasan tambahan berikut:

  • Untuk seri mesin yang didukung selain A3 Mega, deteksi straggler hanya mendukung instance komputasi yang memungkinkan library Collective Communication Analyzer (CoMMA) mengekspor telemetri NCCL ke layanan Google Cloud . Untuk mengetahui informasi selengkapnya, lihat Ringkasan CoMMA.
  • Deteksi straggler biasanya memerlukan waktu hingga 10 menit untuk melaporkan straggler.
  • Tidak seperti metrik lain dalam dokumen ini, Anda tidak dapat memfilter metrik deteksi straggler untuk project Anda berdasarkan cluster, blok, sub-blok, atau instance komputasi. Namun, Anda dapat memfilter kueri untuk log deteksi straggler berdasarkan ID dari satu atau beberapa instance komputasi yang dicurigai sebagai straggler.

Batasan deteksi workload yang tidak responsif

Metrik deteksi workload yang tidak responsif hanya mendukung instance komputasi yang menggunakan library Collective Communication Analyzer (CoMMA) untuk mengekspor telemetri NCCL ke layanan Google Cloud . Untuk mengetahui informasi selengkapnya, lihat Ringkasan CoMMA.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna memantau metrik untuk workload AI Hypercomputer, minta administrator untuk memberi Anda peran IAM berikut:

  • Untuk melihat metrik di Cloud Monitoring: Monitoring Editor (roles/monitoring.editor) pada project
  • Untuk melihat log deteksi straggler di Logging: Logs Viewer (roles/logging.viewer) pada project

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk memantau metrik workload AI Hypercomputer. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk memantau metrik workload AI Hypercomputer:

  • Untuk melihat dasbor: monitoring.dashboards.get pada project
  • Untuk membuat dasbor: monitoring.dashboards.create pada project
  • Untuk melihat entri log: logging.logEntries.list pada project

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Metrik yang tersedia

Bergantung pada kasus penggunaan Anda, metrik berikut tersedia untuk memantau instance komputasi dan cluster Slurm:

  • Untuk memantau kondisi, performa, dan performa jaringan GPU yang terpasang ke instance komputasi Anda, lihat Metrik infrastruktur.

  • Untuk memantau efisiensi GPU dalam workload ML Anda, lihat Metrik workload ML.

  • Untuk memantau instance komputasi yang diduga lambat dalam workload ML dengan performa lambat, lihat Metrik deteksi straggler.

Untuk mempelajari cara melihat metrik ini, lihat Memvisualisasikan metrik dalam dokumen ini.

Metrik infrastruktur

Untuk memantau kondisi, performa, dan performa jaringan GPU yang terpasang ke instance komputasi, Anda dapat menggunakan metrik berikut:

Untuk ringkasan metrik yang tersedia di Compute Engine, lihat metrikGoogle Cloud .

Metrik Kesehatan GPU

Untuk memantau kondisi GPU Anda, gunakan metrik berikut:

Nama Jenis metrik Seri mesin yang didukung Deskripsi
Status Mesin machine/machine_status A4X Max, A4X, A4, A3 Ultra, atau A3 Mega Apakah mesin yang digunakan instance komputasi responsif, atau mesin tidak responsif dan memerlukan perbaikan.
Status NVSwitch instance/gpu/nvswitch_status A4X Max, A4X, A4, A3 Ultra, atau A3 Mega Apakah NVLink Switch pada GPU NVIDIA yang terpasang ke instance komputasi mengalami masalah.
Performa Infrastruktur VM instance/gpu/infra_health A4X, A4, A3 Ultra, atau A3 Mega Kondisi cluster, blok, sub-blok, dan host tempat instance komputasi Anda berjalan. Jika metrik ini menunjukkan bahwa infrastruktur instance komputasi tidak responsif, metrik tersebut juga akan menjelaskan masalahnya.
Skor Prediksi Kegagalan VM instance/gpu/failure_prediction_score A4X, A4, A3 Ultra, atau A3 Mega Kemungkinan host tempat instance komputasi berjalan akan mengalami penurunan performa dalam lima jam ke depan. Nilainya dapat antara 0.0 dan 1.0. Semakin dekat nilai tersebut dengan 1.0 selama jangka waktu yang konsisten, semakin besar kemungkinan instance komputasi akan mengalami penurunan performa. Jika demikian, sebaiknya pindahkan tugas ke instance komputasi lain dan, jika Anda mengalami masalah dengan instance komputasi, laporkan host-nya sebagai bermasalah.

Metrik performa GPU

Untuk memantau performa GPU Anda, gunakan metrik berikut:

Nama Jenis metrik Seri mesin yang didukung Deskripsi
Akumulasi Penggunaan Konteks instance/gpu/accumulated_context_utilization_seconds A4X Max, A4X, A4, A3 Ultra, atau A3 Mega Total waktu, dalam detik, saat GPU sibuk memproses workload.
Konsumsi Daya GPU instance/gpu/power_consumption A4X Max, A4X, A4, A3 Ultra, atau A3 Mega Daya dalam watt (W) dan dalam nilai desimal yang digunakan pada setiap GPU di host. Untuk instance komputasi dengan beberapa GPU yang terpasang, metrik ini memberikan konsumsi daya secara terpisah untuk setiap GPU di host.
Pemakaian SM instance/gpu/sm_utilization A4X Max, A4X, A4, A3 Ultra, atau A3 Mega Nilai bukan nol menunjukkan bahwa multiprosesor streaming (SM) di GPU Anda sedang digunakan secara aktif.
Suhu GPU instance/gpu/temperature A4X Max, A4X, A4, A3 Ultra, atau A3 Mega Suhu dalam Celsius (℃) dan dalam nilai desimal GPU individual di host. Untuk instance komputasi dengan beberapa GPU yang terpasang, metrik ini memberikan suhu secara terpisah untuk setiap GPU di host.
Margin Termal GPU instance/gpu/tlimit A4X Max, A4X, A4, A3 Ultra, atau A3 Mega Thermal headroom dalam Celsius (℃) dan dalam nilai desimal yang dimiliki setiap GPU sebelum perlu melambat karena suhu tinggi. Untuk instance komputasi dengan beberapa GPU yang terpasang, metrik ini memberikan headroom termal secara terpisah untuk setiap GPU di host.

Metrik performa jaringan GPU

Untuk memantau performa jaringan GPU Anda, gunakan metrik berikut. Untuk memantau switch jaringan ToR backend, lihat Metrik switch ToR.

Nama Jenis metrik Seri mesin yang didukung Deskripsi
Perubahan Operator Link instance/gpu/link_carrier_changes A4X, A4, A3 Ultra, atau A3 Mega Seberapa sering operator link jaringan berubah dalam satu menit.
RTT Jaringan instance/gpu/network_rtt A4X, A4, A3 Ultra, atau A3 Mega Waktu round-trip, yang diukur dalam mikrodetik, untuk data jaringan yang berpindah antara sumber dan tujuan.
Traffic Jaringan di Antar-Blok instance/gpu/network/inter_block_tx A4X, A4, A3 Ultra, atau A3 Mega Jumlah byte traffic jaringan di antara blok.
Traffic Jaringan di Antar-Sub-blok instance/gpu/network/inter_subblock_tx A4X, A4, A3 Ultra, atau A3 Mega Jumlah byte traffic jaringan di antara sub-blok.
Traffic Jaringan di Intra-Sub-blok instance/gpu/network/intra_subblock_tx A4X, A4, A3 Ultra, atau A3 Mega Jumlah byte traffic jaringan dalam satu sub-blok.
Kecepatan Aktif NVLink instance/gpu/nvlink_active_speed A4X Max, A4X, A4, A3 Ultra, atau A3 Mega Kecepatan port link akses saat ini, dalam GBps.
Throughput Rx Bytes instance/gpu/throughput_rx_bytes A4X, A4, A3 Ultra, atau A3 Mega Jumlah byte yang diterima dari traffic jaringan.
Throughput Tx Bytes instance/gpu/throughput_tx_bytes A4X, A4, A3 Ultra, atau A3 Mega Jumlah byte yang dikirim ke traffic jaringan.

Metrik switch ToR

Untuk cluster A4X Max dan A4X, Anda dapat memantau telemetri switch jaringan ToR backend untuk melakukan hal berikut selama pelatihan ML terdistribusi:

  • Mengamati kondisi switch dan port.
  • Mengevaluasi kapasitas bandwidth yang tersedia dan kedalaman antrean buffer.
  • Mendiagnosis pembuangan paket, error, flap antarmuka, dan peristiwa pengelolaan kemacetan.

Metrik ini menggunakan jenis resource yang dimonitor compute.googleapis.com/NetworkSwitch dan awalan jenis metrik compute.googleapis.com/. Di Metrics Explorer, pilih jenis resource NetworkSwitch (compute.googleapis.com/NetworkSwitch).

Metrik pengalihan diatur ke dalam kategori berikut:

Mengganti metrik kondisi dan status

Gunakan metrik yang tercantum di bagian ini untuk melakukan hal berikut:

  • Memverifikasi status operasional port switch.
  • Memantau penggunaan CPU dan memori switch.
  • Periksa waktu booting untuk mendeteksi mulai ulang yang tidak terduga.
Nama Jenis metrik Seri mesin yang didukung Deskripsi
Status port network_switch/port_status A4X Max atau A4X Menunjukkan status operasional antarmuka fisik (port) pada switch jaringan. Nilai metrik selalu 1 untuk agregasi; status sebenarnya disediakan dalam label status (seperti UP atau DOWN).
Label utama: port_identifier, status, peer_target_identifier, peer_port_identifier, subblock_id, block_id, reservation_id, switch_type.
Pemakaian CPU network_switch/cpu_utilization A4X Max atau A4X Penggunaan CPU switch jaringan, diukur sebagai pecahan dari 0.0 hingga 1.0.
Label kunci: subblock_id, block_id, reservation_id, switch_type.
Memori yang digunakan network_switch/memory_used A4X Max atau A4X Memori yang digunakan oleh switch jaringan, dalam byte.
Label kunci: subblock_id, block_id, reservation_id, switch_type.
Total memori network_switch/total_memory_bytes A4X Max atau A4X Total kapasitas memori switch jaringan, dalam byte.
Label kunci: subblock_id, block_id, reservation_id, switch_type.
Waktu booting network_switch/boot_time_in_ns A4X Max atau A4X Stempel waktu booting switch jaringan, dalam nanodetik sejak epoch Unix.
Label kunci: subblock_id, block_id, reservation_id, switch_type.
Metrik kapasitas dan antrean switch

Untuk melacak kapasitas jaringan dasar versus kapasitas jaringan yang dapat digunakan serta memantau kedalaman antrean buffer dan penurunan antrean pada switch, gunakan metrik berikut:

Nama Jenis metrik Seri mesin yang didukung Deskripsi
Kapasitas dasar network_switch/baseline_capacity_kbps A4X Max atau A4X Total potensi kapasitas bandwidth dasar dari koneksi switch ToR ke superblock, dalam kilobit per detik (kbit/dtk).
Label kunci: subblock_id, block_id, reservation_id, switch_type.
Kapasitas efektif network_switch/effective_capacity_kbps A4X Max atau A4X Kapasitas operasional yang dapat digunakan dari koneksi switch ToR ke superblock, dalam kilobit per detik (kbit/dtk). Metrik ini mencerminkan pengurangan kapasitas yang disebabkan oleh link yang menurun atau offline.
Label kunci: subblock_id, block_id, reservation_id, switch_type.
Kedalaman antrean maksimum egress network_switch/egress_max_queue_depth A4X Max atau A4X Kedalaman antrean maksimum yang diamati selama siklus pengukuran terbaru.
Label kunci: port_identifier, queue_name, subblock_id, block_id, reservation_id, switch_type.
Penurunan antrean egress network_switch/egress_queue_drops_count A4X Max atau A4X Jumlah kumulatif paket yang dihapus dari antrean egress karena kemacetan antrean atau kehabisan buffer.
Label kunci: port_identifier, queue_name, subblock_id, block_id, reservation_id, switch_type.
Dalam penghapusan buffer network_switch/in_buffer_discards A4X Max atau A4X Jumlah kumulatif paket masuk yang dihapus saat masuk karena buffer overflow.
Label tombol: port_identifier, peer_target_identifier, peer_port_identifier, subblock_id, block_id, reservation_id, switch_type.
Metrik penurunan, error, dan kontrol aliran switch

Gunakan metrik di bagian ini untuk mendiagnosis masalah berikut, yang dapat menyebabkan pelatihan terdistribusi terhenti atau waktu tunggu komunikasi kolektif habis (seperti waktu tunggu watchdog NCCL):

  • Penghapusan paket, error transmisi, dan link flap fisik.
  • Error kata koreksi error maju (FEC).
  • Peristiwa pengelolaan kemacetan, seperti jeda Priority-based Flow Control (PFC) dan penandaan Explicit Congestion Notification (ECN).
Nama Jenis metrik Seri mesin yang didukung Deskripsi
Flap antarmuka network_switch/interface_flaps_count A4X Max atau A4X Jumlah kumulatif transisi status link fisik (flap antara UP dan DOWN) pada antarmuka port switch.
Label kunci: port_identifier, subblock_id, block_id, reservation_id, switch_type.
Error kata FEC network_switch/fec_word_error_count A4X Max atau A4X Jumlah kumulatif error kata Forward Error Correction (FEC). Gunakan label boolean correctable (true atau false) untuk membedakan antara error yang dapat diperbaiki dan yang tidak dapat diperbaiki.
Label kunci: port_identifier, correctable, subblock_id, block_id, reservation_id, switch_type.
Paket yang ditandai ECN network_switch/ecn_marked_packets_count A4X Max atau A4X Jumlah kumulatif paket yang ditandai dengan bit Explicit Congestion Notification (ECN) karena melewati batas buffer.
Label kunci: port_identifier, subblock_id, block_id, reservation_id, switch_type.
Paket rx PFC network_switch/pfc_rx_packets_count A4X Max atau A4X Jumlah kumulatif frame jeda Priority-based Flow Control (PFC) yang diterima di port.
Catatan: Hanya berlaku untuk lingkungan khusus tempat PFC diaktifkan.
Label kunci: port_identifier, priority_index, subblock_id, block_id, reservation_id, switch_type.
Paket tx pfc network_switch/pfc_tx_packets_count A4X Max atau A4X Jumlah kumulatif frame jeda Priority-based Flow Control (PFC) yang dikirim dari port untuk membatasi traffic masuk.
Catatan: Hanya berlaku untuk lingkungan khusus tempat PFC diaktifkan.
Label kunci: port_identifier, queue_name, subblock_id, block_id, reservation_id, switch_type.
Paket tx QoS network_switch/qos_tx_packets A4X Max atau A4X Jumlah kumulatif paket Quality of Service (QoS) yang dikirimkan pada antrean yang ditentukan.
Label kunci: port_identifier, queue_name, subblock_id, block_id, reservation_id, switch_type.
Jumlah paket masuk network_switch/in_packets_count A4X Max atau A4X Jumlah kumulatif paket masuk yang diterima di port switch.
Label kunci: port_identifier, subblock_id, block_id, reservation_id, switch_type.
Dalam error network_switch/in_errors A4X Max atau A4X Jumlah kumulatif paket masuk yang diterima dengan error yang mencegahnya dikirim.
Label tombol: port_identifier, peer_target_identifier, peer_port_identifier, subblock_id, block_id, reservation_id, switch_type.
Dalam Pembuangan network_switch/in_discards A4X Max atau A4X Jumlah kumulatif paket masuk yang valid yang dihapus (misalnya, karena kurangnya ruang buffer).
Label tombol: port_identifier, peer_target_identifier, peer_port_identifier, subblock_id, block_id, reservation_id, switch_type.
Error keluar network_switch/out_errors A4X Max atau A4X Jumlah kumulatif paket keluar yang gagal dikirim karena error.
Label tombol: port_identifier, peer_target_identifier, peer_port_identifier, subblock_id, block_id, reservation_id, switch_type.
Pembuangan keluar network_switch/out_discards A4X Max atau A4X Jumlah kumulatif paket keluar yang dipilih untuk dibuang meskipun tidak ada error yang terdeteksi.
Label tombol: port_identifier, peer_target_identifier, peer_port_identifier, subblock_id, block_id, reservation_id, switch_type.
Jumlah byte masuk network_switch/in_bytes_count A4X Max atau A4X Jumlah kumulatif byte masuk yang diterima di port switch.
Label kunci: port_identifier, subblock_id, block_id, reservation_id, switch_type.
Jumlah byte keluar network_switch/out_bytes_count A4X Max atau A4X Jumlah kumulatif byte keluar yang dikirim dari port switch.
Label kunci: port_identifier, subblock_id, block_id, reservation_id, switch_type.

Metrik error fatal GPU

Untuk memantau error yang dialami GPU Anda dan yang mungkin memaksa instance komputasi Anda berhenti, atau berdampak negatif pada performanya, gunakan metrik berikut:

Nama Jenis metrik Seri mesin yang didukung Deskripsi
Error runtime NVLink instance/gpu/nvlink_runtime_error A4X Max atau A4X Apakah terjadi error runtime NVLink.
Error ECC DRAM yang tidak dapat diperbaiki instance/gpu/dram_uncorrectable_ecc_error_count A4X Max atau A4X Jumlah kode koreksi error (ECC) yang tidak dapat dikoreksi dalam memori akses acak dinamis (DRAM) GPU.
Jumlah pemetaan ulang baris DRAM yang tidak dapat diperbaiki instance/gpu/dram_uncorrectable_row_remapping_count A4X Max atau A4X Jumlah pemetaan ulang baris dari error yang tidak dapat diperbaiki di DRAM GPU.
Pemetaan ulang baris DRAM yang tidak dapat diperbaiki gagal instance/gpu/dram_row_remapping_failed A4X Max atau A4X Apakah pemetaan ulang baris di DRAM GPU telah gagal karena salah satu masalah berikut:
  • Upaya pemetaan ulang pada bank memori gagal karena bank memori sudah memiliki delapan baris error yang tidak dapat diperbaiki yang dipetakan ulang.
  • Upaya pemetaan ulang pada baris gagal karena baris tersebut sudah dipetakan ulang.
  • Upaya pemetaan ulang gagal karena total 512 pemetaan ulang telah terjadi.
Error PCIe yang tidak dapat diperbaiki instance/gpu/pcie_fatal_error_count A4X Max atau A4X Jumlah error peripheral component interconnect express (PCIe) yang tidak dapat diperbaiki.
Error ECC cache yang tidak dapat diperbaiki instance/gpu/cache_uncorrectable_ecc_error_count A4X Max atau A4X Jumlah ECC yang tidak dapat diperbaiki dalam memori cache.

Metrik workload ML

Untuk memantau produktivitas—khususnya, goodput—dari workload ML Anda, gunakan metrik berikut:

Nama Jenis metrik Seri mesin yang didukung Deskripsi
Waktu produktif workload/goodput_time A4X, A4, A3 Ultra, atau A3 Mega Waktu, dalam detik, yang dihabiskan workload untuk aktivitas goodput. Aktivitas ini adalah tugas inti yang berguna, seperti forward pass atau backward pass selama pelatihan model.
Waktu tidak produktif workload/badput_time A4X, A4, A3 Ultra, atau A3 Mega Waktu, dalam detik, yang dihabiskan workload untuk aktivitas badput. Aktivitas ini adalah tugas overhead, seperti memuat atau melakukan prapemrosesan data untuk pelatihan.

Metrik deteksi straggler

Metrik deteksi straggler membantu Anda melihat dan menentukan straggler yang dicurigai. Straggler adalah kegagalan satu titik yang tidak menyebabkan error, tetapi pada akhirnya memperlambat seluruh workload.

Untuk memantau deteksi straggler untuk VM Anda, gunakan metrik berikut:

Nama Jenis metrik Seri mesin yang didukung Deskripsi
Suspected Stragglers instance/gpu/straggler_status A4X, A4, A3 Ultra, atau A3 Mega Apakah VM dicurigai sebagai straggler yang memengaruhi performa workload. Sebaiknya Anda mengambil tindakan terhadap straggler yang dicurigai hanya jika metrik lain menunjukkan bahwa workload mengalami masalah.

Anda juga dapat melihat metrik deteksi straggler di entri log untuk instance A4X, A4, A3 Ultra, atau A3 Mega. Misalnya, Anda dapat menggunakan kueri berikut:

Deskripsi Kueri
Log dengan straggler yang dicurigai untuk VM tertentu. Gunakan kueri ini untuk memeriksa apakah ada straggler yang dicurigai untuk workload tertentu dalam project Anda.
    logName=~ "/logs/compute.googleapis.com%2Fworkload_diagnostic" AND jsonPayload.suspectedStragglersDetection.numNodes > 0 AND jsonPayload.suspectedStragglersDetection.nodes.instanceId="INSTANCE_ID"
    

Ganti INSTANCE_ID dengan ID VM. Untuk setiap VM tambahan yang ingin Anda tentukan, tambahkan kondisi berikut ke kueri:

    OR jsonPayload.suspectedStragglersDetection.nodes.instanceId="INSTANCE_ID"
    
Semua log dari deteksi straggler untuk project Anda. Gunakan kueri ini untuk memverifikasi apakah layanan deteksi straggler berjalan saat tidak ada straggler yang dicurigai terdeteksi. (Karena adanya batasan, Anda tidak dapat memfilter log tanpa straggler yang dicurigai berdasarkan VM tertentu.)
    logName=~ "/logs/compute.googleapis.com%2Fworkload_diagnostic"
    

Metrik deteksi straggler sangat membantu untuk workload ML skala besar karena alasan berikut:

  • Workload ML berskala besar sangat rentan terhadap straggler. Workload ML berskala besar menggunakan komputasi sinkron dan terdistribusi secara masif. (Dengan kata lain, sistem ini memiliki banyak komponen yang sangat saling bergantung dan berjalan secara bersamaan.) Arsitektur ini membuat workload ML berskala besar sangat rentan terhadap kegagalan titik tunggal seperti straggler.

  • Menemukan dan mengidentifikasi straggler dalam workload ML berskala besar sangatlah sulit. Sebagai referensi, pertimbangkan bahwa ada dua jenis kegagalan titik tunggal:

    • kegagalan penghentian: Kegagalan yang menyebabkan seluruh sistem berhenti; misalnya error host dan peristiwa pemeliharaan. Masalah ini relatif mudah dideteksi dan diselesaikan.

    • kegagalan lambat: Kegagalan yang menyebabkan penurunan performa yang parah tanpa error. Bug ini sangat sulit untuk diidentifikasi dan di-debug.

    Karena sifatnya yang lambat gagal, straggler pada dasarnya sulit untuk diperhatikan dan diidentifikasi, terutama dalam workload sinkron berskala besar.

Metrik deteksi workload yang tidak responsif

Metrik deteksi workload yang tidak responsif membantu Anda melakukan hal berikut:

  • Perhatikan saat seluruh workload terhenti (terkadang disebut sebagai NCCL hang)
  • Memahami alasan workload terhenti, misalnya apakah disebabkan oleh proses yang error atau jaringan yang terhenti

Untuk mendeteksi dan mendiagnosis workload yang tidak responsif untuk instance komputasi Anda, gunakan metrik berikut:

Nama Jenis metrik Seri mesin yang didukung Deskripsi
Peristiwa workload yang tidak responsif terdeteksi menggunakan telemetri NCCL instance/gpu/nccl_hang A4X Max, A4X, A4, dan A3 Ultra Jumlah peristiwa workload tidak responsif yang terdeteksi, sebagai deret waktu.

Mengaktifkan deteksi workload yang tidak responsif

Untuk mengaktifkan deteksi workload yang tidak responsif, Anda harus mengaktifkan CoMMA dengan telemetri heartbeat, sinyal ping berkala yang menunjukkan bahwa workload sedang berjalan. Untuk versi CoMMA terbaru, fitur ini diaktifkan secara default. Namun, jika Anda menggunakan versi CoMMA dari versi 1.1.1 paket NICCL/gIB, Anda harus mengaktifkan telemetri heartbeat secara manual. Untuk memverifikasi versi paket NICCL/gIB yang Anda gunakan, lihat Memeriksa versi NCCL dan gIB.

Untuk mengaktifkan telemetri heartbeat secara manual untuk CoMMA, tentukan variabel lingkungan berikut di lingkungan pelatihan Anda:

NCCL_PROFILER_HEARTBEAT=true

NCCL_PROFILER_HEARTBEAT_UPLOAD_INTERVAL=10s

Gunakan NCCL_PROFILER_HEARTBEAT untuk mengaktifkan atau menonaktifkan telemetri heartbeat, dan NCCL_PROFILER_HEARTBEAT_UPLOAD_INTERVAL untuk menentukan frekuensi telemetri heartbeat. Untuk mengetahui informasi selengkapnya, lihat Variabel lingkungan CoMMA.

Menonaktifkan deteksi workload yang tidak responsif

Untuk menonaktifkan deteksi workload yang tidak responsif, nonaktifkan telemetri heartbeat di CoMMA dengan menentukan variabel lingkungan berikut di lingkungan pelatihan Anda:

NCCL_PROFILER_HEARTBEAT=false

Memahami alasan workload tidak responsif

Untuk memahami alasan workload tidak responsif, periksa nilai label hang_reason dengan menyelesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman  Metrics explorer:

    Buka Metrics explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Telusuri metrik berikut:

    compute.googleapis.com/instance/gpu/nccl_hang
    
  3. Gunakan fitur Aggregation, lalu pilih label berikut:

    • instance_id
    • hang_reason

Tabel berikut mencantumkan kemungkinan nilai untuk label, arti nilai tersebut tentang workload Anda, dan langkah berikutnya yang direkomendasikan.

Nilai label Deskripsi Rekomendasi langkah selanjutnya
MissingHeartbeatIssue Telemetri heartbeat telah berhenti untuk satu atau beberapa peringkat, yang biasanya menunjukkan error proses atau node yang fatal.
  • Verifikasi apakah instance masih dapat dijangkau.
  • Memverifikasi apakah proses workload mengalami error.
  • Periksa peristiwa kehabisan memori (OOM), seperti dmesg, di log sistem.
  • Cari kegagalan hardware atau error NVIDIA XID.
StalledRankIssue Telemetri heartbeat masih diterima, tetapi peringkat tidak berkembang pada operasi NCCL.
  • Selidiki potensi deadlock dalam operasi tingkat aplikasi.
  • Periksa apakah proses aplikasi macet dalam operasi yang mencegahnya berkomunikasi dengan yang lain, seperti komputasi atau checkpointer.
MissingCommunicatorIssue Semua peringkat yang termasuk dalam komunikator NCCL telah berhenti membuat progres.
  • Workload Anda mungkin telah terganggu, atau komunikator NCCL-nya mungkin telah ditutup secara tiba-tiba. Jika Anda mengharapkan workload berjalan tanpa gangguan pada instance VM ini, periksa apakah workload telah terganggu atau dihentikan secara tidak normal.
NoHangIssue Nilai default. Tidak ada masalah yang terdeteksi.
  • Anda tidak perlu melakukan tindakan apa pun.

Lihat metrik

Untuk melihat metrik instance komputasi dan cluster Slurm, gunakan dasbor Monitoring sebagai berikut:

Jika Anda mengalami masalah saat menggunakan dasbor, lihat Memecahkan masalah performa lambat.

Menggunakan dasbor bawaan

Anda dapat menggunakan dasbor Monitoring yang dibuat khusus untuk AI Hypercomputer guna melihat metrik untuk instance komputasi dan cluster Slurm Anda. Anda juga dapat membuat salinan dasbor bawaan dan mengubahnya agar sesuai dengan kebutuhan Anda.

Untuk menggunakan dasbor bawaan untuk AI Hypercomputer, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman  Dashboards:

    Buka Dashboards

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di kolom Name, klik nama salah satu dasbor berikut berdasarkan metrik yang ingin Anda lihat:

    • Untuk memantau kondisi instance komputasi, performa GPU, dan deteksi straggler, gunakan dasbor Cluster Director Health Monitoring.

      Untuk mengetahui informasi selengkapnya tentang cara menggunakan metrik ini untuk mengidentifikasi dan menganalisis masalah, gunakan juga dasbor playbook GCE Interactive Playbook - Cluster Director Health Monitoring.

    • Untuk memantau efisiensi transmisi jaringan, gunakan dasbor Cluster Director Transmission Efficiency.

    • Untuk memantau efisiensi jaringan di antara blok dan sub-blok, gunakan dasbor Cluster Director Block Network.

      Untuk mengetahui informasi selengkapnya tentang cara menggunakan metrik ini untuk mengidentifikasi dan menganalisis masalah, gunakan juga dasbor playbook GCE Interactive Playbook - Cluster Director Block Network.

    Halaman detail dasbor yang Anda pilih akan terbuka. Anda dapat menggunakan pemilih rentang waktu di toolbar untuk mengubah rentang waktu data.

  3. Opsional: Untuk membuat salinan dasbor dan menyesuaikannya agar sesuai dengan kebutuhan Anda, klik Salin dasbor.

Membuat dasbor kustom

Untuk membuat dasbor Monitoring kustom, lakukan hal berikut:

  1. Pilih metrik yang akan dipantau. Jika Anda belum melakukannya, lihat Metrik yang tersedia dalam dokumen ini.

  2. Membuat dan mengelola dasbor kustom.

Melihat log deteksi straggler

Untuk melihat log deteksi straggler menggunakan Logs Explorer, selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Logs Explorer:

    Buka Logs Explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

    Halaman ini mengkueri semua log dalam project Anda secara default. Klik Hentikan kueri.

  2. Gunakan pemilih rentang waktu di toolbar untuk memilih rentang waktu yang ingin Anda analisis.

  3. Di panel Query, masukkan kueri untuk log deteksi straggler.

  4. Klik Run Query.

Berikut adalah contoh entri log deteksi straggler.

  {
    ...
    "jsonPayload": {
      ...
      "@type": "type.googleapis.com/ml.aitelemetry.performancedebugging.output.NetworkStragglersOutput",
      "suspectedStragglersDetection": {
        "numNodes": 4,
        "nodes": [
          {
            "latencyMs": 9,
            "instanceId": "INSTANCE_ID_1"
          },
          {
            "latencyMs": 9,
            "instanceId": "INSTANCE_ID_2"
          },
          {
            "instanceId": "INSTANCE_ID_3",
            "latencyMs": 4
          },
          {
            "instanceId": "INSTANCE_ID_4",
            "latencyMs": 0
          }
        ],
        "message": "Suspected stragglers detected."
      }
    },
    "resource": {
      "type": "project",
      "labels": {
        "project_id": "PROJECT_NUMBER"
      }
    },
    ...
    "severity": "INFO",
    "logName": "projects/PROJECT_ID/logs/compute.googleapis.com%2Fworkload_diagnostic",
    ...
  }
  

Entri log ini mencakup kolom berikut:

  • numNodes: Jumlah instance komputasi yang diduga lambat yang terdeteksi dalam project. Dalam contoh ini, empat instance komputasi yang diduga lambat telah terdeteksi.
  • instanceId: ID instance komputasi yang terdeteksi sebagai straggler yang dicurigai.

Langkah berikutnya