NV 스위치의 심층 분석 및 성능 프로파일링

NVIDIA의 GPU 기술은 의심할 여지 없이 오늘날의 고성능 컴퓨팅 환경에서 밝게 빛납니다. 인공지능과 머신러닝의 급속한 발전으로 컴퓨팅 성능에 대한 수요가 지속적으로 증가함에 따라 GPU 간의 상호 연결이 점점 더 중요해지고 있습니다. 이러한 배경에서 NVIDIA는 NVLink 프로토콜과 이 기술을 기반으로 하는 다중 GPU 상호 연결 솔루션인 NV Switch를 출시했습니다.

이 섹션에서는 고성능 서버 클러스터 구축에 있어 NV Switch의 개발 역사, 작동 원리 및 핵심 역할을 자세히 살펴보고 이 기술의 신비한 측면을 공개합니다.

NV 스위치가 필요한 이유

개별 GPU 컴퓨팅 능력이 물리적 한계에 가까워짐에 따라 여러 GPU 간의 협업이 불가피한 추세가 되었습니다.

개별 GPU 계산 기능

그러나 다른 GPU의 HBM2 메모리에 액세스하려면 PCIe 인터페이스를 통과해야 합니다. 위 다이어그램에서 볼 수 있듯이 기존 PCIe 인터페이스는 데이터 전송 속도와 대역폭에 제한이 있어 종종 GPU 통신의 성능 병목 현상이 발생합니다. 이러한 한계를 극복하기 위해 NVIDIA는 PCIe 대역폭의 XNUMX배를 제공하는 NVLink 기술을 개발했습니다. 단일 서버 내에서 XNUMX개의 GPU를 지점 간 네트워크를 통해 연결하여 혼합 큐브 메시를 형성할 수 있습니다.

NVLink의 핵심 장점은 기존 CPU 할당 및 스케줄링 메커니즘을 우회하여 GPU 간에 직접 데이터 교환을 가능하게 한다는 것입니다. 이 설계는 데이터 전송 대기 시간을 줄이고 전체 시스템 처리량을 크게 향상시킵니다. 또한 NVlink GPC를 사용하면 카드 간 HBM2 메모리 데이터에 액세스할 수 있고 다른 GPU 내에서 HBM2 데이터와 상호 작용할 수 있습니다.

다중 GPU 시스템에서 NVLINK는 XBAR 역할도 하여 서로 다른 GPU 간의 브리지 역할을 하여 데이터가 자유롭게 흐르도록 합니다. 이는 PCIe 버스와의 충돌을 교묘하게 피하여 NVLink와 PCIe가 보완 솔루션으로 공존할 수 있도록 하고 시스템에 필요한 데이터 전송 기능을 총체적으로 제공합니다.

NV Switch는 이러한 기반을 바탕으로 완전히 비차단 완전히 상호 연결된 GPU 시스템을 지원합니다. 중간 GPU 홉 없이 더 많은 NVLink 인터페이스를 제공함으로써 대규모 GPU 상호 연결이 가능해지며 결과적으로 더욱 강력한 컴퓨팅 클러스터가 탄생합니다.

NVIDIA의 기술 발전 과정에서 Pascal 아키텍처는 NVLink를 처음 도입하여 고속 채널을 생성하여 GPU 통신 효율성을 크게 향상시켰습니다. 그러나 진정한 도약은 NVSwitch의 탄생과 함께 차세대 Volta 아키텍처에서 이루어졌습니다.

NVSwitch는 데이터 전송 네트워크에서 지능형 허브 역할을 하며 추가 NVLink 링크를 지원하고 여러 GPU 간의 완전한 상호 연결을 허용합니다. 데이터 교환 효율성과 유연성을 크게 최적화합니다.

여러 GPU 간의 완전한 상호 연결성

