GPU 클러스터 네트워킹 기술 분석: NVLink, InfiniBand, ROCE, DDC

좋은 훈련 성능을 얻으려면 GPU 네트워크가 다음 조건을 충족해야 합니다.

1. End-to-End 지연: GPU 통신이 빈번하기 때문에 노드 간 데이터 전송의 전체 지연 시간을 줄이면 전체 훈련 시간을 단축하는 데 도움이 됩니다.

2. 무손실 전송: 경사도나 중간 결과가 손실되면 훈련이 메모리에 저장된 이전 체크포인트로 돌아가 다시 시작되어 훈련 성능에 심각한 영향을 미치기 때문에 이는 AI 훈련에 매우 중요합니다.

3. 효과적인 종단 간 혼잡 제어 메커니즘: 트리 토폴로지에서는 여러 노드가 단일 노드에 데이터를 전송할 때 일시적인 혼잡이 불가피합니다. 지속적인 정체로 인해 시스템 테일 대기 시간이 늘어납니다. GPU 간의 순차적 종속성으로 인해 하나의 GPU의 그래디언트 업데이트가 네트워크 지연 시간의 영향을 받더라도 여러 GPU의 작동이 중지될 수 있습니다. 느린 링크는 훈련 성능을 저하시키기에 충분합니다.

위의 요소 외에도 시스템의 총 비용, 전력 소비, 냉각 비용도 종합적으로 고려해야 합니다. 이러한 전제를 바탕으로 다양한 GPU 아키텍처 설계 선택과 그 장단점을 살펴보겠습니다.

I. NVLink 스위칭 시스템

GPU 서버의 GPU 8개를 연결하는 NVLink 스위치를 사용하면 GPU 서버를 연결하는 스위칭 네트워크를 구축할 수도 있습니다. Nvidia는 32년 Hot Chips 컨퍼런스에서 NVSwitch 아키텍처를 사용하여 256개 노드(또는 2022개 GPU)를 연결하는 토폴로지를 시연했습니다. NVLink는 고속 지점 간 링크로 GPU를 연결하도록 특별히 설계되었기 때문에 더 높은 성능과 기존 네트워크보다 오버헤드가 낮습니다.

엔비디아-nvswitch-토폴로지-2

64세대 NVswitch에는 12.8개의 NVLink 포트가 장착되어 최대 XNUMXTbps의 스위칭 용량을 제공하는 동시에 멀티캐스트 및 네트워크 집합 기능을 지원합니다. 네트워크 집계는 NVswitch 내에서 작동하는 GPU에 의해 생성된 모든 그래디언트를 수집하고 다음 반복을 위해 업데이트된 그래디언트를 GPU에 피드백할 수 있습니다. 이 기능은 훈련 반복 프로세스 중에 GPU 간의 데이터 전송량을 줄이는 데 도움이 됩니다.

엔비디아에 따르면 NVswitch 아키텍처는 GPT-3 모델 학습 시 InfiniBand 스위칭 네트워크보다 51.2배 빠른 속도를 보여 인상적인 성능을 보여준다. 하지만 이 스위치의 대역폭은 고급 스위치 공급업체가 제공하는 XNUMXTbps 스위치보다 XNUMX배 적다는 점은 주목할 가치가 있습니다.

NVswitches를 사용하여 1000개 이상의 GPU를 포함하는 대규모 시스템을 구축하려고 하면 비용 효율적이지 않을 뿐만 아니라 프로토콜 자체에 의해 제한되어 대규모 시스템을 지원하지 못할 수도 있습니다. 또한 Nvidia는 NVswitch를 별도로 판매하지 않습니다. 즉, 데이터 센터가 다른 공급업체의 GPU를 혼합하여 기존 클러스터를 확장하려는 경우 다른 공급업체의 GPU가 이러한 인터페이스를 지원하지 않기 때문에 NVswitch를 사용할 수 없습니다. .

nvidia-nvswitch-다이어그램

II. 인피니밴드 네트워크

인피니밴드(IB)는 1999년 출시 이후 PCI, PCI-X 버스 기술을 효과적으로 대체하며 고속의 대안으로 자리 잡고 있으며, 서버, 스토리지, 네트워크 연결에 널리 사용되는 기술이다. 초기의 큰 비전은 경제적 요인으로 인해 축소되었지만, 인피니밴드는 여전히 고성능 컴퓨팅, 인공지능/머신러닝 클러스터, 데이터센터 등의 분야에서 널리 적용되고 있습니다. 이는 주로 뛰어난 속도, 낮은 대기 시간, 무손실 전송 및 원격 직접 메모리 액세스에 기인합니다(RDMA) 능력.

