Meningkatkan efisiensi workload menggunakan NCCL Fast Socket


Halaman ini menunjukkan cara menggunakan plugin Fast Socket NVIDIA Collective Communication Library (NCCL) untuk menjalankan workload yang lebih efisien di cluster Google Kubernetes Engine (GKE) Anda.

Cluster autopilot tidak mendukung NCCL Fast Socket

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu initialize gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Batasan

Persyaratan

  • Node pool Anda harus mengaktifkan gVNIC agar dapat menggunakan NCCL Fast Socket.
  • Node GKE harus menggunakan image node Container-Optimized OS.
  • Cluster Anda harus menjalankan GKE versi 1.25.2-gke.1700 atau yang lebih baru.

Membuat cluster

Membuat cluster baru:

gcloud container clusters create CLUSTER_NAME \
    --cluster-version=VERSION \
    --region=COMPUTE_REGION

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster baru.
  • VERSION: versi GKE, harus 1.25.2-gke.1700 atau yang lebih baru. Anda juga dapat menggunakan flag --release-channel untuk memilih saluran rilis. Saluran rilis harus memiliki versi default 1.25.2-gke.1700 atau yang lebih baru.
  • COMPUTE_REGION: region Compute Engine untuk cluster baru. Untuk cluster zona, gunakan --zone=COMPUTE_ZONE.

Mengaktifkan NCCL Fast Socket

Membuat node pool yang menggunakan plugin Fast Socket NCCL. Anda juga dapat memperbarui node pool yang ada menggunakan gcloud container node-pools update.

gcloud container node-pools create NODEPOOL_NAME \
    --accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --machine-type=MACHINE_TYPE \
    --cluster=CLUSTER_NAME \
    --enable-fast-socket \
    --enable-gvnic

Ganti kode berikut:

  • NODEPOOL_NAME: nama node pool baru.
  • CLUSTER_NAME: nama cluster.
  • ACCELERATOR_TYPE: jenis GPU. Dapat berupa salah satu dari berikut ini:
    • nvidia-tesla-k80
    • nvidia-tesla-p100
    • nvidia-tesla-p4
    • nvidia-tesla-v100
    • nvidia-tesla-t4
    • nvidia-tesla-a100
    • nvidia-a100-80gb
    • nvidia-l4
  • ACCELERATOR_COUNT: jumlah GPU per node.
  • MACHINE_TYPE: jenis mesin yang ingin digunakan. NCCL Fast Socket tidak didukung do jenis mesin yang dioptimalkan untuk memori.

Menginstal driver perangkat GPU NVIDIA

Ikuti petunjuk di Menginstal driver perangkat GPU NVIDIA untuk menginstal driver perangkat NVIDIA yang diperlukan di node Anda.

Memastikan NCCL Fast Socket diaktifkan

Untuk memastikan bahwa NCCL Fast Socket telah diaktifkan, lihat pod sistem kube:

kubectl get pods -n kube-system

Outputnya mirip dengan hal berikut ini:

NAME                         READY   STATUS    RESTARTS   AGE
nccl-fastsocket-installer-qvfdw  2/2     Running   0          10m
nccl-fastsocket-installer-rtjs4  2/2     Running   0          10m
nccl-fastsocket-installer-tm294  2/2     Running   0          10m

Dalam output ini, jumlah Pod harus sama dengan jumlah node dalam node pool.

Menonaktifkan NCCL Fast Socket

Untuk menonaktifkan NCCL Fast Socket, jalankan perintah berikut:

gcloud container node-pools update NODEPOOL_NAME \
    --cluster=CLUSTER_NAME \
    --no-enable-fast-socket

Node yang ada masih memiliki plugin yang terinstal. Anda harus mengubah ukuran node pool secara manual untuk memigrasikan workload ke node baru.

Pemecahan masalah

Untuk memecahkan masalah gVNIC, lihat Memecahkan Masalah Google Virtual NIC.

Langkah selanjutnya