본문 바로가기
[GPUaaS]/ExamTopics_NCP AII

Question #17 To validate bisectional bandwidth across two racks in a Spectrum-X

by Cloud All Study 2026. 10. 14.
반응형

 
 

Question #17 (Topic: Exam A)Topic 1

To validate bisectional bandwidth across two racks in a Spectrum-X Ethernet fabric, which NCCL test configuration isolates East-West traffic?

  • A. Run without splits and analyze per-rack averages
  • B. NCCL_TESTS_SPLIT= “MOD 2” ./all_reduce_perf -g 8
  • C. NCCL_TESTS_SPLIT= “DIV 8” ./all_reduce_perf -g 1
  • D. NCCL_TESTS_SPLIT= “OR 0x7” ./all_reduce_perf -g 8

 

 

 

Spectrum-X 이더넷 패브릭에서 두 랙 간의 양방향 대역폭을 검증하기 위해 어떤 NCCL 테스트 구성이 동서 트래픽을 분리합니까?

  • A. 분할 없이 실행하고 랙별 평균을 분석합니다.
  • B. NCCL_TESTS_SPLIT= “MOD 2” ./all_reduce_perf -g 8
  • C. NCCL_TESTS_SPLIT= “DIV 8” ./all_reduce_perf -g 1
  • D. NCCL_TESTS_SPLIT= “OR 0x7” ./all_reduce_perf -g 8

 
 
 
 
정답은 B. NCCL_TESTS_SPLIT="MOD 2" ./all_reduce_perf -g 8 입니다. ✅
이 문제는 앞에서 풀었던 NVLink/NVSwitch 단일 노드 bisection 문제와 비슷하지만, 이번에는 Spectrum-X Ethernet에서 Rack ↔ Rack, 즉 East-West 트래픽을 검증하는 문제입니다.
NVIDIA 공식 nccl-tests 문서에서 MOD 2는 전체 rank를 짝수/홀수 두 그룹으로 나누고, 각각의 그룹이 every-other-rank를 사용해 동시에 NCCL operation을 수행한다고 설명합니다. GitHub


1. 문제를 쉽게 번역하면

두 개의 Rack에 걸쳐 있는 Spectrum-X Ethernet 환경에서
Rack과 Rack 사이의 네트워크 대역폭을 검증하고 싶다.
어떤 NCCL 테스트 설정이 적절한가?

핵심 단어는:

Two racks
   +
Spectrum-X
   +
Bisectional Bandwidth
   +
East-West Traffic

입니다.


2. East-West Traffic이 뭐야?

초보자 기준으로 가장 쉽게 보면:

데이터센터 내부 서버 ↔ 서버 통신

입니다.
예를 들어:

Rack A                         Rack B

DGX01 ─┐                    ┌─ DGX05
DGX02 ─┼─ Leaf ─ Spine ─ Leaf ─ DGX06
DGX03 ─┤                    ├─ DGX07
DGX04 ─┘                    └─ DGX08

Rack A의 DGX가 Rack B의 DGX와 데이터를 주고받으면:

Rack A  ←────────────→ Rack B
            East-West

입니다.
NVIDIA도 Spectrum-X를 AI workload의 GPU-to-GPU / node-to-node East-West 통신에 최적화된 Ethernet fabric으로 설명합니다. NVIDIA Developer


3. 왜 MOD 2인가?

예를 들어 전체 NCCL rank가:

Rank 0
Rank 1
Rank 2
Rank 3
Rank 4
Rank 5
Rank 6
Rank 7
...

라고 해보겠습니다.
여기에:

NCCL_TESTS_SPLIT="MOD 2"

를 적용합니다.
rank % 2를 계산합니다.

Rank 0 % 2 = 0
Rank 1 % 2 = 1
Rank 2 % 2 = 0
Rank 3 % 2 = 1
Rank 4 % 2 = 0
Rank 5 % 2 = 1
...

그러면:

Group 0
0, 2, 4, 6, 8, 10 ...

Group 1
1, 3, 5, 7, 9, 11 ...

두 그룹으로 나뉩니다.
공식 nccl-tests 문서에서도:

AND 0x1 또는 MOD 2
→ 두 개의 operation 생성
→ 각각 every-other-rank 사용

이라고 명시합니다. GitHub


4. Rack을 걸쳐 실행하면 어떻게 되나요?

예를 들어 rank들이 두 Rack의 여러 DGX에 배치되어 있다고 해보겠습니다.

Rack A                     Rack B

Rank 0                     Rank 8
Rank 1                     Rank 9
Rank 2                     Rank 10
Rank 3                     Rank 11
...                        ...

MOD 2를 사용하면 두 communicator 모두 여러 노드/Rack에 걸쳐 만들어질 수 있습니다.

Group 0
Rack A GPU ───────── Rack B GPU

Group 1
Rack A GPU ───────── Rack B GPU

그리고 두 그룹에서 동시에:

AllReduce

를 실행합니다.
결과적으로:

