🔧 Engineering/📁 GPU & Hardware

RDMA(Remote Direct Memory Access)

만두개 2026. 3. 12. 17:34
반응형
SMALL

GPU 서버를 공부하다 보면 RDMA 라는 용어를 자주 보게 된다.

RDMA 가 무엇인지 공부하기위해 정리를 해보겠다.

 

RDMA란 무엇인가

RDMA는 이름 그대로 원격 시스템의 메모리에 직접 접근할 수 있는 기술

즉 네트워크를 통해 데이터를 전송할 때 CPU를 거치지 않고 메모리 간 직접 데이터 전송이 가능하다.


일반적인 네트워크 통신 방식

일반적인 네트워크 통신에서는 다음과 같은 과정이 발생한다.

Application

CPU

Kernel Network Stack

NIC

Network

NIC

CPU

Application
 

이 구조에서는 다음과 같은 문제가 있다.

  • CPU 사용량 증가
  • Kernel 처리 오버헤드
  • 높은 latency

즉 네트워크 통신을 할 때 CPU와 OS 네트워크 스택을 반드시 거쳐야 한다.


RDMA 방식

RDMA는 이러한 과정을 줄이기 위해 만들어진 기술이다.

구조는 다음과 같다.

Memory

HCA / NIC

Network

HCA / NIC

Memory
 

메모리에서 메모리로 직접 데이터가 전송된다.

CPU와 Kernel Network Stack을 거치지 않기 때문에 다음과 같은 장점이 있다.


RDMA 특징

  • CPU 개입 최소화
  • 낮은 latency
  • 높은 throughput
  • zero-copy 데이터 전송

특히 AI 학습, HPC, 대규모 클러스터 환경에서 중요한 기술이다.


RDMA를 사용하는 네트워크

RDMA는 특정 네트워크 환경에서 사용된다.

대표적으로 다음 두 가지 방식이 있다.

InfiniBand

HPC 환경에서 많이 사용하는 네트워크이다.

특징

  • 매우 낮은 latency
  • 높은 bandwidth
  • 데이터센터 GPU 클러스터 사용

예)

HDR InfiniBand
NDR InfiniBand
 

 

RoCE (RDMA over Converged Ethernet)

Ethernet 네트워크에서 RDMA를 사용하는 방식이다.

특징

  • Ethernet 기반
  • RDMA 기능 지원

RDMA와 ConnectX

NVIDIA GPU 서버에서는 보통 ConnectX HCA(Network Card)가 사용된다.

ConnectX 카드는 다음 기능을 지원한다.

RDMA
InfiniBand
RoCE
 

대표적인 모델

ConnectX-6
ConnectX-7
 

이러한 네트워크 카드를 통해 GPU 서버 간 고속 통신이 가능하다.


GPU 서버에서 RDMA가 중요한 이유

AI 학습 환경에서는 여러 GPU 서버가 데이터를 주고받는다.

예를 들어 다음과 같은 구조가 있다.

GPU Server A

InfiniBand

GPU Server B
 

이때 RDMA를 사용하면

GPU Memory → GPU Memory
 

형태로 데이터 전송이 가능해진다.

CPU를 거치지 않고 GPU 간 데이터 전송이 가능하다.

반응형
LIST