그림에서 볼 수 있듯이 Volta 아키텍처는 GPU 간 통신이 300GB/s를 달성한 반면 Hopper 아키텍처는 900GB/s로 더욱 발전했습니다. 이러한 성과의 배경에는 Volta의 6개에서 Hopper의 18개로 확장된 NVLink 링크 수가 크게 증가한 것이 있습니다. 이는 원래 고속도로에 육교와 로터리를 추가하여 GPU 간의 보다 효율적인 데이터 흐름을 가능하게 하고 고성능 컴퓨팅 및 대규모 병렬 처리에 대한 강력한 지원을 제공하는 것과 유사합니다.

Volta 아키텍처로 300G 통신 달성

위 다이어그램은 DGX 서버의 GPU 상호 연결 아키텍처를 보여줍니다. DGX-1 P100에는 8개의 GPU 카드가 있으며, 각 카드는 GPU 간 고속 통신을 가능하게 하는 4개의 NVLink 링크를 지원합니다. 이러한 GPU는 두 개의 큐브 메시로 구성되며 각 큐브에는 4개의 GPU(GPU 0~3 및 GPU 4~7)가 포함됩니다. 각 큐브 내에서 GPU는 NVLink 또는 PCIe 스위치를 통해 직접 통신할 수 있습니다. 그러나 큐브 간 통신(예: GPU 0과 GPU 4 간)에는 다른 GPU를 통한 간접 라우팅이 필요합니다.

DGX-2는 GPU 간의 보다 효율적인 통신을 가능하게 하는 획기적인 발전인 NVIDIA의 6세대 NVSwitch 기술을 도입했습니다. Volta 아키텍처에서 각 GPU 카드는 4개가 아닌 6개의 NVLink 링크를 지원합니다. 또한 DGX-2는 8개의 NVSwitch를 통합하여 서버의 모든 GPU를 상호 연결하여 중간 홉 없이 XNUMX쌍의 GPU 간에 동시 통신이 가능합니다. 이러한 직접적인 고속 통신은 데이터 전송 효율성과 전반적인 계산 성능을 크게 향상시킵니다.

DGX-A100은 100세대 NVSwitch 기술을 활용합니다. 12세대에 비해 6세대 NVSwitch는 더 높은 통신 대역폭과 더 낮은 대기 시간을 제공합니다. A100 아키텍처에서 각 GPU 카드는 8개의 NVLink(100세대) 링크를 지원하고 XNUMX개의 NVSwitch는 완전히 연결된 네트워크 토폴로지를 생성합니다. 표준 DGX AXNUMX 구성에는 GPU 카드가 XNUMX개만 포함되어 있지만 대규모 슈퍼컴퓨팅을 위해 더 많은 AXNUMX GPU 및 NVSwitch를 지원하도록 시스템을 확장할 수 있습니다.

DGX-H100은 18세대 NVSwitch 및 100세대 NVLink 기술을 사용합니다. 각 GPU 카드는 4개의 NVLink 링크를 지원합니다. H5 아키텍처에서는 계층화된 토폴로지를 사용하여 4개의 NVSwitch가 도입되었습니다. 각 카드는 4개의 링크가 있는 첫 번째 NVSwitch, 5개의 링크가 있는 두 번째 NVSwitch, 72개의 링크가 있는 세 번째 NVSwitch, 3.6개의 링크가 있는 네 번째 NVSwitch에 연결됩니다. 그 결과 총 1.5개의 NVLink가 XNUMXTB/s 양방향 NVLink 네트워크 대역폭을 제공하며 이는 이전 세대보다 XNUMX배 향상된 것입니다.

원래 NVSwitch 설계는 대규모 병렬 처리를 위해 완전히 차단되지 않고 완전히 상호 연결된 GPU 시스템을 만드는 것을 목표로 했습니다. 18세대에서 NVSwitch는 16개의 인터페이스를 지원하여 효율적인 데이터 공유 및 통신을 위해 최대 XNUMX개의 GPU를 완전히 상호 연결할 수 있습니다.

