Dokumen ini menjelaskan Collective Communication Analyzer (CoMMA), a library untuk mengumpulkan telemetri NCCL untuk Google Cloud layanan. Telemetri NCCL mengumpulkan metrik performa dan peristiwa operasional yang dihasilkan NCCL selama eksekusinya. The NVIDIA Collective Communication Library (NCCL) mempercepat komunikasi berperforma tinggi antar-GPU yang berjalan di sistem komputasi paralel dan terdistribusi. Komunikasi berperforma tinggi ini sangat berguna untuk deep learning dan komputasi berperforma tinggi (HPC).
Untuk NCCL versi 2.23 dan yang lebih baru, NVIDIA memperkenalkan NCCL profiler plugin API, yang memungkinkan developer mendaftarkan callback fungsi untuk mengumpulkan telemetri selama operasi kolektif NCCL. Google menyediakan Collective Communication Analyzer (CoMMA), yang merupakan library yang menggunakan NCCL profiler plugin API NVIDIA untuk mengumpulkan telemetri NCCL untuk Google Cloud layanan. CoMMA otomatis diinstal dan diaktifkan untuk beberapa image, tetapi Anda juga dapat menonaktifkan, mengaktifkan kembali, atau menginstal dan mengaktifkan CoMMA secara manual untuk mengontrol pengumpulan data.
Image yang mengaktifkan CoMMA
Untuk jenis mesin A4X Max, A4X, A4, A3 Ultra, A3 Mega, dan A3 High (8 GPU), CoMMA diinstal dan otomatis diaktifkan saat Anda menggunakan image yang mengemas plugin gIB NCCL. Image berikut berisi plugin gIB NCCL:
- Image node Container-Optimized OS dengan containerd (cos_containerd): Google Kubernetes Engine (GKE) menggunakan image ini untuk membuat
cluster GKE Autopilot. Biner CoMMA tersedia di direktori
/home/kubernetes/bin/gib. - Image container Deep Learning Software Layer: Anda menggunakan image ini untuk men-deploy dan mengonfigurasi framework AI dan ML dan library di cluster GKE.
Jika Anda menggunakan salah satu image ini dan ingin menonaktifkan CoMMA agar tidak mengumpulkan telemetri NCCL, lihat Menonaktifkan CoMMA. Namun, CoMMA harus diaktifkan agar fitur seperti deteksi straggler atau deteksi workload yang tidak responsif dapat berfungsi. Jika Anda tidak menggunakan image ini dan ingin mengaktifkan CoMMA untuk mengumpulkan telemetri NCCL, lihat Menginstal CoMMA.
Manfaat
Telemetri NCCL yang dikumpulkan CoMMA membantu mengidentifikasi bottleneck performa, khususnya straggler, dalam komunikasi GPU. CoMMA mengumpulkan data mendetail, seperti histogram latensi untuk operasi komunikasi kolektif. Layanan diagnostik kemudian dapat memproses dan menggunakan data ini untuk menentukan straggler.
Menggunakan CoMMA untuk mengumpulkan telemetri memberikan manfaat berikut:
Diperlukan untuk deteksi straggler dan deteksi workload yang tidak responsif: CoMMA mengumpulkan telemetri NCCL mendetail untuk mengidentifikasi performa bottleneck atau straggler dalam komunikasi GPU-ke-GPU. CoMMA menyediakan telemetri NCCL mendetail yang membantu mengidentifikasi dan menyelesaikan masalah dalam workload pelatihan AI dan ML skala besar.
Misalnya, CoMMA menangkap algoritma yang digunakan dalam operasi NCCL. Informasi ini berharga untuk analisis dan penyesuaian performa karena algoritma yang berbeda dapat memiliki karakteristik performa yang sangat bervariasi berdasarkan workload dan konfigurasi sistem.
CoMMA juga membantu memecahkan masalah performa dan error yang tidak optimal. CoMMA melacak error yang berasal dari lapisan transpor tingkat bawah, seperti TCP, RDMA, atau switch fabric, kembali ke kolektif NCCL tertentu dan node yang memulai. CoMMA dapat mengenali kapan sinyal telemetri detak jantung berhenti merespons dan melacak potensi penyebab workload yang tidak responsif.
Pelacakan overhead rendah: CoMMA menggunakan resource komputasi minimal selama pengumpulan telemetri NCCL aktif, sehingga ideal untuk workload machine learning yang sensitif terhadap performa dan berjalan lama seperti pelatihan model bahasa besar (LLM) training.
Memperluas cakupan telemetri NCCL: CoMMA menggunakan NCCL profiler plugin API. API ini mengumpulkan cakupan telemetri NCCL yang lebih luas dibandingkan dengan plugin berbasis transpor. Plugin berbasis transpor terutama mengumpulkan telemetri tentang transpor jaringan yang mendasarinya, termasuk transfer data melalui hardware jaringan dan protokol jaringan. Plugin profiler mengumpulkan telemetri untuk operasi komunikasi NCCL, termasuk waktu komunikasi kolektif, operasi proxy, dan transfer data.
Memahami cara kerja CoMMA
Selama runtime aplikasi, NCCL otomatis memuat library CoMMA yang diinstal di lokasi yang ditentukan oleh variabel lingkungan LD_LIBRARY_PATH. CoMMA kemudian mengumpulkan telemetri NCCL, yang dapat digunakan oleh layanan Google lainnya. Anda juga dapat mengekspor data ini secara opsional ke sistem file lokal.
Langkah berikutnya
- Pelajari cara mengaktifkan, menonaktifkan, dan mengonfigurasi CoMMA.
- Pelajari cara me mecahkan masalah CoMMA.
- Pelajari cara mendeteksi dan mengatasi straggler.
- Pelajari cara mendeteksi workload yang tidak responsif.