Dokumen ini menjelaskan Collective Communication Analyzer (CoMMA), 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 dalam 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 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 image, 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 A5X, A4X Max, A4X, A4, A3 Ultra, A3 Mega, dan A3 High (8 GPU), CoMMA diinstal dan otomatis diaktifkan saat Anda menggunakan image apa pun yang memaketkan 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 dan library AI dan ML 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 yang 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 menawarkan manfaat berikut:
Diperlukan untuk deteksi straggler dan deteksi workload yang tidak responsif: CoMMA mengumpulkan telemetri NCCL yang mendetail untuk mengidentifikasi bottleneck performa atau straggler dalam komunikasi GPU-ke-GPU. CoMMA menyediakan telemetri NCCL mendetail yang membantu mengidentifikasi dan menyelesaikan masalah dalam workload pelatihan AI dan ML berskala besar.
Misalnya, CoMMA menangkap algoritma yang digunakan dalam operasi NCCL. Informasi ini berguna 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 kurang optimal. Fitur ini melacak error yang berasal dari lapisan transport tingkat rendah, seperti TCP, RDMA, atau fabric switch, kembali ke kolektif NCCL dan node yang memulai. Fitur ini dapat mengenali saat sinyal telemetri heartbeat 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).
Memperluas cakupan telemetri NCCL: CoMMA menggunakan API plugin profiler NCCL. API ini mengumpulkan cakupan telemetri NCCL yang lebih luas dibandingkan dengan plugin berbasis transportasi. Plugin berbasis transport terutama mengumpulkan telemetri tentang transport jaringan yang mendasarinya, termasuk transfer data melalui hardware jaringan dan protokol jaringan. Plugin profiler mengumpulkan telemetri untuk operasi komunikasi NCCL, termasuk pengaturan 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 kemudian dapat digunakan oleh layanan Google lainnya. Anda juga dapat mengekspor data ini ke sistem file lokal Anda.
Langkah berikutnya
- Pelajari cara mengaktifkan, menonaktifkan, dan mengonfigurasi CoMMA.
- Pelajari cara memecahkan masalah CoMMA.
- Pelajari cara mendeteksi dan menyelesaikan straggler.
- Pelajari cara mendeteksi workload yang tidak responsif.