V100 아키텍처 다이어그램에 표시된 것처럼 각 GPU에는 NVSwitch에 연결되는 6개의 NVLink 채널이 있어 고대역폭 통신 네트워크를 형성합니다. DGX-2 시스템에서는 8개의 V100 GPU가 이러한 NVLink 채널을 통해 6개의 NVSwitch에 연결되어 강력한 백본을 생성합니다.

V100 GPU

위 다이어그램에서 볼 수 있듯이 V100 아키텍처에서는 각 GPU에 NVSwitch에 연결할 수 있는 6개의 NVLink 채널이 있어 고대역폭 통신 네트워크를 구성합니다. DGX-2 시스템에서는 8개의 V100 GPU가 이러한 NVLink 채널을 통해 6개의 NVSwitch에 연결되어 강력한 백본을 생성합니다.

NVLink

2.0세대 NVSwitch는 NVLink 50 기술을 지원하며 각 인터페이스는 듀얼 채널과 최대 900GB/s 대역폭을 제공합니다. 이는 NVSwitch를 통해 전체 시스템이 XNUMXGB/s라는 인상적인 총 대역폭을 달성하여 데이터 전송 속도와 계산 효율성을 크게 향상한다는 것을 의미합니다.

또한 NVSwitch는 TSMC의 12nm FinFET FFN 프로세스를 사용하여 제조되므로 최대 100억 개의 트랜지스터를 통합하면서 200W 전력으로 작동할 수 있습니다.

회로 I/O 및 패키징과 관련하여 NVSwitch는 1940개의 핀이 있는 대형 BGA 칩에 패키징되어 있으며, 그 중 576개는 특별히 18개의 NVLink 링크를 지원하는 데 사용됩니다. 나머지 핀은 x4 PCIe 관리 포트, I2C, GPIO를 포함한 전원 및 다양한 I/O 인터페이스를 처리하여 시스템에 유연한 관리 및 확장 기능을 제공합니다.

특정 매개변수는 아래 표에 나와 있습니다.

매개변수 nvSwitch

NVLink 양방향 BW 최대 50GB/s

실제 활용도 최대 80%

NV 스위치 블록

NV 스위치 블록

그림과 같이 초기 NVSwitch 블록에는 왼쪽에 GPU XBAR이 포함되어 있습니다. 이는 NVLink 상호 연결 환경을 위해 설계된 고도로 전문화된 브리징 장치로, 데이터 패킷이 외부적으로 단일 GPU로 표시되는 동시에 여러 GPU 간에 흐르고 교환될 수 있도록 합니다. GPU XBAR을 통해 클라이언트 애플리케이션은 여러 GPU의 종합적인 성능을 활용하여 클라이언트 측에서 GPU 간 통신을 관리하는 복잡성을 줄일 수 있습니다.

또한 GPU XBAR은 SRAM(Static Random-Access Memory) 기반 버퍼 기술을 활용하여 비차단 데이터 전송을 달성합니다. 이 버퍼링 메커니즘은 높은 부하에서도 연속성과 효율성을 보장합니다.

V100 GPU부터 NVIDIA는 NVLink IP 블록과 XBAR 설계를 재사용하여 다양한 세대의 제품 간의 호환성을 보장하고 NVLink 기술의 지속적인 반복과 최적화를 지원하는 동시에 개발 비용과 시간을 줄였습니다.

nvswitch 물리적 주소 지정

또한 이 다이어그램은 NVSwitch와 GPU가 전체 GPU에 데이터를 배포하고 전송하는 방법을 보여줍니다. 프로그래밍에서 개발자는 일반적으로 운영 체제에서 관리하고 추상화한 가상 주소를 처리하여 다양한 프로그램에 독립적인 주소 공간을 제공합니다. 그러나 데이터는 메모리의 물리적 주소를 사용하여 물리적으로 저장됩니다. 이러한 물리적 주소는 메모리의 특정 위치를 직접 가리키며 데이터 액세스의 기반을 형성합니다. NVLink를 통해 데이터를 전송할 때 그림과 같이 가상 주소 대신 물리적 주소가 사용됩니다. 이 선택은 데이터 인덱싱 및 액세스 속도를 가속화합니다.

