개요

이 문서에서는 Google Cloud 서비스의 NCCL 원격 분석을 수집하는 라이브러리인 CoMMA (Collective Communication Analyzer)를 설명합니다. NCCL 원격 분석 은 NCCL이 실행 중에 생성하는 성능 측정항목과 운영 이벤트를 수집합니다. NCCL (NVIDIA Collective Communication Library) 은 병렬 및 분산 컴퓨팅 시스템에서 실행되는 GPU 간의 고성능 통신을 가속화합니다. 이 고성능 통신은 딥 러닝 및 고성능 컴퓨팅 (HPC)에 특히 유용합니다.

NCCL 버전 2.23 이상에서는 개발자가 NCCL 집단 작업 중에 원격 분석을 수집하기 위해 함수 콜백을 등록할 수 있는 NCCL 프로파일러 플러그인 API, 가 도입되었습니다. Google은 NVIDIA의 NCCL 프로파일러 플러그인 API를 사용하여 서비스의 NCCL 원격 분석을 수집하는 라이브러리인 CoMMA (Collective Communication Analyzer)를 제공합니다. Google Cloud CoMMA는 일부 이미지에 대해 자동으로 설치하고 사용 설정하지만, 데이터 수집을 제어하기 위해 CoMMA를 사용 중지하거나 다시 사용 설정하거나 수동으로 설치하고 사용 설정할 수도 있습니다.

CoMMA가 사용 설정된 이미지

A4X Max, A4X, A4, A3 Ultra, A3 Mega, A3 High (8개의 GPU) 머신 유형의 경우 gIB NCCL 플러그인을 패키징하는 이미지를 사용하면 CoMMA가 설치되고 자동으로 사용 설정됩니다. 다음 이미지는 gIB NCCL 플러그인을 포함합니다.

이러한 이미지를 사용하고 CoMMA가 NCCL 원격 분석을 수집하지 못하도록 하려면 CoMMA 사용 중지를 참고하세요. 하지만 지연 감지 또는 응답하지 않는 워크로드 감지 와 같은 기능이 작동하려면 CoMMA를 사용 설정해야 합니다. 이러한 이미지를 사용하지 않고 CoMMA가 NCCL 원격 분석을 수집하도록 하려면 CoMMA 설치를 참고하세요.

혜택

CoMMA가 수집하는 NCCL 원격 분석은 GPU 통신에서 성능 병목 현상(특히 지연)을 식별하는 데 도움이 됩니다. CoMMA는 집단 통신 작업의 지연 시간 히스토그램과 같은 세분화된 데이터를 수집합니다. 그러면 진단 서비스가 이 데이터를 처리하고 사용하여 지연을 정확히 찾아낼 수 있습니다.

CoMMA를 사용하여 원격 분석을 수집하면 다음과 같은 이점이 있습니다.

  • 지연 감지 및 응답하지 않는 워크로드 감지에 필요: CoMMA는 세분화된 NCCL 원격 분석을 수집하여 GPU 간 통신에서 성능 병목 현상 또는 지연을 식별합니다. CoMMA는 대규모 AI 및 ML 학습 워크로드에서 문제를 식별하고 해결하는 데 도움이 되는 자세한 NCCL 원격 분석을 제공합니다.

    예를 들어 CoMMA는 NCCL 작업에 사용되는 알고리즘을 캡처합니다. 이 정보는 성능 분석 및 조정에 유용합니다. 워크로드 및 시스템 구성에 따라 알고리즘의 성능 특성이 크게 달라질 수 있기 때문입니다.

    CoMMA는 최적화되지 않은 성능 및 오류 문제 해결에도 도움이 됩니다. TCP, RDMA 또는 스위치 패브릭과 같은 하위 전송 계층에서 발생하는 오류를 특정 NCCL 집단 및 시작 노드로 다시 추적합니다. 하트비트 원격 분석 신호가 응답을 중지할 때 이를 인식하고 응답하지 않는 워크로드의 잠재적 원인을 추적할 수 있습니다.

  • 오버헤드가 낮은 추적: CoMMA는 활성 NCCL 원격 분석 수집 중에 최소한의 컴퓨팅 리소스를 사용하므로 대규모 언어 모델 (LLM) 학습과 같이 성능에 민감하고 장기 실행되는 머신러닝 워크로드에 적합합니다.

  • NCCL 원격 분석 범위 확대: CoMMA는 NCCL 프로파일러 플러그인 API를 사용합니다. 이 API는 전송 기반 플러그인에 비해 더 넓은 범위의 NCCL 원격 분석을 수집합니다. 전송 기반 플러그인은 주로 네트워크 하드웨어 및 네트워크 프로토콜을 통한 데이터 전송을 비롯한 기본 네트워크 전송에 관한 원격 분석을 수집합니다. 프로파일러 플러그인은 집단 통신, 프록시 작업, 데이터 전송의 타이밍을 비롯한 NCCL의 통신 작업에 대한 원격 분석을 수집합니다.

CoMMA 작동 방식 이해

애플리케이션 런타임 중에 NCCL은 LD_LIBRARY_PATH 환경 변수로 지정된 위치에 설치된 CoMMA 라이브러리를 자동으로 로드합니다. 그러면 CoMMA가 NCCL 원격 분석을 수집하고 다른 Google 서비스에서 이를 사용할 수 있습니다. 선택적으로 이 데이터를 로컬 파일 시스템으로 내보낼 수도 있습니다.

다음 단계

  • CoMMA를 사용 설정, 사용 중지, 구성하는 방법을 알아봅니다.
  • CoMMA 관련 문제를 해결하는 방법을 알아봅니다.
  • 지연을 감지하고 해결하는 방법을 알아봅니다.
  • 응답하지 않는 워크로드를 감지하는 방법을 알아봅니다.