NCCL Fast Socket을 사용하여 워크로드 효율성 개선


이 페이지에서는 NVIDIA Collective Communications Library(NCCL) Fast Socket 플러그인을 사용하여 Google Kubernetes Engine(GKE) 클러스터에서 더 효율적인 워크로드를 실행하는 방법을 보여줍니다.

Autopilot 클러스터는 NCCL Fast Socket을 지원하지 않습니다.

시작하기 전에

시작하기 전에 다음 태스크를 수행했는지 확인합니다.

  • Google Kubernetes Engine API를 사용 설정합니다.
  • Google Kubernetes Engine API 사용 설정
  • 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치한 경우 gcloud components update를 실행하여 최신 버전을 가져옵니다.

제한사항

요구사항

  • NCCL Fast Socket을 사용하려면 노드 풀에 gVNIC가 사용 설정되어 있어야 합니다.
  • GKE 노드는 Container-Optimized OS 노드 이미지를 사용해야 합니다.
  • 클러스터가 GKE 버전 1.25.2-gke.1700 이상을 실행해야 합니다.

클러스터 만들기

새 클러스터를 만듭니다.

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

다음을 바꿉니다.

  • CLUSTER_NAME: 새 클러스터의 이름입니다.
  • VERSION: GKE 버전이며 1.25.2-gke.1700 이상이어야 합니다. --release-channel 플래그를 사용하여 출시 채널을 선택할 수도 있습니다. 출시 채널은 기본 버전이 1.25.2-gke.1700 이상이어야 합니다.
  • COMPUTE_REGION: 새 클러스터의 Compute Engine 리전입니다. 영역 클러스터의 경우 --zone=COMPUTE_ZONE을 사용합니다.

NCCL Fast Socket 사용 설정

NCCL Fast Socket 플러그인을 사용하는 노드 풀을 만듭니다. 또한 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

다음을 바꿉니다.

  • NODEPOOL_NAME: 새 노드 풀의 이름입니다.
  • CLUSTER_NAME: 클러스터의 이름입니다.
  • ACCELERATOR_TYPE: 사용하는 GPU 가속기의 유형입니다. 예를 들면 nvidia-tesla-t4입니다.
  • ACCELERATOR_COUNT: 노드당 GPU 수입니다.
  • MACHINE_TYPE: 사용할 머신 유형입니다. NCCL Fast Socket은 메모리 최적화 머신 유형에서 지원되지 않습니다.

NVIDIA GPU 기기 드라이버 설치

NVIDIA GPU 기기 드라이버 설치의 안내에 따라 노드에 필요한 NVIDIA 기기 드라이버를 설치합니다.

Fast Socket 사용 설정 확인

NCCL Fast Socket이 사용 설정되어 있는지 확인하려면 kube-system 포드를 살펴봅니다.

kubectl get pods -n kube-system

출력은 다음과 비슷합니다.

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

이 출력에서 포드 수가 노드 풀의 노드 수와 동일해야 합니다.

NCCL Fast Socket 중지

NCCL Fast Socket을 중지하려면 다음 명령어를 실행합니다.

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

기존 노드에는 플러그인이 계속 설치된 상태입니다. 워크로드를 새 노드로 마이그레이션하려면 수동으로 노드 풀 크기를 조정해야 합니다.

문제 해결

gVNIC 문제를 해결하려면 Google Virtual NIC 문제 해결을 참조하세요.

다음 단계