반응형
반응형
반응형

NVSwitch HotChips 2022 r5.pdf
4.12MB

1. NVLink의 동기 (NVLink Motivations)

NVLink는 대역폭(Bandwidth)과 GPU 간 효율적인 동작(GPU-Synergistic Operation)을 목표로 설계되었습니다.

(1) GPU 동작 특성이 NVLink 사양과 적합 (GPU Operational Characteristics Match NVLink Spec)

  • 스레드 블록(Thread Block) 실행 구조가 병렬화된 NVLink 아키텍처에 효율적으로 데이터를 전달
  • NVLink 포트 인터페이스(NVLink-Port Interfaces)는 L2 캐시와의 데이터 교환 방식과 최대한 일치하도록 설계됨

(2) PCIe보다 빠름 (Faster than PCIe)

  • NVLink4 기준 100Gbps/레인 vs PCIe Gen5 기준 32Gbps/레인으로 훨씬 높은 대역폭 제공
  • 여러 개의 NVLink를 "ganging" (연결 묶기)하여 총 레인 수를 증가시켜 더 높은 집계 대역폭 실현 가능

(3) 기존 네트워크보다 낮은 오버헤드 (Lower Overheads than Traditional Networks)

  • 256개 Hopper GPU를 연결하는 대규모 시스템에서 엔드 투 엔드 재시도(end-to-end retry), 적응형 라우팅(adaptive routing), 패킷 재정렬(packet reordering) 등의 기능을 포트 개수와 트레이드오프 가능
  • 애플리케이션, 프레젠테이션, 세션 계층(Application/Presentation/Session-layer)을 단순화하여 CUDA 프로그램 및 드라이버에 직접 포함 가능

2. 오른쪽 블록 다이어그램 설명

이 다이어그램은 NVLink를 통한 GPU 내부 및 외부 데이터 흐름을 보여줍니다.

  1. SM (Streaming Multiprocessor, 녹색 박스)
    • GPU의 기본 연산 단위로서 스레드 블록(Thread Block)이 실행되는 곳
    • 여러 개의 SM이 병렬로 동작하며, 서로 데이터를 주고받음
  2. SM 간 통신 (SM to SM, 파란색 박스)
    • GPU 내부에서 SM 간 통신을 처리하는 역할
    • SM들 간의 직접적인 데이터 교환을 통해 메모리 접근 오버헤드 감소
  3. L2 캐시 (L2, 회색 박스)
    • 모든 SM이 공유하는 L2 캐시
    • NVLink 포트 인터페이스와 연결되어 외부와 데이터를 주고받음
  4. NVLink 포트 인터페이스 (NVLink-Port Interfaces, 녹색 박스)
    • GPU 외부의 다른 GPU 또는 CPU와 NVLink를 통해 직접 데이터 교환
    • PCIe를 사용하는 것보다 더 높은 대역폭과 낮은 지연시간 제공

3. 핵심 요약

  • NVLink는 GPU 병렬 구조와 잘 맞으며 PCIe보다 훨씬 빠른 대역폭 제공
  • 기존 네트워크보다 오버헤드가 낮아 대규모 GPU 시스템에서 효율적인 데이터 교환 가능
  • NVLink 포트 인터페이스를 통해 L2 캐시를 활용하여 외부와 직접 연결
  • SM 간 통신(SM to SM)과 L2 캐시를 통한 데이터 교환을 최적화하여 GPU 간 연산 성능 향상

이 NVLink 개념은 HPC(고성능 컴퓨팅), AI 모델 학습 및 추론, 데이터 센터 GPU 클러스터링에서 중요한 역할을 합니다.


GPU 내부 신호 흐름 및 NVLink와의 연결 구조 정리

1. SM (Streaming Multiprocessor) 내부 연산 및 통신

  • SM은 Thread Block 단위로 연산을 수행하며, CUDA 코어를 통해 병렬 연산을 처리함.
  • 같은 SM 내의 CUDA 코어들은 Shared Memory, L1 Cache를 통해 데이터 공유.
  • SM 간 통신은 "SM-to-SM" 네트워크를 통해 이루어짐.

2. SM 간 통신 (SM-to-SM 네트워크)

  • 여러 SM이 존재하는 GPU에서는 SM 간 데이터 교환이 필요함.
  • 이를 위해 "SM-to-SM 네트워크"가 존재하며, 같은 GPC 내 SM들이 데이터를 교환할 수 있음.
  • SM 간 데이터를 공유하는 방식:
    1. SM-to-SM 네트워크 직접 이용 (빠른 데이터 공유)
    2. L2 캐시를 거쳐 데이터 공유 (데이터 일관성 유지)