NVLink의 브리징 장치인 NVSwitch는 고대역폭 통신 경로를 제공할 뿐만 아니라 복잡한 라우팅 및 버퍼링 메커니즘을 관리하여 데이터 패킷이 올바른 물리적 주소를 기반으로 대상으로 정확하고 신속하게 전송되도록 합니다. NVLink 통신에 물리적 주소를 사용하면 대상 GPU에서 주소 변환의 필요성이 줄어들어 대기 시간이 줄어들고 데이터 전송 속도가 향상됩니다. 이는 대량의 데이터를 빠르게 처리해야 하는 고성능 컴퓨팅 및 AI 애플리케이션에 매우 중요합니다.

NVSwitch: 단순화 원리 및 기능

갱

NVSwitch가 없는 구성에서 GPU-GPU 직접 연결에는 일반적으로 NVLink를 여러 그룹("갱"이라고 함)으로 집계하는 작업이 포함됩니다. 이 설정에서는 여러 GPU가 공유 NVLink 링크를 통해 통신합니다. 그러나 이 접근 방식의 한계는 두 GPU 간의 최대 대역폭이 해당 갱 내의 NVLink 수량 및 대역폭에 의해 제한된다는 것입니다.

V100

NVSwitch 소개 및 개선 사항 NVIDIA의 NVSwitch 기술은 GPU 간 통신에 혁명을 일으켰습니다. 고속 스위치인 NVSwitch는 모든 링크에서 데이터 상호 작용을 허용합니다.

NVSwitch 아키텍처에서는 모든 GPU 쌍이 직접 상호 연결될 수 있으며, 6개의 NVLink의 총 대역폭을 초과하지 않는 한 개별 GPU 트래픽은 비차단 전송을 달성합니다. 즉, NVSwitch가 지원하는 완전히 상호 연결된 아키텍처를 통해 성능 저하 없이 더 많은 GPU를 수용할 수 있는 손쉬운 시스템 확장이 가능합니다. 각 GPU는 신속한 데이터 교환을 위해 NVLink가 제공하는 높은 대역폭을 활용할 수 있습니다.

다중 GPU 상호 연결에서 NVSwitch의 장점 및 특징:

확장성 및 확장성: NVSwitch의 도입으로 GPU 클러스터의 확장성이 크게 향상되었습니다. NVSwitch를 더 추가하기만 하면 시스템이 추가 GPU를 원활하게 지원하여 컴퓨팅 용량을 확장할 수 있습니다.

효율적인 시스템 구축: 예를 들어, 3개의 NVSwitch를 사용하여 8개의 GPU를 효율적으로 상호 연결할 수 있습니다. 이 설계를 통해 모든 GPU 링크에서 데이터가 자유롭게 흐르고 데이터 순환의 유연성과 효율성이 극대화됩니다.

양방향 대역폭 활용: 이 구성에서는 모든 GPU 쌍이 통신을 위해 전체 300GBps 양방향 대역폭을 활용할 수 있습니다. 각 GPU는 고속, 저지연 데이터 전송을 달성하여 계산 작업 처리 속도를 크게 향상시킵니다.

비차단 통신: NVSwitch 내의 크로스바 스위치(XBAR)는 데이터 전송을 위해 A 지점에서 B 지점으로의 고유한 경로를 제공합니다. 이 설계는 비차단 및 간섭 없는 통신을 보장하여 데이터 전송 신뢰성과 전반적인 시스템 성능을 더욱 향상시킵니다.