인피니밴드

InfiniBand(IB) 프로토콜은 효율적이고 가벼운 설계를 달성하여 이더넷 프로토콜의 일반적인 오버헤드를 효과적으로 방지하는 것을 목표로 합니다. 채널 기반 및 메모리 기반 통신을 모두 지원하며 다양한 데이터 전송 시나리오를 효율적으로 처리할 수 있습니다.

IB는 전송/수신 장치 간의 크레딧 기반 흐름 제어를 사용하여 무손실 전송(큐 또는 가상 채널 수준)을 달성합니다. 이러한 홉별 흐름 제어는 버퍼 오버플로로 인해 데이터 손실이 발생하지 않도록 보장합니다. 또한 엔드포인트 간 정체 알림도 지원합니다(TCP/IP 프로토콜 스택의 ECN과 유사). IB는 우수한 서비스 품질을 제공하므로 특정 유형의 트래픽에 우선순위를 지정하여 대기 시간을 줄이고 패킷 손실을 방지할 수 있습니다.

모든 IB 스위치는 CPU 운영 체제의 개입 없이 한 GPU의 메모리에서 다른 GPU의 메모리로 데이터를 직접 전송할 수 있는 RDMA 프로토콜을 지원한다는 점을 언급할 가치가 있습니다. 이 직접 전송 모드는 처리량을 향상시키고 종단 간 대기 시간을 크게 줄입니다.

그러나 많은 장점에도 불구하고 InfiniBand 스위칭 시스템은 이더넷 스위칭 시스템만큼 대중적이지 않습니다. 이는 InfiniBand 스위칭 시스템이 구성, 유지 관리 및 확장이 상대적으로 어렵기 때문입니다. 그만큼 인피니밴드 제어 평면은 일반적으로 단일 서브넷 관리자에 의해 중앙에서 제어됩니다. 소규모 클러스터에서는 잘 실행될 수 있지만 32K 이상의 GPU가 있는 네트워크에서는 확장성이 문제가 될 수 있습니다. 또한 IB 네트워크에는 호스트 채널 어댑터 및 InfiniBand 케이블과 같은 특수 하드웨어도 필요하므로 확장 비용이 이더넷 네트워크보다 높습니다.

엔비디아 LinkX

현재 Nvidia는 HPC 및 AI GPU 클러스터용 고급 IB 스위치를 제공하는 유일한 공급업체입니다. 예를 들어 OpenAI는 10,000개의 Nvidia A100 GPU와 IB 스위칭 네트워크를 사용하여 Microsoft Azure 클라우드에서 GPT-3 모델을 교육했습니다. Meta는 최근 Nvidia A16 GPU 서버와 Quantum-100 IB 스위치를 사용하는 2K GPU로 클러스터를 구축했습니다(Nvidia는 GTC 2021 컨퍼런스에서 25.6Tbps의 스위칭 용량과 400Gbps 포트를 갖춘 새로운 InfiniBand 네트워크 플랫폼을 출시했습니다). 이 클러스터는 LLaMA를 포함한 생성 인공 지능 모델을 훈련하는 데 사용됩니다. 10,000개 이상의 GPU를 연결할 때 서버 내부의 GPU 간 전환은 서버 내부의 NV스위치에 의해 이루어지며, IB/이더넷 네트워크는 서버 연결을 담당한다는 점에 주목할 필요가 있습니다.

더 큰 매개변수에 대한 훈련 수요에 대처하기 위해 초대형 클라우드 서비스 제공업체는 32K 또는 심지어 64K GPU로 GPU 클러스터를 구축하려고 합니다. 이 규모에서는 이더넷 네트워크를 사용하는 것이 더 경제적일 수 있습니다. 이는 이더넷이 많은 실리콘/시스템 및 광모듈 공급업체 사이에서 강력한 생태계를 형성하고, 공급업체 간 상호 운용성을 달성하는 개방형 표준을 목표로 하기 때문입니다.

RoCE 무손실 이더넷

이더넷은 1Gbps부터 800Gbps까지의 속도로 데이터센터부터 백본 네트워크까지 다양한 애플리케이션에 널리 사용되고 있으며, 앞으로는 1.6Tbps에 이를 것으로 예상됩니다. Infiniband와 비교하여 이더넷은 상호 연결 포트 속도와 총 스위치 용량 면에서 우위를 점하고 있습니다. 또한 이더넷 스위치는 고급 네트워크 칩 공급업체 간의 치열한 경쟁 덕분에 대역폭 단위당 비용이 낮아 상대적으로 저렴합니다. 이로 인해 ASIC에 더 많은 대역폭을 통합하여 기가비트당 비용이 절감됩니다.

