이 글은 NHN FORWARD 22 "HPC 인프라 구축하기"를 보고 작성한 글입니다.
HPC(High-Performance Computing)
HPC는 여러 개의 고성능 컴퓨터 자원을 네트워크로 연결하여 하나의 슈퍼컴퓨터처럼 동작하도록 설계된 환경이다. 대규모 병렬 연산을 수행하며, AI·딥러닝·과학 계산·데이터 분석 등의 분야에서 필수적으로 사용된다.
딥러닝 모델의 크기가 기하급수적으로 증가함에 따라, HPC 인프라의 성능과 네트워크 최적화가 중요한 요소로 부각되고 있다.
HPC 구성 요소

Management Switch
- HPC 시스템 내 다양한 노드와 스위치에 접근하기 위한 관리 네트워크
- 모든 관리용 케이블이 이 스위치에 연결됨
Out-of-Band
- 관리망(Management Network)과 연결되는 별도의 네트워크 스위치
- 운영 중인 클러스터와 분리된 관리 네트워크를 통해 장비를 모니터링하고 제어할 수 있도록 함
Compute Fabric
- GPU 서버 간 연산을 위한 데이터 교환을 담당하는 고속 네트워크
- Compute Fabric 스위치를 통해 노드 간 통신을 수행하여 계산 성능을 극대화함
Storage Fabric
- 공유 스토리지(Shared Storage)와 HPC 노드 간 데이터 전송을 담당하는 네트워크
- 스토리지 시스템의 대역폭과 I/O 성능을 최적화하기 위해 구성됨
Scratch Storage
- HPC 작업 수행 중 생성되는 임시 데이터를 저장하는 고속 스토리지
- 대용량 연산을 위해 빠른 읽기/쓰기가 가능하도록 설계됨
- 주로 고속 SSD 또는 병렬 파일 시스템을 활용하여 성능을 보장함
네트워크 가속 장치

① Foundation NIC
- 기본적인 네트워크 인터페이스 카드(NIC)로, 서버와 네트워크 스위치 간 TCP/IP 기반 데이터 전송
- 추가적인 가속 기능 없이 일반적인 패킷 전송 수행
- 주로 관리 네트워크 또는 저속 대역폭 전송에 활용됨
② SmartNIC
- 지능형 NIC로, 패킷 처리, OVS 오프로드, 방화벽·암호화·DDoS 방어 기능을 하드웨어에서 직접 수행
- Host/Hypervisor의 네트워크 패킷 처리를 분산하여 CPU 부담을 감소시키고 성능을 향상시킴
- 데이터센터 및 클라우드 네트워크 운영 효율성을 개선
③ DPU (Data Processing Unit)
- SmartNIC보다 확장된 네트워크·스토리지·보안 가속 장치
- eSwitch에서 직접 패킷을 받아 처리하며, OVS의 역할 자체를 대체할 수 있음
- Host/Hypervisor의 부담을 완전히 제거하고, AI·HPC·클라우드 환경에서 데이터 이동·보안·컴퓨팅 성능 최적화
RDMA(Remote Direct Memory Access)
RDMA는 네트워크를 통해 CPU 개입 없이 원격 메모리에 직접 접근할 수 있도록 지원하는 기술이다. 이를 통해 낮은 지연시간(Latency)과 높은 대역폭(Throughput)으로 데이터 전송이 가능하며, HPC 및 AI 환경에서 필수적인 요소로 자리 잡고 있다.

RDMA 기반의 Storage → GPU 데이터 전송 (GPUDirect Storage)
기존 방식 (Without GPUDirect Storage)
- NVMe SSD에서 데이터를 읽을 때, CPU와 시스템 메모리(System Memory)를 거쳐 GPU로 전송됨
- CPU 개입 및 메모리 복사(Bounce Buffering)로 인해 지연이 발생
RDMA 활용 방식 (With GPUDirect Storage)
- NVMe SSD → PCIe Switch → GPU로 직접 데이터 전송(RDMA 기반) 가능
- CPU 개입 없이 GPU가 직접 데이터를 가져올 수 있어 성능 향상
RDMA 기술 스택
- NVMe-over-Fabrics (NVMe-oF): NVMe 스토리지를 InfiniBand, RoCE, iWARP 기반 RDMA 네트워크를 통해 원격에서 직접 액세스 가능
- GPU Direct Storage (GDS): NVIDIA의 기술로, NVMe SSD에서 GPU 메모리로 직접 데이터 전송 가능
- InfiniBand / RoCE (RDMA over Converged Ethernet): HPC 및 AI 환경에서 고속 RDMA 통신을 위해 사용됨
InfiniBand
InfiniBand(IB)는 고성능 컴퓨팅(HPC) 환경에서 사용되는 저지연(ultra-low latency) 및 고대역폭(high-bandwidth) 네트워크 기술이다. TCP/IP 기반의 이더넷과 달리, RDMA(Remote Direct Memory Access)를 기본적으로 지원하여 CPU 개입 없이 데이터를 전송할 수 있다.

InfiniBand는 RDMA를 기본적으로 지원하여 HPC, AI, 클라우드 환경에서 필수적인 네트워크 인프라로 사용된다. TCP/IP 기반의 Ethernet Switch에 비해 훨씬 낮은 지연시간과 높은 대역폭을 제공하며, CPU 오버헤드를 최소화하여 대규모 데이터 연산 환경에서 최적의 성능을 발휘한다.
반면, Ethernet Switch는 범용적인 데이터센터 및 클라우드 네트워크에서 널리 사용되며, RoCE(RDMA over Converged Ethernet)를 활용하면 일부 RDMA 기능을 적용할 수 있다. 그러나 InfiniBand만큼의 성능 최적화는 어렵다.
따라서, HPC 및 AI와 같은 고성능 연산 환경에서는 InfiniBand가 최적의 선택이며, 일반적인 클라우드 인프라나 데이터센터에서는 Ethernet Switch가 더 적합한 선택이 될 수 있다. 각각의 네트워크 기술은 목적과 요구사항에 따라 적절히 선택해야 한다. InfiniBand는 RDMA를 기본적으로 지원하여 HPC, AI, 클라우드 환경에서 필수적인 네트워크 인프라로 사용된다. 반면, Ethernet Switch는 TCP/IP 기반으로 동작하며, RDMA 기능을 원활하게 활용하려면 RoCE 기술을 적용해야 한다. 이를 통해 저지연, 고대역폭의 네트워크 성능을 최적화할 수 있다.
'Network' 카테고리의 다른 글
| HTTP/3 (0) | 2024.09.27 |
|---|---|
| gRPC (Google Remote Procedure Call) (1) | 2024.09.24 |
| SmartNIC (0) | 2024.09.19 |
| FD.io Vector Packet Processor (VPP) with DPDK (0) | 2024.09.09 |