3. L2 캐시를 통한 메모리 계층 구조

  • GPU 내부에는 L2 캐시가 존재하며, 모든 SM들이 공유함.
  • 주요 역할:
    • SM 간 데이터 공유
    • NVLink 또는 PCIe를 통한 외부 데이터 전송 시 캐싱 역할 수행
    • Global Memory (DRAM/HBM) 접근 시 속도 향상

4. NVLink 및 외부 인터페이스와의 연결

  • L2 캐시에서 나온 데이터는 NVLink-Port Interfaces 또는 PCIe를 통해 외부로 전송됨.
  • NVLink를 통해 다른 GPU 또는 NVSwitch에 직접 연결 가능.
  • NVLink 연결 구조:
    • GPU ↔ GPU (멀티 GPU 환경)
    • GPU ↔ NVSwitch (대규모 GPU 클러스터)
    • 일부 IBM POWER9/10 CPU ↔ GPU (특수한 경우)
    • 일반적인 x86 CPU ↔ GPU 연결은 PCIe를 통해 이루어짐.

정리: GPU 내부 및 외부 신호 흐름

  1. SM 내부:
    • Thread Block 실행 → CUDA 코어 연산 → Shared Memory / L1 캐시 활용
  2. SM 간 통신:
    • SM-to-SM 네트워크를 통한 직접 통신 (빠름)
    • L2 캐시를 거쳐 통신 (데이터 일관성 유지)
  3. L2 캐시를 통한 데이터 공유:
    • 여러 SM에서 공통 데이터 저장
    • 외부 메모리(HBM/GDDR) 접근 최적화
  4. 외부 인터페이스 연결:
    • NVLink를 통해 GPU ↔ GPU 또는 NVSwitch와 직접 연결 가능
    • x86 CPU와는 NVLink 직접 연결 불가능 → PCIe로 연결 필요

결론적으로, SM → SM-to-SM 네트워크 → L2 → NVLink/PCIe 흐름을 기본적으로 따르며, 특정 환경에서는 SM 간 직접 NVLink 통신도 가능하지만, CPU 연결은 일반적으로 PCIe를 통해 이루어집니다. 

반응형
반응형

시스템 아키텍트가 고려해야 할 사항 (PCIe, NVLink, CXL, NVMe)

고성능 컴퓨팅(HPC) 및 AI 서버를 설계할 때 PCIe, NVLink, CXL, NVMe 같은 인터페이스를 효율적으로 활용하는 것이 필수적입니다.
이러한 인터커넥트를 설계할 때 시스템 아키텍트가 고려해야 할 요소를 기초부터 체계적으로 설명하겠습니다.


1️⃣ 기본 개념 이해: 데이터 흐름과 인터페이스 역할

🔹 인터페이스의 목적

각 인터페이스는 특정한 데이터 흐름을 최적화하기 위해 존재합니다.

인터페이스역할

PCIe CPU와 GPU, SSD 같은 고속 장치를 연결하는 범용 인터페이스
NVLink 여러 개의 GPU 간 초고속 데이터 공유
CXL CPU와 메모리, 가속기 간 데이터 공유 최적화
NVMe CPU와 SSD 간 빠른 데이터 전송

🔹 인터페이스 간 데이터 흐름

이 인터페이스들은 서로 직접 연결되거나 브릿지 칩을 거쳐 데이터가 이동합니다.
예를 들어, AI 서버에서 GPU 연산을 위한 데이터 흐름을 생각해보면 다음과 같습니다.

데이터 저장소 (SSD/NVMe) → CPU (PCIe) → GPU (PCIe/NVLink) → 메모리 (CXL)

 

이제 이 흐름을 고려하면서 설계를 시작해야 합니다.


2️⃣ 대역폭 (Bandwidth)과 확장성 (Scalability)

인터페이스 성능을 결정하는 가장 중요한 요소대역폭과 확장성입니다.

🔹 대역폭 비교

인터페이스대역폭 (최신 버전 기준)

PCIe 5.0 32 GT/s (x16 링크 기준 최대 128GB/s)
PCIe 6.0 64 GT/s (x16 링크 기준 최대 256GB/s)
NVLink 4.0 900 GB/s (8개 링크 기준)
CXL 2.0 PCIe 5.0과 유사하지만, 메모리 공유 최적화
NVMe Gen4 7~14 GB/s (SSD 1개 기준)

