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:
Deploy workload yang dapat Anda pantau. Untuk mempelajari workload yang didukung, lihat batasan dalam dokumen ini. Untuk mempelajari cara men-deploy workload, lihat Ringkasan opsi deployment.
Pelajari layanan Google Cloud untuk memantau workload:
Metrik dalam dokumen ini menggunakan dasbor Monitoring. Pelajari Dasbor Monitoring, Periode retensi Monitoring, dan Harga Monitoring.
Deteksi straggler juga menyediakan entri log di Cloud Logging. Pelajari Antarmuka logging, Periode retensi logging, dan Harga logging.
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.getpada project -
Untuk membuat dasbor:
monitoring.dashboards.createpada project -
Untuk melihat entri log:
logging.logEntries.listpada 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:
|
| 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
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.) |
|
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:
-
Di konsol Google Cloud , buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
Telusuri metrik berikut:
compute.googleapis.com/instance/gpu/nccl_hangGunakan fitur Aggregation, lalu pilih label berikut:
instance_idhang_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. |
|
StalledRankIssue |
Telemetri heartbeat masih diterima, tetapi peringkat tidak berkembang pada operasi NCCL. |
|
MissingCommunicatorIssue |
Semua peringkat yang termasuk dalam komunikator NCCL telah berhenti membuat progres. |
|
NoHangIssue |
Nilai default. Tidak ada masalah yang terdeteksi. |
|
Lihat metrik
Untuk melihat metrik instance komputasi dan cluster Slurm, gunakan dasbor Monitoring sebagai berikut:
Untuk melihat metrik infrastruktur dan metrik deteksi straggler, Anda dapat melakukan hal berikut:
Untuk ringkasan singkat tentang kondisi dan performa infrastruktur Anda, atau untuk menyesuaikan dasbor yang ada, gunakan dasbor bawaan.
Untuk kebutuhan pemantauan tertentu, buat dasbor kustom.
Untuk melihat metrik workload ML, lihat dokumentasi tentang cara menyiapkan pemantauan untuk workload Anda.
Untuk melihat log dari deteksi straggler, lihat log deteksi straggler.
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:
-
Di konsol Google Cloud , buka halaman Dashboards:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
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.
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:
Pilih metrik yang akan dipantau. Jika Anda belum melakukannya, lihat Metrik yang tersedia dalam dokumen ini.
Melihat log deteksi straggler
Untuk melihat log deteksi straggler menggunakan Logs Explorer, selesaikan langkah-langkah berikut:
-
Di konsol Google Cloud , buka halaman 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.
Gunakan pemilih rentang waktu di toolbar untuk memilih rentang waktu yang ingin Anda analisis.
Di panel Query, masukkan kueri untuk log deteksi straggler.
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.