이더넷 스위치 칩

고급 이더넷 스위치 ASIC의 주요 공급업체는 51.2Gbps 포트를 장착하여 최대 800Tbps의 스위치 용량을 제공할 수 있습니다. 이는 Quantum-2(NVIDIA GTC 2021에서 출시된 새로운 InfiniBand 네트워크 플랫폼, 25.6Tbps의 성능)보다 두 배 높은 성능입니다. 스위치 용량 및 400Gbps 포트). 즉, 스위치 처리량이 XNUMX배가 되면 GPU 네트워크 구축에 필요한 스위치 수는 절반으로 줄어들 수 있다는 뜻이다.

이더넷은 또한 우선순위 흐름 제어(PFC)를 통해 무손실 전송 서비스를 제공할 수도 있습니다. PFC는 8개의 서비스 클래스를 지원하며, 각 클래스는 흐름 제어가 가능하고 일부는 무손실 클래스로 지정될 수 있습니다. 스위치를 처리하고 통과할 때 무손실 트래픽이 손실 트래픽보다 우선순위가 높습니다. 네트워크 정체가 발생하는 경우 스위치나 NIC는 단순히 패킷을 삭제하는 대신 흐름 제어를 통해 업스트림 장치를 관리할 수 있습니다.

또한 이더넷은 RDMA 프레임이 IP/UDP에 캡슐화되는 RoCEv2(RDMA over Converged Ethernet)를 통해 RDMA(원격 직접 메모리 액세스)도 지원합니다. RoCEv2 패킷이 GPU 서버의 네트워크 어댑터(NIC)에 도착하면 NIC는 CPU 개입 없이 RDMA 데이터를 GPU 메모리로 직접 전송할 수 있습니다. 한편, DCQCN과 같은 강력한 종단 간 혼잡 제어 방식을 배포하여 RDMA의 종단 간 정체 및 패킷 손실을 줄일 수 있습니다. 부하 분산 측면에서 BGP와 같은 라우팅 프로토콜은 ECMP(등가 다중 경로 라우팅)를 사용하여 대상까지 동일한 '비용'으로 여러 경로에 패킷을 배포합니다. 대상에 대한 여러 개의 동일 비용 경로가 있는 스위치에 패킷이 도착하면 스위치는 해시 함수를 사용하여 패킷 경로를 결정합니다. 그러나 해시가 항상 완벽하지는 않으며 일부 링크의 로드가 고르지 않아 네트워크 정체가 발생할 수 있습니다.

RDMA 응용

로드 밸런싱 측면에서 BGP와 같은 라우팅 프로토콜은 ECMP(Equal-Cost Multi-Path Routing)를 사용하여 동일한 "비용"으로 여러 경로에 패킷을 배포합니다. 목적지까지의 동일 비용 경로가 여러 개 있는 스위치에 패킷이 도착하면 스위치는 해시 함수를 사용하여 패킷을 보낼 경로를 결정합니다. 그러나 해시가 항상 완벽하지는 않으며 일부 링크의 로드가 고르지 않아 네트워크 정체가 발생할 수 있습니다.

이 문제를 해결하기 위해 약간의 대역폭을 확보하거나 적응형 로드 밸런싱을 구현하는 등의 몇 가지 전략을 채택할 수 있습니다. 이를 통해 경로가 혼잡할 때 스위치가 새로운 흐름 패킷을 다른 포트로 라우팅할 수 있습니다. 많은 스위치가 이미 이 기능을 지원하고 있습니다. 또한 RoCEv2의 패킷 수준 로드 밸런싱은 사용 가능한 모든 링크에 패킷을 고르게 분산시켜 링크 균형을 유지할 수 있습니다. 그러나 이로 인해 패킷이 목적지에 순서 없이 도착할 수 있으며 GPU가 데이터를 순서대로 수신할 수 있도록 네트워크 카드가 RoCE 전송 계층에서 이러한 정렬되지 않은 데이터 처리를 지원해야 합니다. 이를 위해서는 네트워크 카드와 이더넷 스위치의 추가 하드웨어 지원이 필요합니다.

또한 일부 공급업체의 ROCE 이더넷 스위치는 스위치 내부 GPU의 기울기를 집계할 수도 있으므로 NVIDIA의 고급 이더넷 스위치와 같이 훈련 과정 중 GPU 간 트래픽을 줄이는 데 도움이 됩니다.

