Dokumen ini menjelaskan Collective Communication Analyzer (CoMMA), sebuah library untuk mengumpulkan telemetri NCCL untuk layanan Google Cloud . Telemetri NCCL mengumpulkan metrik performa dan peristiwa operasional yang dihasilkan NCCL selama eksekusinya. NVIDIA Collective Communication Library (NCCL) mempercepat komunikasi berperforma tinggi antara GPU yang berjalan secara paralel dan sistem komputasi 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 API plugin profiler NCCL, yang memungkinkan developer mendaftarkan callback fungsi untuk mengumpulkan telemetri selama operasi kolektif NCCL. Google menyediakan Collective Communication Analyzer (CoMMA), yang merupakan library yang menggunakan API plugin profiler NCCL NVIDIA untuk mengumpulkan telemetri NCCL untuk layanan Google Cloud . CoMMA otomatis diinstal dan diaktifkan untuk beberapa gambar, tetapi Anda juga dapat menonaktifkan, mengaktifkan kembali, atau menginstal dan mengaktifkan CoMMA secara manual untuk mengontrol pengumpulan data.
Gambar yang mengaktifkan CoMMA
Untuk jenis mesin A4X Max, A4X, A4, A3 Ultra, A3 Mega, dan A3 High (8 GPU), CoMMA diinstal dan diaktifkan secara otomatis saat Anda menggunakan image yang memaketkan plugin NCCL Google Infrastructure Bundle (gIB). Gambar 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 dan library AI dan ML di cluster GKE.
Jika Anda menggunakan salah satu gambar dan ingin menonaktifkan CoMMA agar tidak mengumpulkan telemetri NCCL, lihat Menonaktifkan CoMMA. Namun, CoMMA harus diaktifkan agar fitur seperti deteksi keterlambatan 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 hambatan performa, khususnya straggler, dalam komunikasi GPU. CoMMA mengumpulkan data terperinci, seperti histogram latensi untuk operasi komunikasi kolektif. Layanan diagnostik kemudian dapat memproses dan menggunakan data ini untuk menentukan penyebab keterlambatan.
Menggunakan CoMMA untuk mengumpulkan telemetri menawarkan manfaat berikut:
Diperlukan untuk deteksi lambat: CoMMA mengumpulkan telemetri NCCL yang terperinci untuk mengidentifikasi hambatan performa atau proses yang lambat dalam komunikasi GPU ke GPU. CoMMA menyediakan telemetri NCCL mendetail yang membantu mengidentifikasi dan menyelesaikan masalah dalam beban kerja pelatihan AI dan ML skala besar.
Misalnya, CoMMA merekam algoritma yang digunakan dalam operasi NCCL. Informasi ini sangat 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. Alat ini melacak error yang berasal dari lapisan transport tingkat bawah, seperti TCP, RDMA, atau switch fabric, kembali ke kolektif NCCL tertentu dan node yang memulai.
Pelacakan dengan 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).
Memperluas cakupan telemetri NCCL: CoMMA menggunakan NCCL profiler plugin API. API ini mengumpulkan telemetri NCCL dengan cakupan yang lebih luas dibandingkan dengan plugin berbasis transportasi. Plugin berbasis transportasi terutama mengumpulkan telemetri tentang transportasi 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 akan otomatis memuat library CoMMA
yang diinstal di lokasi yang ditentukan oleh variabel lingkungan LD_LIBRARY_PATH. CoMMA kemudian mengumpulkan telemetri NCCL, yang kemudian dapat digunakan oleh layanan Google lainnya. Anda juga dapat mengekspor data ini ke sistem file lokal Anda secara opsional.
Langkah berikutnya
- Pelajari cara mengaktifkan, menonaktifkan, dan mengonfigurasi CoMMA.
- Pelajari cara memecahkan masalah CoMMA.
- Pelajari cara mendeteksi dan mengatasi masalah keterlambatan.