AI 하이퍼컴퓨터는 선택한 GPU 머신 유형에 따라 결정되는 특정 네트워크 서비스를 사용합니다. 이러한 서비스를 이해하면 머신러닝 학습 작업의 효과적인 진행률인 성능과 굿풋을 최적화할 수 있습니다.
인프라별 네트워킹
배포의 네트워크 아키텍처는 선택한 인프라, 일반 GPU 또는 클러스터링된 GPU에 따라 다릅니다.
일반 GPU용 표준 VPC 네트워킹
일반 GPU는 표준 Google Cloud VPC 네트워킹을 사용합니다.
- 아키텍처: 추론, 모델 서빙, 탐색적 연구를 위해 표준 멀티 테넌트 VPC 설계를 사용합니다.
- 프로토콜: Google 가상 NIC (gVNIC)를 통해 TCP/IP를 사용합니다.
클러스터링된 GPU용 고성능 패브릭
AI 하이퍼컴퓨터를 사용하면 계층적 레일 정렬 네트워크 아키텍처를 사용하는 GPU 머신을 배포할 수 있습니다. 이 설계의 예측 가능한 고성능 연결은 통신 오버헤드를 최소화하여 GPU가 데이터를 기다리는 대신 계산에 더 많은 시간을 할애할 수 있도록 함으로써 굿풋을 직접 개선합니다.
클러스터링된 GPU의 레일 정렬 배열에는 세 가지 구성요소가 포함됩니다.
- 하위 블록: 단일 블록에 물리적으로 함께 배치된 호스트 그룹입니다. 랙 상단 (ToR) 스위치는 이러한 호스트를 연결하여 하위 블록 내의 두 GPU 간에 매우 효율적인 단일 홉 통신을 지원합니다. 컨버지드 이더넷 (RoCE)을 통한 RDMA는 이러한 직접 통신을 지원합니다. Google의 레일 정렬 토폴로지에 최적화된 향상된 NCCL 라이브러리는 GPU 통신 집합을 처리합니다.
- 블록: 높은 대역폭을 제공하는 비차단 고속 네트워크로 상호 연결된 하위 블록 모음입니다. 블록 내의 GPU는 최대 두 번의 네트워크 홉으로 연결할 수 있습니다. 시스템은 최적의 작업 배치를 지원하기 위해 블록 및 하위 블록 메타데이터를 노출합니다.
- 클러스터: 수천 개의 GPU로 확장할 수 있는 상호 연결된 블록 모음으로, 대규모 학습 워크로드를 실행할 수 있습니다. 다양한 블록 간 통신은 홉을 하나만 추가하므로 대규모에서도 높은 성능과 예측 가능성을 유지합니다. 지능적인 대규모 작업 배치를 지원하기 위해 클러스터 수준 메타데이터는 조정자가 사용할 수도 있습니다.
GPU 간 통신 기술
GPU 머신은 여러 기술을 조합하여 워크로드에 고성능, 높은 처리량, 짧은 지연 시간을 제공합니다. 이러한 기술에는 컨버지드 이더넷 (RoCE)을 통한 RDMA, NVIDIA NIC, Google의 데이터 센터 전체에 걸친 레일 정렬 네트워크 토폴로지가 포함됩니다.
NVIDIA의 NVLink 기술은 각 머신의 NVIDIA NIC 간에 초고속 직접 데이터 경로를 만듭니다. 또한 RoCE는 여러 머신의 GPU 간에 효율적인 RDMA를 지원합니다.
GPU 네트워킹 스택
네트워킹 스택은 GPU 간 통신을 구현하기 위해 함께 작동하는 소프트웨어 프로토콜, 드라이버, 레이어 모음입니다. GPU 머신 유형마다 다른 네트워킹 스택을 사용합니다. 다음 표에서는 네트워킹 스택과 연결된 머신 유형을 정의합니다.
| 네트워킹 스택 | 설명 | GPU 머신 유형 |
|---|---|---|
| GPUDirect RDMA | GPU와 다른 기기 간의 데이터 교환을 위한 직접 경로를 지원합니다. A4X Max 및 A4X 인스턴스의 경우 이 네트워킹 스택은 RoCE를 사용합니다. 자세한 내용은 클러스터 구성 옵션을 사용한 GPUDirect RDMA를 참조하세요. | |
| GPUDirect-TCPXO | TCP 프로토콜을 오프로드하여 GPUDirect-TCPX를 개선합니다. GPUDirect-TCPXO를 사용하면 A3 Mega 머신 유형의 네트워크 대역폭이 A3 High에 비해 두 배가 됩니다. GPUDirect-TCPXO를 사용하는 GKE 클러스터에서 네트워크 대역폭을 극대화하는 방법에 대한 자세한 내용은 Standard 모드 클러스터에서 GPU 네트워크 대역폭 극대화를 참조하고 GPUDirect-TCPXO 탭을 선택하세요. | |
| GPUDirect-TCPX | 데이터 패킷 페이로드가 GPU 메모리에서 네트워크 인터페이스로 직접 전송되도록 허용함으로써 네트워크 성능을 향상시켜 줍니다. GPUDirect-TCPX를 사용하는 GKE 클러스터에서 네트워크 대역폭을 극대화하는 방법에 대한 자세한 내용은 Standard 모드 클러스터에서 GPU 네트워크 대역폭 극대화를 참조하고 GPUDirect-TCPX 탭을 선택하세요. |
|
| 표준 TCP/IP | 일반 (표준) 워크로드의 기준 네트워킹 프로토콜입니다. 표준 VPC 서비스와의 높은 안정성과 광범위한 호환성을 제공합니다. |
|
호스트 및 스토리지 데이터 영역 네트워크
멀티 GPU 인스턴스는 컴퓨팅 인스턴스와의 통신과 GPU 간 정보 처리를 위해 서로 다른 네트워크 구성을 필요로 합니다.
별도의 네트워크 경로 (North-South 네트워크 또는 프런트엔드 네트워크 라고도 함)는 컴퓨팅 인스턴스와의 모든 통신을 처리합니다. 이 트래픽에는 디스크 액세스, VM 내 통신, 인터넷 액세스, Cloud Storage 액세스, 호스트 수준 관리, 다른 Google Cloud 서비스와의 통신이 포함됩니다.
이 트래픽을 관리하기 위해 GPU 머신 유형은 Google Titanium NIC를 통해 Google 가상 NIC (gVNIC) 구성을 사용합니다. Titanium NIC는 CPU에서 네트워크 처리 작업을 오프로드하므로 CPU가 워크로드에 집중할 수 있습니다. 이 분리를 통해 범용 호스트 트래픽과 전용 GPU 간 트래픽이 서로 다른 물리적 인터페이스를 사용하도록 하여 동일한 시스템 리소스를 놓고 경합하지 않도록 할 수 있습니다.
멀티 VPC 환경
모든 워크로드는 Google Cloud의 Virtual Private Cloud (VPC) 내에서 작동합니다.
고성능 가속기 머신은 여러 물리적 네트워크 인터페이스를 사용하여 다양한 유형의 트래픽을 처리하는 특수 하드웨어 설계를 갖추고 있습니다. 이 특수 하드웨어 설계를 처리하려면 워크로드를 실행하는 데 Slurm, GKE, Compute Engine을 사용하는지 여부와 관계없이 멀티 VPC 환경이 필요합니다.
구체적인 멀티 VPC 구성은 GPU 머신 유형과 네트워킹 스택에 따라 달라집니다.
GPUDirect RDMA가 포함된 A4X Max, A4X, A4, A3 Ultra: 이러한 머신은 범용 트래픽을 지원하는 물리적 NIC와 RDMA 트래픽을 지원하는 물리적 NIC라는 두 개의 물리적 NIC로 지원됩니다. 범용 물리적 NIC에 매핑되는 인스턴스 vNIC (
nic0인터페이스 및 추가 네트워크 인터페이스)는 일반 VPC 네트워크에 연결됩니다. RDMA 지원 물리적 NIC에 매핑되는 RDMA vNIC는 GPUDirect RDMA를 활용하기 위해 RDMA 네트워크 프로필이 있는 별도의 VPC 네트워크에 연결됩니다. 이러한 머신 유형에는 총 3개의 VPC 네트워크가 필요합니다. 이 네트워크 인프라를 설정하는 방법을 알아보려면 VPC 및 서브넷 만들기를 참조하세요.GPUDirect-TCPXO가 포함된 A3 Mega: 이러한 머신에는 고대역폭 통신 전용인 GPU NIC를 위한 8개의 별도 VPC가 필요합니다. 이 구성을 완료하는 방법에 대한 자세한 단계는 VPC 및 서브넷 만들기를 참조하세요.
GPUDirect-TCPX가 포함된 A3 High: 이러한 머신에는 고대역폭 통신 전용인 GPU NIC를 위한 4개의 별도 VPC가 필요합니다. 이 구성을 완료하는 방법에 대한 자세한 단계는 VPC 및 서브넷 만들기를 참조하세요.
이 멀티 VPC 구성은 스토리지 작업 및 기타 시스템 작업이 중요한 GPU 간 통신과 대역폭을 놓고 경합하지 않도록 하는 데 도움이 됩니다.
설정해야 하는 필수 멀티 VPC 네트워크 구성은 GPU 머신 유형에 따라 다릅니다. 지원되는 모든 GPU 머신 유형의 네트워크 배열, 대역폭 속도, NIC에 대한 자세한 안내는 네트워킹 및 GPU 머신을 참조하세요.
다음 다이어그램은 클러스터링된 GPU 머신의 네트워크 아키텍처를 보여주며, 범용 트래픽과 전용 GPU 간 트래픽이 서로 다른 네트워크 플레인으로 분리되는 것을 강조합니다.
앞의
다이어그램에 표시된 대로 이러한 GPU 머신은 다양한
유형의 트래픽에 전용 네트워크 경로를 사용합니다. 관리 및 스토리지 액세스를 포함한 범용 트래픽은 VPC에 연결된 Google Titanium NIC를 통해 흐릅니다. 고성능 GPU 간 통신은 RDMA와 같은 기술로 최적화된 별도의 네트워크 인터페이스와 VPC를 사용하여 AI 및 ML 워크로드의 높은 대역폭과 짧은 지연 시간을 보장합니다.
네트워킹 라이브러리 및 구성요소
네트워크 대역폭과 성능을 극대화하기 위해 다음과 같은 네트워킹 라이브러리 및 구성요소를 사용하면 Google의 네트워킹 스택으로 GPU를 사용할 수 있습니다.
- gVNIC: Google 가상 NIC (gVNIC)는 Compute Engine을 위해 특별히 설계된 가상 네트워크 인터페이스입니다. gVNIC는 성능을 개선하고 일관성을 높이며 노이즈가 많은 인접 문제 해결에 도움이 됩니다. gVNIC는 모든 머신 계열에서 권장되며 호스트 간 통신에 권장되는 vNIC입니다. 자세한 내용은 Google 가상 NIC 사용을 참조하세요.
- NCCL: NVIDIA Collective Communications Library (NCCL)는 집단 통신 작업을 위한 최적화된 기본 요소를 제공합니다. NCCL은 NVIDIA GPU 및 네트워킹을 사용하는 멀티 GPU 및 멀티 노드 환경을 위해 특별히 설계되었습니다. NCCL 테스트를 실행하여 배포된 클러스터의 성능을 평가합니다. 자세한 내용은 네트워크 성능 테스트를 참조하세요.
- GKE 멀티 네트워킹: 포드에 대한 멀티 네트워크 지원을 통해 GKE 클러스터의 노드 및 포드에 여러 인터페이스를 사용할 수 있습니다. GPUDirect 컨텍스트에서 멀티 네트워킹을 설정하는 방법에 대한 자세한 내용은 일반 모드 클러스터에서 GPU 네트워크 대역폭 극대화 및 GPUDirect RDMA를 사용한 클러스터 구성 옵션을 참조하세요.
사용 가능한 소프트웨어 스택에 대한 자세한 내용은 OS 및 Docker 이미지를 참조하세요.
다음 단계
- 배포를 보호하는 방법을 알아보려면 서비스 계정 보안 권장사항 을 참조하세요.
- 네트워크를 강화하는 방법을 알아보려면 VPC 방화벽 규칙을 참조하세요.
- 가속기 연결에 대한 자세한 내용은 GPU 네트워킹 개요를 참조하세요.