Rack A
  │
  │ 대량의 NCCL Traffic
  ▼
Leaf
  │
Spine
  │
Leaf
  ▼
Rack B

처럼 East-West fabric에 실제 부하를 줄 수 있습니다.

POINT. MOD 2만 설정한다고 물리 Rack 위치가 자동으로 결정되는 것은 아닙니다. 실제 환경에서는 MPI/Slurm rank placement가 두 Rack에 걸쳐 있도록 배치해야 합니다.


5. all_reduce_perf는 왜 사용하나?

./all_reduce_perf -g 8

all_reduce_perf는 여러 GPU가 서로 데이터를 주고받으며 AllReduce 성능을 측정합니다.

GPU 계산 결과
 ↓
AllReduce
 ↓
다른 Node로 전송
 ↓
Spectrum-X Ethernet
 ↓
다른 Rack
 ↓
다른 GPU

그래서 AI 분산학습에서 실제 사용하는 통신 패턴과 유사한 부하를 네트워크에 줄 수 있습니다.
NCCL Tests에서 특히 busbw는 NVLink, PCIe 또는 네트워크 같은 실제 통신 fabric의 성능을 비교하기 위한 지표입니다. GitHub


6. ❌ A — Split 없이 실행

Run without splits

물론 일반적인 AllReduce 성능은 측정할 수 있습니다.
하지만:

전체 Traffic 혼합
 ↓
Intra-node
Intra-rack
Inter-rack

이 섞일 수 있습니다.
문제는 특별히:

isolates East-West traffic

이라고 했습니다.
따라서 split을 사용하는 B가 더 적절합니다.


7. ❌ C — DIV 8

NCCL_TESTS_SPLIT="DIV 8" ./all_reduce_perf -g 1

여기가 중요한 함정입니다. ⚠️
NVIDIA 공식 nccl-tests 문서에서:

OR 0x7
또는
DIV 8

은 8-GPU 시스템에서 node별 operation, 즉 purely intra-node 테스트를 만드는 예로 제시됩니다. GitHub
예를 들어:

Rank 0~7
→ Group 0

Rank 8~15
→ Group 1

8 GPU/node라면:

Node 1 GPU 8개 → Group 0
Node 2 GPU 8개 → Group 1

가 되어 각각 자기 노드 안에서 통신합니다.
즉:

Node1 내부 ←→ Node1 내부

Node2 내부 ←→ Node2 내부

그래서 Rack 간 East-West 검증과 반대 방향입니다.


8. ❌ D — OR 0x7

NCCL_TESTS_SPLIT="OR 0x7"

공식 문서상:

OR 0x7
≈ DIV 8

의 활용 예는 8-GPU/node 시스템에서:

one operation per node → purely intra-node

입니다. GitHub
따라서 이것 역시 Rack-to-Rack East-West bandwidth 테스트에는 맞지 않습니다.


🔥 이 문제에서 특히 주의할 점

웹의 일부 비공식 문제은행에서는 이 문제의 답을 DIV 8로 표시하는 곳이 있습니다.
하지만 NVIDIA 공식 nccl-tests 문서의 split 정의를 그대로 적용하면:

MOD 2
→ Every other rank
→ Multi-node communicator 가능
→ Inter-node / East-West 부하

DIV 8 / OR 0x7
→ 8-GPU node별 그룹
→ Intra-node

이므로 주어진 보기에서는 B가 기술적으로 가장 타당합니다. GitHub


🎯 시험용 암기

이건 표로 외우시면 좋습니다.

NCCL_TESTS_SPLIT8-GPU 시스템에서 의미
MOD 2 / AND 0x1 짝수/홀수 rank → 2개의 교차 그룹
MOD 8 / AND 0x7 GPU별 그룹 → inter-node 통신에 활용 가능
DIV 8 / OR 0x7 Node별 그룹 → intra-node

한 줄 암기

두 Rack 사이 East-West Bisection → MOD 2로 rank를 교차 분할 → AllReduce

따라서 Question #17 = B ✅
그리고 이번 문제는 앞의 Question #4와 연결해서 기억하면 좋습니다.

Q4 단일 DGX NVSwitch
→ AND 0x1
→ Even/Odd GPU

Q17 두 Rack Spectrum-X
→ MOD 2
→ Even/Odd Rank
→ East-West Network

AND 0x1과 MOD 2는 공식 nccl-tests에서 동일한 2-group 분할 효과를 냅니다. GitHub
 
============================
 
Spectrum-X Ethernet Fabric은 NVIDIA가 AI/GPU 클러스터용으로 최적화한 고속 이더넷 네트워크 전체입니다.
즉,

Spectrum-X = AI용 초고속 Ethernet 기술
Fabric = 서버·NIC·스위치·케이블이 연결된 전체 네트워크 구조

라고 보면 됩니다. NVIDIA는 Spectrum-X를 Spectrum Ethernet Switch + SuperNIC을 결합한 AI 최적화 Ethernet 플랫폼으로 설명합니다. NVIDIA