요약하면 고급 이더넷 스위치와 네트워크 카드는 강력한 정체 제어, 로드 밸런싱 및 RDMA 지원 기능을 갖추고 있으며 IB 스위치보다 더 큰 설계로 확장할 수 있습니다. 일부 클라우드 서비스 제공업체와 대규모 클러스터 회사에서는 이더넷 기반 GPU 네트워크를 사용하여 32K 이상의 GPU를 연결하기 시작했습니다.

DDC 완전 예약 네트워크

최근 몇몇 스위치/라우터 칩 공급업체에서는 전체 일정이 잡힌 패브릭 또는 AI 패브릭을 지원하는 칩 출시를 발표했습니다. 완전히 예약된 이 네트워크는 VOQ(Virtual Output Queue) 네트워크를 사용하는 주니퍼의 PTX 시리즈 라우터를 포함하여 10년 이상 동안 많은 모듈식 섀시 설계에 적용되었습니다.

VOQ 아키텍처에서 패킷은 수신 리프 스위치에서 한 번만 버퍼링되고 최종 송신 리프 스위치/WAN 포트/출력 대기열에 해당하는 대기열에 저장됩니다. 수신 스위치에서는 이러한 대기열을 VOQ(가상 출력 대기열)라고 합니다. 따라서 각 수신 리프 스위치는 전체 시스템의 모든 출력 대기열에 대한 버퍼 공간을 제공합니다. 이 버퍼의 크기는 일반적으로 40~70마이크로초 내에 정체가 발생할 때 각 VOQ의 패킷을 수용하기에 충분합니다. VOQ의 데이터 양이 적으면 온칩 버퍼에 보관됩니다. 큐가 커지기 시작하면 데이터가 외부 메모리의 딥 버퍼로 전송됩니다.

수신 리프 스위치의 VOQ가 여러 패킷을 누적하면 송신 스위치에 요청을 보내 이러한 패킷을 네트워크에서 전송하도록 요청합니다. 이러한 요청은 네트워크를 통해 출구 리프 스위치로 전송됩니다.

송신 리프 스위치의 스케줄러는 엄격한 스케줄링 계층 구조와 얕은 출력 버퍼의 사용 가능한 공간을 기반으로 이러한 요청을 승인합니다. 이러한 승인 비율은 스위치 링크의 초과 구독을 방지하기 위해 제한됩니다(대기열 버퍼 허용 범위 초과).

수신 리프 스위치에 승인이 도착하면 승인된 패킷 세트를 송신으로 보내고 사용 가능한 모든 업링크를 통해 전송합니다.

특정 VOQ로 전송된 패킷은 사용 가능한 모든 출력 링크에 고르게 분산되어 완벽한 로드 밸런싱을 달성할 수 있습니다. 이로 인해 패킷이 다시 정렬될 수 있습니다. 그러나 송신 스위치에는 이러한 패킷을 순서대로 재정렬한 다음 GPU 노드로 전송할 수 있는 논리 기능이 있습니다.

송신 스케줄러는 승인된 데이터가 스위치에 들어가기 전에 제어하므로 링크 대역폭의 과도한 사용을 방지하고 이더넷 데이터 플레인의 인캐스트로 인해 발생하는 혼잡 문제(여러 포트가 단일 출력 포트로 트래픽을 전송하려고 할 때)를 99% 제거합니다. ) 및 HOL 차단(HOL 차단)을 제거합니다. 이 아키텍처에서는 데이터(요청 및 승인 포함)가 여전히 이더넷을 통해 전송된다는 점에 유의해야 합니다.

HOL 차단이란 네트워크 전송에서 일련의 패킷 중 첫 번째 패킷이 장애물에 부딪혀 다음 패킷의 출력 포트가 유휴 상태이더라도 다음 패킷이 모두 차단되고 전송을 계속할 수 없는 현상을 말합니다. 이러한 현상은 네트워크의 전송 효율성과 성능에 심각한 영향을 미칩니다.

Juniper의 Express 및 Broadcom의 Jericho 시리즈와 같은 일부 아키텍처는 독점적인 셀화된 데이터 플레인을 통해 VOQ(가상 출력 대기열)를 구현합니다.