💡 고려해야 할 사항

  1. 목표 성능에 따라 인터페이스 선택
    • AI 모델 학습은 GPU 간 대역폭이 중요NVLink 사용
    • CPU와 GPU 간 연결이 많다면 PCIe 5.0/6.0 사용
    • CPU와 메모리 확장성이 필요하면 CXL 도입
    • 고속 데이터 로딩이 필요하면 NVMe Gen4/Gen5 SSD 선택
  2. PCIe Lane 개수 고려
    • PCIe는 Lane 개수(x1, x4, x8, x16)에 따라 성능이 달라짐.
    • AI 서버는 일반적으로 PCIe x16을 사용하지만, 리소스를 나눠야 할 경우 x8도 사용 가능.

3️⃣ 레이턴시 (Latency) 최적화

🔹 레이턴시란?

레이턴시(Latency)는 데이터가 한 장치에서 다른 장치로 이동하는 데 걸리는 시간입니다.

  • 레이턴시가 높으면 실시간 AI 추론, 금융 데이터 처리, HPC 시뮬레이션 속도가 느려질 수 있음.

🔹 각 인터페이스의 레이턴시 특성

인터페이스레이턴시

PCIe 5.0/6.0 수백 ns (나노초)
NVLink 몇 십 ns
CXL 메모리 공유 방식에 따라 변화
NVMe (SSD) 100μs (마이크로초) 이상

💡 고려해야 할 사항

  1. AI 추론 시스템의 경우 레이턴시가 중요
    • GPU 간 데이터 이동이 많다면 NVLink를 사용하여 레이턴시 감소
    • CPU-GPU 간 데이터 이동이 많으면 PCIe 대신 CXL을 고려
  2. NVMe 사용 시 CPU-메모리 간 병목 해결 필요
    • SSD 데이터 로딩 속도를 극대화하려면 DMA(Direct Memory Access) 및 RDMA 기술을 활용.
    • AI 훈련 중 NVMe → CPU → GPU 경로를 최적화하기 위해 NUMA 메모리 정책 조정 가능.

4️⃣ 호환성 (Compatibility) & 시스템 확장

🔹 인터페이스 간 호환성

서버 설계 시 가장 중요한 것 중 하나는 "모든 장치가 잘 연결되는가?"입니다.

인터페이스하위 호환성

PCIe 하위 버전과 호환 가능 (예: PCIe 5.0 슬롯에 PCIe 3.0 카드 장착 가능)
NVLink NVIDIA GPU 전용 (AMD와 호환되지 않음)
CXL PCIe 기반이라 호환 가능하지만, 지원하는 CPU 필요
NVMe 일반적으로 모든 PCIe 슬롯과 호환됨

💡 고려해야 할 사항

  1. PCIe 버전이 다르면 성능이 낮아질 수 있음
    • PCIe 5.0 메인보드에서 PCIe 3.0 장치를 사용하면 PCIe 3.0 속도로 제한됨.
  2. NVLink 사용 시 NVIDIA GPU만 사용 가능
    • 만약 AMD Instinct GPU를 사용한다면 NVLink 대신 PCIe나 Infinity Fabric 사용 필요.
  3. CXL 도입 여부 확인
    • CXL은 새로운 기술이므로, CPU/메인보드가 CXL을 지원하는지 확인 필요.

5️⃣ 전력 소모 (Power Consumption)

AI 서버는 높은 전력을 소모하므로, 인터페이스가 소비하는 전력도 고려해야 합니다.

🔹 인터페이스별 전력 소비

인터페이스전력 소모 (예상)

PCIe x16 (Gen5) 약 25~30W
NVLink (1개 링크) 약 5~10W
CXL PCIe와 유사 (10~30W)
NVMe SSD 약 10W (고속 SSD의 경우 더 높음)

💡 고려해야 할 사항

  1. GPU 여러 개를 사용할 경우 전력 예산 관리 필요
    • PCIe 스위치(NVSwitch 포함)도 전력 소모가 큼.
    • AI 서버는 듀얼 PSU(전원공급장치) 및 48V 전력 아키텍처 고려.
  2. NVMe SSD 사용 시 전력 대비 성능 고려
    • NVMe는 빠르지만, 고속 SSD는 발열이 높음.
    • 서버의 공랭/수랭 냉각 시스템 설계도 함께 고려 필요.

✅ 최종 정리

고려 요소설계 시 핵심 포인트

대역폭 AI 훈련 성능을 위해 PCIe 5.0/6.0, NVLink 활용
레이턴시 실시간 추론을 위해 NVLink, RDMA 사용
호환성 PCIe 호환성 확인, NVLink는 NVIDIA 전용
확장성 향후 업그레이드를 고려한 PCIe Lane 배치
전력 소모 대형 AI 서버는 전력 & 냉각 솔루션 필수

 

반응형

+ Recent posts