최적화된 네트워크 토폴로지: NVSwitch는 대규모 GPU 클러스터를 구축하기 위한 최적화된 솔루션을 제공하는 네트워크 토폴로지 구조를 지원합니다. 시스템 설계자는 특정 컴퓨팅 요구 사항에 따라 GPU 간 연결을 유연하게 구성할 수 있습니다.

3세대 NVSwitch

3세대 NVSwitch

다이어그램에 표시된 것처럼 4세대 NVSwitch는 TSMC의 64N 프로세스를 사용하여 제조됩니다. 많은 수의 트랜지스터와 높은 대역폭에도 불구하고 상대적으로 낮은 전력 소비를 유지합니다. 4개의 NVLink 3.2 링크 포트를 제공하여 각 GPU 간의 고속 통신을 유지하면서 수많은 GPU를 포함하는 복잡한 네트워크 구축을 가능하게 합니다. 또한 XNUMXTB/s의 양방향 대역폭을 지원하여 데이터 전송 속도를 크게 향상시키고 데이터세트의 대규모 병렬 처리를 더욱 효율적으로 만듭니다.

256세대 NVSwitch는 서버 내에서 여러 GPU 카드를 연결하는 것 외에도 확장하여 GPU 서버를 외부에 연결하여 완전한 고속 GPU 클러스터를 형성할 수도 있습니다. 100세대 NVSwitch 칩으로 구성된 물리적 스위치는 최대 57.6개의 HXNUMX GPU로 클러스터를 생성하여 총 XNUMXTB/s의 대역폭을 제공할 수 있습니다.

신호 기술과 관련하여 50Gbaud PAM4 신호 처리를 채택하고 각 차동 쌍은 100Gbps 대역폭을 제공하여 고속 전송과 낮은 대기 시간을 유지합니다.

NVSwitch는 all_gather, Reduce_scatter 및 Broadcast Atomics와 같은 작업을 포함한 NVIDIA SHARP 기술을 통합하여 클러스터 통신을 가속화하고 성능을 더욱 향상시킵니다. NVSwitch 3.0의 물리적 전기 인터페이스는 400Gbps 이더넷 및 InfiniBand와 호환되므로 기존 네트워크 기술과의 상호 운용성을 보장합니다.

포트 로직

NVIDIA의 3세대 NVSwitch에는 몇 가지 혁신적인 기능이 도입되었습니다. 새로운 SHARP 모듈과 NVLink 모듈을 포함하면 다이어그램에 표시된 것처럼 GPU 간의 효율적인 통신 및 데이터 처리가 크게 향상됩니다.

새로운 SHARP 모듈

새로 도입된 SHARP 모듈은 지능형 지휘자 역할을 하며 강력한 처리 기능으로 데이터 교향곡을 선도합니다. 논리 연산부터 산술 연산까지 다양한 연산자를 지원하고 FP16, BF16 등 다양한 데이터 형식과 호환되어 AI 및 머신러닝 워크로드에 대한 강력한 지원을 제공합니다. SHARP 컨트롤러의 설계를 통해 멀티 태스킹 천팔신과 유사하게 최대 128개의 SHARP 그룹을 병렬 관리할 수 있어 데이터 병렬 처리 효율성이 크게 향상됩니다.

세심하게 조정되고 최적화된 NVSwitch 내의 크로스바 스위치(XBAR)는 SHARP 모듈의 데이터 전송 요구 사항과 완벽하게 일치합니다. 이 협업 설계는 GPU 간의 효율적이고 지연 시간이 짧은 데이터 전송을 보장하여 마치 질주하는 말처럼 시스템의 전반적인 성능을 향상시킵니다.

새로운 NVLink 모듈

통합된 새로운 NVLink 모듈은 데이터 및 칩에 대한 추가적인 보안 보호를 제공할 뿐만 아니라 무단 액세스 및 잠재적인 데이터 유출에 대한 강력한 보호막 역할을 할 뿐만 아니라 데이터 보안도 강화합니다. 전략적인 체스 움직임과 같은 포트 파티셔닝의 도입은 서로 다른 포트를 별도의 NVLink 네트워크로 격리하여 여러 네트워크에 걸친 논리적 리소스 파티셔닝에 대한 더 큰 유연성을 제공하고 멀티태스킹 기능을 최적화합니다.