이 방법에서 리프 스위치는 패킷을 고정 크기 세그먼트로 분할하고 사용 가능한 모든 출력 링크에 균등하게 배포합니다. 이는 큰 패킷과 작은 패킷이 혼합되어 있으면 모든 링크를 완전히 활용하기 어렵기 때문에 패킷 수준에서 균등하게 분산시키는 것과 비교하여 링크 활용도를 향상시킬 수 있습니다. 세그먼트 전달을 통해 출력 링크(송신 이더넷 인터페이스)에서 또 다른 저장/전달 지연을 방지합니다. 세그먼트 데이터 플레인에서 세그먼트를 전달하는 데 사용되는 스파인 스위치는 세그먼트 전달을 효율적으로 수행할 수 있는 사용자 지정 스위치로 대체됩니다. 이러한 세그먼트 데이터 플레인 스위치는 L2 스위칭의 오버헤드를 지원할 필요가 없기 때문에 전력 소비 및 대기 시간 측면에서 이더넷 스위치보다 우수합니다. 따라서 세그먼트 기반 데이터 플레인은 링크 활용도를 향상시킬 수 있을 뿐만 아니라 VOQ 데이터 플레인의 전체 지연을 줄일 수 있습니다.

VOQ+셀 기반 전달 메커니즘

VOQ 아키텍처에는 몇 가지 제한 사항이 있습니다.

각 리프 스위치의 수신 포트에는 혼잡 중에 시스템의 모든 VOQ에 대한 패킷을 저장할 수 있는 적절한 버퍼가 있어야 합니다. 버퍼 크기는 GPU 수와 GPU당 우선순위 대기열 수에 비례합니다. GPU 규모가 커지면 수신 버퍼 수요가 더 커집니다.

송신 큐 버퍼에는 요청-승인 핸드셰이크 중에 이러한 버퍼가 소진되는 것을 방지하기 위해 데이터 플레인을 통한 왕복 지연을 처리할 수 있는 충분한 공간이 있어야 합니다. 3레벨 데이터 플레인을 사용하는 대규모 GPU 클러스터에서는 케이블 대기 시간과 추가 스위치로 인해 이 왕복 지연이 증가할 수 있습니다. 증가된 왕복 지연을 수용하기 위해 송신 대기열 버퍼가 적절하게 조정되지 않았다고 가정합니다. 이 경우 출력 링크는 100% 활용도를 달성할 수 없으므로 시스템 성능이 저하됩니다.

VOQ 시스템은 Egress Scheduling을 통해 Head-of-Line Blocking으로 인한 Tail Latency를 줄이지만, Ingress Leaf 스위치가 요청-승인 핸드셰이크를 수행해야 하기 때문에 추가 왕복 지연으로 인해 패킷의 최소 지연 시간이 늘어납니다. 패킷을 전송합니다.

이러한 제한에도 불구하고 완전 예약된 VOQ(패브릭)는 일반적인 이더넷 트래픽보다 꼬리 대기 시간을 줄이는 데 훨씬 더 나은 성능을 제공합니다. 버퍼를 늘려 링크 활용도를 90% 이상으로 높이면 GPU 규모 확장으로 인한 추가 오버헤드에 투자할 가치가 있을 수 있습니다.

또한 공급업체 종속은 VOQ(원단)가 직면한 문제입니다. 각 공급업체는 고유한 프로토콜을 사용하기 때문에 동일한 패브릭에서 스위치를 혼합하고 일치시키는 것이 매우 어렵습니다.

요약: 주류 GPU 클러스터 네트워킹 기술 적용

NVLink 스위칭 시스템은 GPU 상호통신을 위한 효과적인 솔루션을 제공하지만, 지원되는 GPU 규모가 상대적으로 제한되어 주로 서버 내 GPU 통신 및 서버 노드 간 소규모 데이터 전송에 적용됩니다. InfiniBand 네트워크는 기본 RDMA 네트워크로서 정체가 없고 대기 시간이 짧은 환경에서 탁월한 성능을 발휘합니다. 그러나 상대적으로 폐쇄적인 아키텍처와 높은 비용으로 인해 유선 연결을 요구하는 중소 규모 고객에게 더 적합합니다.

성숙한 이더넷 생태계, 최저 네트워킹 비용, 가장 빠른 대역폭 반복 속도를 기반으로 하는 ROCE 무손실 이더넷은 중대형 훈련 GPU 클러스터 시나리오에서 더 높은 적용 가능성을 보여줍니다.

DDC 완전 예약 네트워크의 경우 셀 스위칭과 VOQ(가상 출력 큐) 기술을 결합하여 이더넷 혼잡 문제를 해결하는 데 상당한 이점을 갖습니다. 신흥 기술로서 업계는 장기적인 잠재력과 응용 가능성을 평가하기 위한 연구 단계에 있습니다.

코멘트 남김

위쪽으로 스크롤