Chapter 4: GPU & EFA ๋คํธ์ํน
๋๊ท๋ชจ ๋ถ์ฐ ํ์ต์ ํ๋์จ์ด ๊ธฐ๋ฐ์ ์ดํดํฉ๋๋ค. NVIDIA GPU ์คํ, NVLink/NVSwitch ์ธํฐ์ปค๋ฅํธ, AWS Trainium, EFA ๋คํธ์ํน, ๊ทธ๋ฆฌ๊ณ FSx for Lustre ์คํ ๋ฆฌ์ง๊น์ง ๋ค๋ฃน๋๋ค.
1. NVIDIA H100
H100 ๊ฐ์
NVIDIA H100์ Hopper ์ํคํ ์ฒ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ์ผํฐ GPU๋ก, ๋๊ท๋ชจ AI ํ์ต๊ณผ ์ถ๋ก ์ ์ต์ ํ๋์์ต๋๋ค. SXM๊ณผ NVL ๋ ๊ฐ์ง ํผํฉํฐ๋ก ์ ๊ณต๋ฉ๋๋ค.
H100 SXM vs NVL ์คํ ๋น๊ต
| ์คํ | H100 SXM | H100 NVL |
|---|---|---|
| HBM3 ๋ฉ๋ชจ๋ฆฌ | 80 GB | 94 GB (2-GPU ํฉ์ฐ 188 GB) |
| ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ | 3.35 TB/s | 3.9 TB/s |
| FP16 Tensor Core | 1,979 TFLOPS | 1,979 TFLOPS |
| FP8 Tensor Core | 3,958 TFLOPS | 3,958 TFLOPS |
| BF16 Tensor Core | 1,979 TFLOPS | 1,979 TFLOPS |
| NVLink ๋์ญํญ | 900 GB/s (์๋ฐฉํฅ) | 600 GB/s (NVLink Bridge) |
| TDP | 700W | 400W (per GPU) |
| MIG ์ง์ | ์ต๋ 7 ์ธ์คํด์ค | ์ต๋ 7 ์ธ์คํด์ค |
| ํผํฉํฐ | SXM5 (์๋ฒ ์ ์ฉ) | PCIe Gen5 ๋์ผ์ฌ๋กฏ |
| ์ฌ์ฉ ์ฌ๋ก | ๋๊ท๋ชจ ํ์ต ํด๋ฌ์คํฐ | LLM ์ถ๋ก , RAG |
2. NVIDIA H200
H200 ๊ฐ์
NVIDIA H200์ H100์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทธ๋ ์ด๋ ๋ฒ์ ์ผ๋ก, HBM3e ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ฌํ์ฌ ๋ํ LLM ์ถ๋ก ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค.
H200 vs H100 ๋น๊ต
| ์คํ | H100 SXM | H200 SXM | ๊ฐ์ ์จ |
|---|---|---|---|
| HBM ์ฉ๋ | 80 GB (HBM3) | 141 GB (HBM3e) | +76% |
| ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ | 3.35 TB/s | 4.8 TB/s | +43% |
| FP8 Tensor Core | 3,958 TFLOPS | 3,958 TFLOPS | ๋์ผ |
| NVLink ๋์ญํญ | 900 GB/s | 900 GB/s | ๋์ผ |
| TDP | 700W | 700W | ๋์ผ |
LLM ์ถ๋ก ์ฑ๋ฅ ํฅ์
H200์ ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋์ญํญ์ LLM ์ถ๋ก ์์ ํนํ ํฐ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
| ๋ชจ๋ธ | H100 ์ฒ๋ฆฌ๋ | H200 ์ฒ๋ฆฌ๋ | ํฅ์ |
|---|---|---|---|
| Llama 2 70B | ๊ธฐ์ค | 1.9๋ฐฐ | +90% |
| Llama 3 70B | ๊ธฐ์ค | 1.6๋ฐฐ | +60% |
| GPT-3 175B | ๊ธฐ์ค | 1.8๋ฐฐ | +80% |
3. NVLink & NVSwitch
NVLink ๊ฐ์
NVLink๋ NVIDIA GPU ๊ฐ ์ง์ ์ฐ๊ฒฐ์ ์ํ ๊ณ ์ ์ธํฐ์ปค๋ฅํธ์ ๋๋ค. PCIe๋ณด๋ค ํจ์ฌ ๋์ ๋์ญํญ๊ณผ ๋ฎ์ ์ง์ฐ์๊ฐ์ ์ ๊ณตํฉ๋๋ค.
NVLink ์ธ๋๋ณ ๋์ญํญ
| ์ธ๋ | ์ํคํ ์ฒ | GPU๋น ๋์ญํญ | ๋งํฌ๋น ์๋ |
|---|---|---|---|
| NVLink 1.0 | Pascal (P100) | 160 GB/s | 20 GB/s x 4 ๋งํฌ |
| NVLink 2.0 | Volta (V100) | 300 GB/s | 25 GB/s x 6 ๋งํฌ |
| NVLink 3.0 | Ampere (A100) | 600 GB/s | 50 GB/s x 12 ๋งํฌ |
| NVLink 4.0 | Hopper (H100) | 900 GB/s | 50 GB/s x 18 ๋งํฌ |
| NVLink 5.0 | Blackwell (B100/B200) | 1,800 GB/s | 100 GB/s x 18 ๋งํฌ |
| NVLink 6.0 | Rubin (์์ ) | 3,600 GB/s | 200 GB/s x 18 ๋งํฌ |
NVSwitch
NVSwitch๋ ๋จ์ผ ๋ ธ๋ ๋ด์์ ๋ชจ๋ GPU๋ฅผ ์์ ์ฐ๊ฒฐ(Full Mesh)ํ๋ ์ค์์น ์นฉ์ ๋๋ค.
| ์คํ | NVSwitch 3.0 (A100) | NVSwitch 4.0 (H100) |
|---|---|---|
| ์ด ๋์ญํญ | 4.8 TB/s | 7.2 TB/s |
| ํฌํธ ์ | 36 NVLink 3 | 64 NVLink 4 |
| GPU ์ฐ๊ฒฐ | 8 GPU All-to-All | 8 GPU All-to-All |
NVL72 (GB200 NVL72)
NVIDIA์ ์ต์ GB200 NVL72 ์์คํ ์ 72๊ฐ์ Blackwell GPU๋ฅผ NVLink 5.0์ผ๋ก ์ฐ๊ฒฐํฉ๋๋ค:
- ์ด GPU ๋ฉ๋ชจ๋ฆฌ: 72 x 192GB = 13.8 TB HBM3e
- ์ด NVLink ๋์ญํญ: 130 TB/s
- 1.4 ExaFLOPS AI ์ฐ์ฐ ์ฑ๋ฅ (FP8)
- ๋จ์ผ ์์คํ ์์ 27์กฐ(27T) ํ๋ผ๋ฏธํฐ ์ค์๊ฐ ์ถ๋ก ๊ฐ๋ฅ
4. AWS Trainium
Trainium ๊ฐ์
AWS Trainium์ AWS๊ฐ ์์ฒด ๊ฐ๋ฐํ ML ํ์ต ์ ์ฉ ๊ฐ์๊ธฐ์ ๋๋ค. NVIDIA GPU ๋๋น ์ต๋ 50% ๋น์ฉ ์ ๊ฐ์ ๋ชฉํ๋ก ํฉ๋๋ค.
Trainium ์ธ๋๋ณ ๋น๊ต
| ์คํ | Trn1 (Trainium 1) | Trn2 (Trainium 2) | Trn3 (Trainium 3, ์์ ) |
|---|---|---|---|
| ์ถ์ | 2022๋ 10์ | 2024๋ 11์ | 2025๋ ํ๋ฐ ์์ |
| ์นฉ๋น HBM | 32 GB (HBM2e) | 96 GB (HBM3) | 192 GB (HBM3e) |
| ์นฉ๋น TFLOPS (BF16) | 210 TFLOPS | 750 TFLOPS | ~1,400 TFLOPS |
| ์ธ์คํด์ค | trn1.32xlarge | trn2.48xlarge | TBD |
| ์นฉ ์/์ธ์คํด์ค | 16 ์นฉ | 16 ์นฉ | TBD |
| ์ด HBM/์ธ์คํด์ค | 512 GB | 1.5 TB | 3 TB+ |
| NeuronLink | 1์ธ๋ | 2์ธ๋ (4๋ฐฐ ๋์ญํญ) | 3์ธ๋ |
| EFA ๋์ญํญ | 800 Gbps | 3,200 Gbps | TBD |
NeuronLink & NeuronSwitch
- NeuronLink: Trainium ์นฉ ๊ฐ ์ง์ ์ฐ๊ฒฐ (NVLink์ AWS ๋ฒ์ )
- NeuronSwitch: ๋ ธ๋ ๋ด ๋ชจ๋ Trainium ์นฉ์ ์ฐ๊ฒฐํ๋ ์ค์์น
- Trn2์์ NeuronLink ๋์ญํญ์ด Trn1 ๋๋น 4๋ฐฐ ํฅ์
๊ฐ๊ฒฉ ๋๋น ์ฑ๋ฅ
- Trn1: P4d (A100) ๋๋น ํ์ต ๋น์ฉ ์ต๋ 50% ์ ๊ฐ
- Trn2: P5 (H100) ๋๋น ์ ์ฌ ์ฑ๋ฅ, ๋ ๋ฎ์ ๊ฐ๊ฒฉ
- AWS Neuron SDK๋ก PyTorch/JAX ๋ค์ดํฐ๋ธ ์ง์
- ์ ์ฝ: ์ผ๋ถ ์ฐ์ฐ์/๋ชจ๋ธ ์ํคํ ์ฒ ํธํ์ฑ ํ์ธ ํ์
5. AWS P5/P5e/P5en ์ธ์คํด์ค
P5 ์๋ฆฌ์ฆ ์์ธ ์คํ ๋น๊ต
| ์คํ | P5.48xlarge | P5e.48xlarge | P5en.48xlarge |
|---|---|---|---|
| GPU | 8x H100 SXM | 8x H200 SXM | 8x H200 SXM |
| GPU ๋ฉ๋ชจ๋ฆฌ | 8x 80GB = 640 GB | 8x 141GB = 1.1 TB | 8x 141GB = 1.1 TB |
| vCPU | 192 | 192 | 192 |
| ์์คํ ๋ฉ๋ชจ๋ฆฌ | 2 TB | 2 TB | 2 TB |
| NVSwitch | NVSwitch 4.0 | NVSwitch 4.0 | NVSwitch 4.0 |
| GPU ๊ฐ ๋์ญํญ | 900 GB/s/GPU | 900 GB/s/GPU | 900 GB/s/GPU |
| EFA ๋์ญํญ | 3,200 Gbps | 3,200 Gbps | 6,400 Gbps |
| EFA ์ด๋ํฐ | 32x EFA | 32x EFA | 64x EFA |
| NVMe ์คํ ๋ฆฌ์ง | 8x 3.84 TB | 8x 3.84 TB | 8x 3.84 TB |
| ์ด NVMe | 30.7 TB | 30.7 TB | 30.7 TB |
| ์ฌ์ฉ ์ฌ๋ก | ๋๊ท๋ชจ ํ์ต | LLM ์ถ๋ก , ๊ธด ์ปจํ ์คํธ | ์ด๋๊ท๋ชจ ํ์ต |
6. EFA (Elastic Fabric Adapter)
EFA ์ ์
EFA (Elastic Fabric Adapter)๋ AWS๊ฐ ๊ฐ๋ฐํ ๊ณ ์ฑ๋ฅ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ก, HPC์ ML ์ํฌ๋ก๋๋ฅผ ์ํด ์ค๊ณ๋์์ต๋๋ค.
OS Bypass ์ํคํ ์ฒ
EFA์ ํต์ฌ ๊ธฐ๋ฅ์ OS Bypass์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด OS ์ปค๋์ ๊ฑฐ์น์ง ์๊ณ ๋คํธ์ํฌ ํ๋์จ์ด์ ์ง์ ์ ๊ทผํฉ๋๋ค:
# ์ ํต์ ์ธ ๋คํธ์ํฌ ์คํ (๋์ ์ง์ฐ์๊ฐ)
Application โ System Call โ Kernel TCP/IP โ NIC Driver โ NIC โ Network
# EFA OS Bypass (๋ฎ์ ์ง์ฐ์๊ฐ)
Application โ Libfabric API โ EFA Hardware โ Network
โ
์ปค๋ ์ฐํ (Direct Memory Access)
# ASCII ๋ค์ด์ด๊ทธ๋จ: EFA OS Bypass
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Application โ
โ (NCCL, MPI ๋ฑ) โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Libfabric API (User Space)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ EFA Device โ
โ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SRD Protocol โ โ ํจํท ์์ค ์ ์ฌ์ ์กโ
โ โ (Scalable โ โ
โ โ Reliable โ โ
โ โ Datagram) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ RDMA (Remote Direct Memory Access)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AWS Network โ
โ (Petabit Scale) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
SRD Protocol
SRD (Scalable Reliable Datagram)๋ AWS๊ฐ ๊ฐ๋ฐํ ์ ์ก ํ๋กํ ์ฝ์ ๋๋ค:
- InfiniBand Reliable Connection๋ณด๋ค ํ์ฅ์ฑ์ด ๋์
- ํจํท ์์ค ์ ์๋ ์ฌ์ ์ก (์ ๋ขฐ์ฑ)
- ์์ ๋ณด์ฅ ์์ โ ๋์ ์ฒ๋ฆฌ๋
- AWS ๋คํธ์ํฌ ํน์ฑ์ ์ต์ ํ
Libfabric
Libfabric์ ๊ณ ์ฑ๋ฅ ํจ๋ธ๋ฆญ ์๋น์ค๋ฅผ ์ํ ์ฌ์ฉ์ ๊ณต๊ฐ API์ ๋๋ค:
- OpenFabrics ์ฌ๋จ์์ ๊ฐ๋ฐ
- InfiniBand, EFA, TCP ๋ฑ ๋ค์ํ ๋ฐฑ์๋ ์ง์
- NCCL, MPI๊ฐ Libfabric์ ํตํด EFA์ ์ ๊ทผ
7. EFA ๋์ญํญ
์ธ์คํด์ค ํ์ ๋ณ EFA ๋์ญํญ
| ์ธ์คํด์ค | GPU/๊ฐ์๊ธฐ | EFA ๋์ญํญ | EFA ์ด๋ํฐ ์ |
|---|---|---|---|
| P6e (B200) | 8x B200 | 28,800 Gbps (28.8 Tbps) | TBD |
| P5en.48xlarge | 8x H200 | 6,400 Gbps | 64 |
| P5.48xlarge | 8x H100 | 3,200 Gbps | 32 |
| P5e.48xlarge | 8x H200 | 3,200 Gbps | 32 |
| Trn2.48xlarge | 16x Trainium2 | 3,200 Gbps | 32 |
| Trn1.32xlarge | 16x Trainium1 | 800 Gbps | 8 |
| P4d.24xlarge | 8x A100 | 400 Gbps | 4 |
| P4de.24xlarge | 8x A100 80GB | 400 Gbps | 4 |
8. RDMA ์ง์
RDMA๋?
RDMA (Remote Direct Memory Access)๋ ์๊ฒฉ ์์คํ ์ ๋ฉ๋ชจ๋ฆฌ์ CPU ๊ฐ์ ์์ด ์ง์ ์ฝ๊ธฐ/์ฐ๊ธฐํ๋ ๊ธฐ์ ์ ๋๋ค.
RDMA ๋์
# RDMA Write (zero-copy)
Node A GPU Memory โโโโโโโโโโโโโโโโโโ Node B GPU Memory
โ
CPU/OS ๊ฐ์
์์
๋คํธ์ํฌ ํ๋์จ์ด๊ฐ ์ง์ ์ ์ก
# ์ ํต์ ์ธ ์ ์ก (multiple copies)
Node A GPU โ Node A CPU โ Kernel โ NIC โ Network โ NIC โ Kernel โ Node B CPU โ Node B GPU
copy copy copy copy copy
AWS Nitro ๋ฒ์ ๋ณ RDMA ์ง์
| Nitro ๋ฒ์ | ์ธ์คํด์ค | EFA RDMA ์ง์ | GPUDirect RDMA |
|---|---|---|---|
| Nitro v4 | P4d, Trn1 | ๋ถ๋ถ (SRD) | ๋ฏธ์ง์ |
| Nitro v5 | P5, Trn2 | ์์ ์ง์ | ์ง์ |
| Nitro v6 | P5en, P6e | ์์ ์ง์ | ์ง์ |
9. FSx for Lustre
FSx for Lustre ๊ฐ์
Amazon FSx for Lustre๋ ๊ณ ์ฑ๋ฅ ๋ณ๋ ฌ ํ์ผ ์์คํ ์ผ๋ก, ML ํ์ต์ ์ฒดํฌํฌ์ธํธ ์ ์ฅ๊ณผ ๋ฐ์ดํฐ ๋ก๋ฉ์ ์ต์ ํ๋์์ต๋๋ค.
์ฑ๋ฅ ์คํ
| ์คํ | Scratch (์์) | Persistent (์๊ตฌ) |
|---|---|---|
| ์ต๋ ์ฒ๋ฆฌ๋ | 200 MB/s per TiB | 50-1000 MB/s per TiB |
| IOPS | ์๋ฐฑ๋ง | ์๋ฐฑ๋ง |
| ์ง์ฐ์๊ฐ | ~1ms ๋ฏธ๋ง | ~1ms ๋ฏธ๋ง |
| ๋ด๊ตฌ์ฑ | ์์ (์์) | ๋ณต์ /๋ฐฑ์ |
| ์ฌ์ฉ ์ฌ๋ก | ๋จ๊ธฐ ํ์ต, ์บ์ | ์ฒดํฌํฌ์ธํธ, ๋ฐ์ดํฐ์ |
Storage Classes
| ์คํ ๋ฆฌ์ง ํด๋์ค | ์ฒ๋ฆฌ๋ | ๋น์ฉ | ์ฌ์ฉ ์ฌ๋ก |
|---|---|---|---|
| SSD (PERSISTENT_1) | 50-200 MB/s/TiB | ๋์ | ์ง์ฐ์๊ฐ ๋ฏผ๊ฐ ์ํฌ๋ก๋ |
| SSD (PERSISTENT_2) | 125-1000 MB/s/TiB | ์ค๊ฐ | ML ํ์ต ๊ถ์ฅ |
| HDD (PERSISTENT) | 12-40 MB/s/TiB | ๋ฎ์ | ๋์ฉ๋ Cold ๋ฐ์ดํฐ |
File Striping
Lustre๋ ๋์ฉ๋ ํ์ผ์ ์ฌ๋ฌ OST(Object Storage Target)์ ๋ถ์ฐ ์ ์ฅํฉ๋๋ค:
- ํ์ผ ํฌ๊ธฐ > 100GB: ์๋์ผ๋ก stripe count 32
- ๋ณ๋ ฌ I/O๋ก ์ฒ๋ฆฌ๋ ์ ํ ์ฆ๊ฐ
- ์ฒดํฌํฌ์ธํธ ์ ์ฅ ์ ๋ชจ๋ ๋ ธ๋๊ฐ ๋์์ ์ฐ๊ธฐ ๊ฐ๋ฅ
EFA Throughput
| ์ฐ๊ฒฐ ๋ฐฉ์ | ์ต๋ ์ฒ๋ฆฌ๋ | ์ค๋ช |
|---|---|---|
| Standard (ENA) | 100 Gbps | ์ผ๋ฐ ๋คํธ์ํฌ ์ธํฐํ์ด์ค |
| EFA | 700 Gbps | EFA ์ง์ ์ฐ๊ฒฐ |
| EFA + GPUDirect Storage | 1,200 Gbps | GPU ๋ฉ๋ชจ๋ฆฌ โ FSx ์ง์ ์ ์ก |
10. EC2 UltraClusters
UltraCluster ๊ฐ์
EC2 UltraClusters๋ AWS์ ์ด๋๊ท๋ชจ ML ํ์ต์ ์ํ ํด๋ฌ์คํฐ ๊ตฌ์ฑ์ ๋๋ค.
์คํ
| ์คํ | ์์น |
|---|---|
| ์ต๋ GPU ์ | 20,000+ GPU |
| ์ต๋ ์ฐ์ฐ ์ฑ๋ฅ | 20 ExaFLOPS (FP8) |
| ๋คํธ์ํฌ | Petabit-scale non-blocking fabric |
| ์คํ ๋ฆฌ์ง | FSx for Lustre (TB/s ๊ธ ์ฒ๋ฆฌ๋) |
| ์ง์ ์ธ์คํด์ค | P5, P5e, P5en, Trn2 |
ํน์ง
- Non-blocking Fabric: ๋ชจ๋ ๋ ธ๋ ๊ฐ ๋์ผํ ๋์ญํญ ๋ณด์ฅ (Fat-tree ํ ํด๋ก์ง)
- ๋์ผ ๊ฐ์ฉ์์ญ: ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๊ฐ์ AZ์ ์์นํ์ฌ ์ง์ฐ์๊ฐ ์ต์ํ
- Placement Group: Cluster placement group์ผ๋ก ๋คํธ์ํฌ ์ต์ ํ
- EFA ํ ํ์ฉ: ๋ชจ๋ EFA ์ด๋ํฐ๊ฐ ์ต๋ ๋์ญํญ ์ฌ์ฉ ๊ฐ๋ฅ
- Amazon Nova: ์๋ง ๊ฐ์ ๊ฐ์๊ธฐ์์ Checkpointless Training์ผ๋ก ํ์ต
- Anthropic Claude: AWS UltraCluster์์ Claude ๋ชจ๋ธ ํ์ต
- Stability AI: Stable Diffusion ๋ชจ๋ธ ํ์ต
์์ฝ
- H100 SXM: 80GB HBM3, 900 GB/s NVLink, ๋๊ท๋ชจ ํ์ต์ ํ์ค
- H200: 141GB HBM3e, 4.8 TB/s ๋์ญํญ, LLM ์ถ๋ก ์ฑ๋ฅ 1.6-1.9๋ฐฐ ํฅ์
- NVLink 4.0: GPU๋น 900 GB/s, NVSwitch๋ก 8 GPU All-to-All 7.2 TB/s
- Trainium 2: H100 ๋๋น ์ ์ฌ ์ฑ๋ฅ, ์ต๋ 50% ๋น์ฉ ์ ๊ฐ
- P5en: 6,400 Gbps EFA, ์ด๋๊ท๋ชจ ํ์ต์ ์ต์
- EFA: OS Bypass + SRD + Libfabric์ผ๋ก ์ ์ง์ฐ ๊ณ ๋์ญํญ ํต์
- FSx for Lustre: EFA 700 Gbps, GDS 1,200 Gbps๋ก ์ฒดํฌํฌ์ธํธ ๊ณ ์ ์ ์ฅ
- UltraClusters: 20,000 GPU, 20 ExaFLOPS, Petabit ๋คํธ์ํฌ