차세대 Octal Small Formfactor Pluggable(OSFP) 케이블 지원은 향후 네트워크 확장을 위한 견고한 기반을 보장합니다. 이러한 케이블은 더 높은 데이터 전송 속도와 더 낮은 신호 감쇠를 제공하여 장거리 고속 통신에 적합하고 네트워크 확장성에 대한 무한한 가능성을 가능하게 합니다.

새로운 NVLink 모듈은 또한 원격 측정 기능을 확장하여 시스템 관리자가 네트워크 성능을 정밀하게 모니터링하고 최적화하여 안정적인 시스템 작동을 보장할 수 있도록 해줍니다. 통합된 순방향 오류 수정(FEC) 기술은 경계하는 수호자 역할을 하여 특히 신호 감쇠 또는 간섭이 발생할 경우 데이터 전송 신뢰성을 향상시켜 데이터 무결성과 정확성을 보장합니다.

H100 GPU가 NVLink 네트워킹을 활용하는 경우 IB 네트워킹을 사용하는 A100 GPU에 비해 ​​얼마나 더 빠릅니까? DGX A100 256 POD와 DGX H100 256 POD 간의 대역폭을 비교해 보겠습니다.

H100 GPU용 InfiniBand(IB)와 NVLink 네트워크 비교

DGX A100 내부 대역폭:

각 DGX A100: 8/2 * 600GB/s = 2400GB/s

32개의 DGX A100(256개의 A100 GPU)에서 서버당 8x 200Gbps HDR NIC와 4:1의 TOR 스위치 수렴 비율을 가정합니다.

총 대역폭 = 256/2/4 * 200GB/s = 6400GB/s

DGX H100 내부 대역폭:

각 DGX H100: 8/2 * 900GB/s = 3600GB/s

32개의 DGX H100(256개의 H100 GPU)에서 수렴 비율은 2:1입니다.

총 대역폭 = 256/2/2 * 900GB/s = 57600GB/s

DGX A100과 비교하여 단일 DGX H100은 대역폭이 1.5배 증가하고 양방향 대역폭이 3배 증가합니다. 32개의 DGX H100을 사용하면 레인당 대역폭을 9배, 양방향 대역폭을 4.5배 향상할 수 있습니다.

신경 추천 엔진

요약

오늘날과 같은 데이터 중심 시대에 고성능 컴퓨팅에 대한 요구는 계속해서 기술적 한계를 뛰어넘고 있습니다. GPU 간의 통신 브리지 역할을 하는 NVIDIA의 NVSwitch 기술은 효율적인 컴퓨팅 클러스터를 구축하는 데 중요한 역할을 합니다. 최초의 NVSwitch 출시부터 3세대 혁신에 이르기까지 NVIDIA의 컴퓨팅 효율성에 대한 끊임없는 추구는 분명합니다. NVSwitch는 데이터 전송 대역폭과 속도를 향상시킬 뿐만 아니라 SHARP 및 NVLink 모듈을 통해 데이터 처리 기능과 시스템 보안을 강화합니다. 이를 통해 다중 GPU 시스템이 보다 효율적으로 협업할 수 있으며 인공 지능, 기계 학습 및 빅 데이터 분석과 같은 분야에 대한 강력한 지원을 제공합니다. 기술이 발전함에 따라 NVSwitch는 NVIDIA의 혁신과 산업 발전을 주도하는 상징으로 고성능 컴퓨팅 환경에서 중추적인 역할을 계속할 것입니다. NVSwitch를 통해 우리는 더욱 스마트하고 효율적이며 상호 연결된 미래를 기대합니다.

코멘트 남김

위쪽으로 스크롤