1. 일반 Ethernet하고 뭐가 다른가?

일반 Ethernet도 서버끼리 통신할 수 있습니다.

Server A
   │
Ethernet Switch
   │
Server B

하지만 AI 클러스터에서는 수백~수천 개 GPU가 동시에 엄청난 데이터를 주고받습니다.

GPU Server 1 ─┐
GPU Server 2 ─┤
GPU Server 3 ─┼─ Switch ─ 다른 Rack
GPU Server 4 ─┘

이때 일반 Ethernet은 혼잡, 지연, 패킷 손실 때문에 GPU가 기다리는 상황이 생길 수 있습니다.
Spectrum-X는 이런 AI 트래픽을 위해:

  • 높은 대역폭
  • 낮은 latency
  • RoCE
  • Adaptive Routing
  • Congestion Control
  • Performance Isolation

등을 최적화한 Ethernet입니다. NVIDIA는 Spectrum-X가 AI용으로 고대역폭 lossless RoCE 기반 East-West 네트워크를 제공한다고 설명합니다. NVIDIA Docs

2. Spectrum-X 안에는 뭐가 있나?

초보자 기준으로 핵심은 두 가지입니다.

GPU Server
   │
SuperNIC
   │
Spectrum-X Ethernet Switch
   │
다른 GPU Server

SuperNIC

GPU 서버 쪽에 장착되는 고성능 NIC입니다.
예:

  • BlueField-3 SuperNIC
  • ConnectX-8
  • ConnectX-9

이 장치가 GPU 서버의 고속 통신을 담당합니다. NVIDIA는 SuperNIC이 GPU 서버 간 RoCE 기반 고대역폭 연결을 제공한다고 설명합니다. NVIDIA

Spectrum Switch

GPU 서버 여러 대를 연결하는 AI용 Ethernet Switch입니다.

DGX01 ─┐
DGX02 ─┤
DGX03 ─┼─ Spectrum Switch
DGX04 ─┘

3. Fabric은 왜 붙이나?

Spectrum-X Ethernet은 기술/플랫폼 이름이고,
Spectrum-X Ethernet Fabric은 실제 데이터센터에 구축된 전체 네트워크를 뜻합니다.
예를 들어:

Rack A                         Rack B

DGX01 ─┐                    ┌─ DGX05
DGX02 ─┼─ Leaf ─ Spine ─ Leaf ─ DGX06
DGX03 ─┤                    ├─ DGX07
DGX04 ─┘                    └─ DGX08

여기서:

SuperNIC
+ Cable
+ Leaf Switch
+ Spine Switch
+ 전체 연결 경로

를 모두 합쳐 Spectrum-X Ethernet Fabric이라고 부릅니다.

Fabric = 네트워크 장비 하나가 아니라 전체 연결망

입니다.

4. 앞 문제의 East-West와 연결하면

Question #17에서는:

두 Rack 사이 Spectrum-X Ethernet fabric의 East-West bandwidth를 확인

한다고 했죠.
East-West는:

Rack A  ←────────→  Rack B
      GPU 서버끼리 통신

입니다.
예를 들어 분산학습 중 NCCL AllReduce가 실행되면:

GPU
 ↓
NCCL
 ↓
SuperNIC
 ↓
Spectrum-X Switch
 ↓
다른 Rack
 ↓
SuperNIC
 ↓
GPU

이 경로를 타고 데이터가 이동합니다.
그래서 Spectrum-X는 GPU-to-GPU / node-to-node 통신용 AI compute fabric에 특히 중요합니다. NVIDIA Docs

5. InfiniBand와 차이는?

이 부분이 시험에서 중요합니다.

구분Spectrum-XInfiniBand
기반 Ethernet InfiniBand
AI 최적화 O O
RDMA RoCE Native RDMA
장비 Spectrum Switch + SuperNIC Quantum Switch + HCA
주요 용도 AI Cloud / Ethernet AI Fabric AI / HPC
NCCL 사용 가능 가능

즉:

Spectrum-X = Ethernet 기반 AI 네트워크
InfiniBand = InfiniBand 기반 AI/HPC 네트워크

입니다.
둘 다 목표는 비슷합니다.

GPU ↔ GPU
빠르게 통신

하지만 사용하는 네트워크 기술이 다릅니다.

시험용 암기

딱 이렇게 기억하세요.

Spectrum-X = NVIDIA의 AI 최적화 Ethernet

그리고:

Spectrum-X Fabric = Spectrum Switch + SuperNIC + Cable + Leaf/Spine으로 구성된 전체 AI 네트워크

앞 문제와 연결하면:

NCCL
 ↓
Spectrum-X
 ↓
RoCE
 ↓
Rack ↔ Rack
 ↓
East-West Traffic

입니다.
이 개념을 잡으면 앞으로 RoCE, SuperNIC, Spectrum Switch, Leaf-Spine, East-West 문제도 훨씬 쉽게 이해됩니다.
 
 

반응형

댓글