RDMA(Remote Direct Memory Access)와 RoCE
1. 개요
가. 정의
RDMA(Remote Direct Memory Access) 는 한 컴퓨터의 애플리케이션이 상대 컴퓨터의 메모리를 운영체제·CPU의 개입 없이 직접 읽고 쓰는 전송 기술이다. 네트워크 어댑터(RNIC/HCA)가 전송 프로토콜을 하드웨어로 처리하고, 커널을 우회(Kernel Bypass)하며, 데이터 복사를 없애는(Zero-Copy) 세 축을 통해 초저지연·고대역폭·저 CPU 점유를 동시에 달성한다. RoCE(RDMA over Converged Ethernet) 는 이 RDMA 의미론(semantics)을 전용 InfiniBand 패브릭이 아니라 표준 이더넷 위에서 구현한 방식이다.
RDMA를 한마디로 규정하면 "데이터가 송신 애플리케이션의 버퍼에서 수신 애플리케이션의 버퍼로 직통(直通) 하도록, 그 사이에 놓인 운영체제·프로토콜 스택·중간 복사라는 중간상(中間商)을 걷어낸 통신"이다. 전통적 TCP/IP 통신에서는 하나의 메시지가 애플리케이션 버퍼 → 커널 소켓 버퍼 → NIC 버퍼로 여러 번 복사되고, 그때마다 CPU 인터럽트와 컨텍스트 스위칭이 발생한다. RDMA는 어댑터가 미리 등록된 메모리 영역(Memory Region)에 DMA로 직접 데이터를 꽂아 넣음으로써, CPU가 "데이터를 나르는 짐꾼" 역할에서 완전히 해방되게 한다.
용어상 RDMA는 "무엇을 할 것인가(원격 메모리 직접 접근)"라는 추상적 의미론이고, InfiniBand·RoCE·iWARP는 "그것을 어느 물리·전송 계층 위에서 실현하는가"라는 구현 방식이다. 셋은 동일한 상위 프로그래밍 인터페이스(Verbs API)를 공유하므로, 애플리케이션 입장에서는 하부 패브릭이 무엇이든 대체로 같은 코드로 동작한다. 이 추상화 덕분에 RDMA는 특정 벤더나 배선 기술에 묶이지 않는 공통 자산이 되었다.
RDMA가 겨냥하는 본질적 문제는 흔히 "I/O 병목" 또는 "데이터 이동의 벽" 으로 불린다. 연산 능력은 무어의 법칙과 가속기 발전으로 꾸준히 늘었지만, 그 연산 유닛에 데이터를 날라다 주는 통신·메모리 경로는 상대적으로 더디게 발전해, 시스템 전체 성능이 "계산"이 아니라 "데이터를 제때 가져다 놓는 일"에 의해 제약되는 현상이 심화되었다. RDMA는 이 벽을 네트워크 계층에서 허무는 대표적 해법으로, 데이터센터를 여러 서버의 집합이 아니라 하나의 큰 메모리·연산 풀처럼 다루려는 분해형(disaggregated) 아키텍처의 토대가 된다.
나. 등장 배경 및 필요성
RDMA가 부상한 근본 배경은 CPU 속도 정체와 네트워크 대역폭 폭증 사이의 간극이다. 서버 인터페이스가 10GbE에서 100/200/400/800GbE로 올라가는 동안, 범용 CPU로 TCP/IP 스택을 처리하는 속도는 그에 비례해 늘지 못했다. 경험칙으로 1비트의 트래픽을 처리하는 데 약 1Hz의 CPU가 필요하다고 보면, 400Gbps 회선을 소프트웨어로 감당하려면 수백 개의 코어를 통신에만 쏟아부어야 한다. 이는 정작 애플리케이션에 쓸 연산 자원을 통신 오버헤드가 잠식한다는 뜻이며, "대역폭은 남는데 CPU가 병목"인 역설을 낳았다.
둘째는 지연(Latency)이 처리량을 좌우하는 워크로드의 확산이다. HPC의 MPI 통신, 분산 스토리지, 인메모리 데이터베이스, 그리고 최근의 대규모 AI 학습은 수천 개 노드가 빈번하게 작은 메시지를 주고받으며 서로를 기다린다. TCP/IP 스택이 더하는 수십 마이크로초의 지연과 지터(jitter)는 이런 동기화 집약적(synchronization-bound) 워크로드에서 전체 성능을 급격히 끌어내린다. RDMA는 커널 우회로 지연을 1~2마이크로초 수준까지 낮추고 지터를 억제해, "기다림"이 지배하는 워크로드의 효율을 근본적으로 바꾼다.
셋째는 AI 가속기 시대의 통신 병목이다. GPU가 수백 TFLOPS를 쏟아내도 그 GPU에 데이터를 끊김 없이 공급하지 못하면 값비싼 가속기가 유휴 상태로 전락한다. 수천 장 GPU를 묶은 학습 클러스터에서는 All-Reduce 같은 집합통신(Collective)이 전체 학습 시간의 상당 부분을 차지하는데, 이 통신을 CPU 소프트웨어 경로로 처리하면 GPU 활용률이 급락한다. GPUDirect RDMA처럼 NIC이 GPU 메모리를 직접 읽고 쓰는 경로가 필수가 되면서, RDMA는 AI 인프라의 선택이 아니라 기본 전제가 되었다.
이 세 압력은 서로 독립적이지 않고 상호 증폭한다. 대역폭이 오를수록(첫째) 소프트웨어 처리의 한계가 뚜렷해지고, 지연 민감 워크로드(둘째)가 늘수록 그 한계가 곧 성능 손실로 직결되며, AI 가속기(셋째)가 이 둘을 극단으로 밀어붙인다. 과거 HPC의 전유물이던 RDMA가 클라우드·엔터프라이즈로 저변을 넓힌 것은, 바로 이 세 압력이 특정 분야를 넘어 데이터센터 전반의 공통 과제가 되었기 때문이다.
다. 특징
RDMA의 성격은 ① 커널 우회(Kernel Bypass), ② 제로카피(Zero-Copy), ③ 전송 오프로드(Transport Offload) 라는 세 축으로 요약된다. 애플리케이션이 커널을 거치지 않고 하드웨어 큐에 직접 명령을 올리고(①), 데이터는 등록된 메모리에서 상대 메모리로 복사 없이 흐르며(②), 재전송·순서보장·흐름제어 같은 전송 로직을 어댑터가 하드웨어로 처리한다(③). 이 세 특징은 서로 맞물려야 효과를 내며, 하나라도 소프트웨어로 되돌아가면 RDMA의 이점은 급격히 희석된다.
또 하나 본질적 특징은 단방향(one-sided) 연산의 존재다. 전통적 통신이 송신·수신 양쪽 CPU가 모두 개입하는 양방향(two-sided)인 데 반해, RDMA WRITE/READ는 수신 측 CPU가 전혀 관여하지 않은 채 상대 메모리에 직접 데이터를 쓰거나 읽어 온다. 이 "말 없는 접근"이 RDMA를 단순한 빠른 전송을 넘어 분산 공유 메모리에 가까운 프로그래밍 모델로 만든다.
마지막으로 RDMA는 무손실(lossless) 전송을 사실상 전제한다는 특징이 있다. 전송 로직을 하드웨어로 단순화한 대가로, 전통적 TCP처럼 임의의 패킷 드롭을 유연하게 흡수하는 능력이 약하다. 패킷이 떨어지면 하드웨어 재전송 비용이 커지고 성능이 급락하므로, 하부 패브릭이 패킷을 떨어뜨리지 않도록 보장해야 한다. 이 전제가 바로 InfiniBand의 크레딧 흐름제어, RoCE의 PFC/ECN이라는 구현 차이를 만들어 내는 출발점이며, "RDMA를 쓴다"는 것은 곧 "무손실 네트워크를 설계·운영해야 한다"는 책임을 동반한다.
2. 아키텍처 구조와 동작 원리
RDMA의 성능은 애플리케이션이 커널을 건너뛰고 어댑터 하드웨어와 직접 대화하는 구조에서 나온다. 아래 구조도는 두 호스트가 RDMA로 통신하는 전형적 구성을 보여준다.
flowchart LR
subgraph HOSTA["호스트 A"]
APPA["애플리케이션(사용자 공간)"]
MRA["등록 메모리(Memory Region)"]
RNICA["RDMA 어댑터(RNIC/HCA)"]
APPA -->|"Verbs(제어 경로)"| RNICA
APPA --- MRA
RNICA -.->|"DMA(데이터 경로)"| MRA
end
subgraph HOSTB["호스트 B"]
RNICB["RDMA 어댑터(RNIC/HCA)"]
MRB["등록 메모리(Memory Region)"]
APPB["애플리케이션(사용자 공간)"]
RNICB -.->|"DMA(데이터 경로)"| MRB
APPB --- MRB
end
RNICA <-->|"무손실 패브릭(InfiniBand/이더넷)"| RNICB
구조의 핵심은 제어 경로(Control Path)와 데이터 경로(Data Path)의 분리다. 애플리케이션은 통신을 시작할 때만 커널을 거쳐 자원(큐·메모리)을 준비하고, 이후 실제 데이터 송수신은 커널을 전혀 거치지 않고 사용자 공간에서 어댑터의 하드웨어 큐에 직접 작업요청(Work Request)을 올린다. 이렇게 "한 번 설정하고(set-up) 이후에는 우회(bypass)"하는 구조가 패킷마다 발생하던 시스템 콜·인터럽트 비용을 근원적으로 없앤다.
RDMA 통신의 기본 단위는 큐 페어(Queue Pair, QP) 로, 송신 큐(SQ)와 수신 큐(RQ)의 쌍이다. 애플리케이션은 보내거나 받을 작업을 작업요청(WR, Work Request) 형태로 큐에 게시(post)하고, 어댑터가 이를 비동기로 처리한 뒤 완료를 완료 큐(CQ, Completion Queue) 에 알린다. 데이터가 오갈 메모리는 사전에 메모리 등록(Memory Registration) 을 거쳐 물리 주소에 고정(pin)되고, 접근 권한을 담은 로컬 키(lkey)와 원격 키(rkey)가 발급된다. 원격 호스트는 이 rkey와 가상주소를 알아야만 상대 메모리에 접근할 수 있어, rkey는 성능 자원인 동시에 보안 통제점이 된다.
동작 원리를 데이터 흐름으로 보면, 송신 어댑터는 등록된 로컬 버퍼에서 DMA로 데이터를 읽어 패브릭으로 내보내고, 수신 어댑터는 도착한 데이터를 상대가 지정한 목적지 메모리에 DMA로 직접 써 넣는다. 이 전 과정에서 데이터는 커널 소켓 버퍼를 거치지 않고, CPU는 완료 통지만 (폴링 또는 이벤트로) 확인한다. 결과적으로 메시지 하나가 소비하는 CPU 사이클과 메모리 대역폭이 극적으로 줄어, 같은 하드웨어로 훨씬 높은 유효 처리량을 얻는다.
큐 페어는 제공하는 신뢰성·연결성에 따라 전송 유형(Transport Type) 이 나뉜다. RC(Reliable Connection) 는 TCP처럼 두 QP가 1:1로 연결되어 순서보장·재전송을 하드웨어가 책임지며, 단방향 WRITE/READ·원자적 연산을 모두 지원해 가장 널리 쓰인다. UC(Unreliable Connection) 는 연결은 유지하되 신뢰성 보장을 생략해 오버헤드를 줄이고, UD(Unreliable Datagram) 는 하나의 QP가 다수와 통신하는 비연결형으로 확장성이 좋아 대규모 노드 간 통신·멀티캐스트에 쓰인다. 전송 유형 선택은 "신뢰성·기능 ↔ 연결 상태 유지 비용·확장성"의 트레이드오프로, 노드 수가 수천을 넘는 AI 클러스터에서는 연결당 상태(QP) 폭증을 피하려 UD나 동적 연결(DC) 같은 확장성 지향 설계가 중요해진다.
특히 주목할 점은 메모리 등록이 양날의 검이라는 것이다. 메모리를 물리 주소에 고정해야 어댑터가 안전하게 DMA할 수 있지만, 등록 자체는 비용이 큰 연산이어서 통신 경로에서 반복되면 오히려 지연을 키운다. 그래서 실무에서는 버퍼 풀을 미리 등록해 재사용하거나, 최신 어댑터의 온디맨드 페이징(ODP) 기능으로 등록 비용을 상환(amortize)하는 설계가 중요하다. 이처럼 RDMA의 성능은 하드웨어 스펙만이 아니라 메모리 관리 설계에 크게 좌우된다.
전통적 TCP/IP 경로와 비교하면 이 구조적 차이가 선명해진다. 소켓 기반 통신에서 메시지 하나는 애플리케이션 버퍼에서 커널 소켓 버퍼로 복사되고, 프로토콜 스택을 통과하며, NIC 드라이버 버퍼로 다시 복사된 뒤에야 전송된다. 수신 측에서도 역순의 복사와 커널 인터럽트·소프트IRQ·컨텍스트 스위칭이 반복된다. 이 과정에서 CPU는 연산이 아니라 데이터 복사와 프로토콜 처리에 시간을 소모하고, CPU 캐시는 통신 데이터로 오염되어 애플리케이션 성능까지 간접적으로 떨어진다. RDMA는 복사와 커널 통과라는 두 비용을 동시에 제거하므로, 대역폭이 커지고 메시지가 작을수록—즉 패킷당 처리 예산이 줄어들수록—그 상대적 우위가 더 벌어진다. "RDMA가 빠른 이유"는 회선이 빨라서가 아니라 데이터가 지나는 경로에서 불필요한 일을 없앴기 때문임을 이해하는 것이 설계의 출발점이다.
3. 전송 연산(Verbs)과 처리 흐름
RDMA가 제공하는 연산은 크게 양방향(two-sided)의 SEND/RECV 와 단방향(one-sided)의 WRITE/READ/ATOMIC 으로 나뉜다. 아래 프로세스 상세도는 단방향 RDMA WRITE가 이루어지는 전형적 흐름을 나타낸다.
flowchart TD
A["송신 앱: 대상 주소·rkey 확보"] --> B["WR 게시(Post Send to SQ)"]
B --> C["로컬 RNIC: 등록 버퍼에서 DMA 읽기"]
C --> D["패브릭 전송(순서·재전송은 HW가 처리)"]
D --> E["원격 RNIC: 목적지 메모리에 DMA 쓰기"]
E --> F{"수신 측 CPU 개입?"}
F -->|"없음(one-sided)"| G["수신 앱은 모른 채 완료"]
C --> H["완료 큐(CQ)에 완료 통지"]
H --> I["송신 앱: 폴링/이벤트로 완료 확인"]
양방향 채널 의미론(Channel Semantics) 인 SEND/RECV는 TCP의 메시지 교환과 유사하다. 수신 측이 미리 수신 버퍼를 RQ에 게시해 두어야 하고, 송신 측 SEND가 그 버퍼로 전달된다. 양쪽 애플리케이션이 모두 관여하므로 제어·신호 교환에 적합하지만, 수신 버퍼 사전 게시와 양측 완료 처리라는 약간의 부담이 있다. 반면 단방향 메모리 의미론(Memory Semantics) 인 RDMA WRITE/READ는 송신 측이 상대의 가상주소와 rkey만 알면 수신 측 CPU를 전혀 깨우지 않고 직접 메모리를 조작한다. 이 비대칭성 덕분에 한쪽이 데이터를 "밀어 넣거나(WRITE)" "끌어오는(READ)" 일방 통신이 가능해, 분산 키-값 저장소·공유 로그·RPC 가속에서 강력한 성능을 낸다.
세 번째 부류인 원자적 연산(Atomic, Compare-and-Swap·Fetch-and-Add) 은 원격 메모리에 대해 읽기-수정-쓰기를 원자적으로 수행한다. 이는 분산 락, 카운터, 합의(consensus) 구현에서 네트워크 왕복 한 번으로 동기화 프리미티브를 제공해, 전통적 메시지 기반 설계보다 훨씬 적은 왕복으로 정합성을 보장한다. 예컨대 분산 키-값 저장소에서 원격 Compare-and-Swap으로 버전 번호를 갱신하면, 서버 CPU를 깨우지 않고도 낙관적 동시성 제어(optimistic concurrency)를 구현할 수 있어 서버 측 처리 병목을 우회한다.
단방향 연산이 주는 실무적 함의는 서버 CPU의 "탈(脫)중심화" 다. 전통적 RPC는 모든 요청이 서버 CPU를 거쳐 처리되므로 서버가 핫스팟이 되지만, RDMA READ/WRITE를 쓰면 클라이언트가 서버 메모리를 직접 조회·갱신해 서버 CPU 부담을 극적으로 줄일 수 있다. 다만 이는 데이터 구조를 "원격에서 안전하게 직접 접근 가능한 형태"로 재설계해야 한다는 부담을 동반하므로, 성능 이득과 설계 복잡성 사이의 교환을 신중히 따져야 한다. 즉 단방향 연산은 "공짜 가속기"가 아니라 애플리케이션 데이터 모델까지 바꾸는 설계 결정이다.
단방향·양방향 연산의 선택은 통신 패턴에 대한 사전 지식의 유무로 갈린다. 송신 측이 "상대 메모리의 어디에 쓸지"를 미리 알 수 있는 생산자-소비자·공유 버퍼 패턴에서는 단방향 WRITE가 수신 CPU를 완전히 비켜 가 최고의 효율을 낸다. 반대로 요청-응답처럼 수신 측이 능동적으로 처리해야 하는 패턴에서는 양방향 SEND/RECV가 자연스럽다. 실무에서는 둘을 혼합해, 제어·시그널링은 SEND/RECV로 교환하고 대용량 데이터 본체는 RDMA WRITE/READ로 옮기는 설계가 흔하다. 이처럼 연산 선택은 성능과 프로그래밍 단순성 사이에서 통신 패턴에 맞춰 조율하는 설계 문제다.
처리 흐름 전체를 관통하는 공통 원리는 비동기·완료 기반(completion-driven) 모델이다. 애플리케이션은 작업을 게시한 뒤 블로킹되지 않고 다른 일을 하다가, 완료 큐를 폴링하거나 이벤트 통지를 받아 결과를 거둔다. 이 비동기성은 수많은 통신을 겹쳐(overlap) 진행시켜 패브릭을 포화시키되, 완료 확인 방식(폴링 대 이벤트)에 따라 지연과 CPU 점유 사이의 트레이드오프가 갈린다. 폴링은 최저 지연을 주지만 CPU를 태우고(busy-wait), 이벤트는 CPU를 아끼지만 인터럽트 지연을 더한다. 어떤 방식을 택하느냐는 워크로드의 지연 민감도에 따른 설계 결정이다.
4. 구현 방식 비교 — InfiniBand · RoCE · iWARP
RDMA는 세 가지 전송 계층 위에서 구현되며, 각 방식은 성능·호환성·운영 난이도에서 뚜렷한 트레이드오프를 가진다. 이 차이가 생기는 근본 이유는 "RDMA가 요구하는 무손실(lossless)·순서보장 전송을 어느 계층에서 어떻게 보장하느냐"의 선택에 있다.
| 구분 | InfiniBand | RoCE v2 | iWARP |
|---|---|---|---|
| 기반 | 전용 IB 패브릭 | 이더넷(UDP/IP, 포트 4791) | 이더넷(TCP/IP) |
| 라우팅 | IB 서브넷 | L3 라우팅 가능 | L3 라우팅 가능 |
| 무손실 확보 | 링크 크레딧 흐름제어(내장) | PFC+ECN(DCQCN) 필요 | TCP가 손실 처리 |
| 지연/성능 | 최저·최고 | 매우 높음 | 중간 |
| 운영 난이도 | 전용 장비·관리 | 이더넷 튜닝 필요 | 상대적으로 단순 |
| 대표 적용 | HPC·AI 슈퍼컴퓨팅 | 클라우드·AI 데이터센터 | 범용 엔터프라이즈 |
InfiniBand는 링크 계층에 크레딧 기반 흐름제어를 내장해 패킷을 떨어뜨리지 않는 무손실 패브릭을 기본 제공하며, 전용 스위치·어댑터·서브넷 매니저로 구성된다. 지연과 처리량에서 가장 우수하지만 이더넷과 별도의 전용 생태계를 요구해 비용과 운영 전문성 부담이 크다. 그래서 통신 비용이 성능을 좌우하는 최상위 HPC·AI 슈퍼컴퓨팅에서 지배적이다.
RoCE는 이 RDMA를 이더넷 위로 옮긴 방식으로, v1은 L2 이더넷 프레임(비라우팅)이었으나 RoCEv2는 UDP/IP 캡슐화(목적지 포트 4791)로 L3 라우팅이 가능해져 대규모 데이터센터의 사실상 표준이 되었다. 관건은 RDMA가 전제하는 무손실을 손실 가능한 이더넷에서 재현하는 것이다. 이를 위해 PFC(Priority Flow Control) 로 특정 트래픽 클래스의 패킷 드롭을 막고, ECN 기반 혼잡제어(DCQCN) 로 송신율을 조절한다. 그러나 PFC는 잘못 설계하면 혼잡이 상류로 번지는 혼잡 확산(congestion spreading)과 헤드-오브-라인 블로킹, 심하면 교착(deadlock)까지 일으키므로, RoCE의 성패는 패브릭 튜닝 역량에 크게 좌우된다. "RoCE는 쉬운 InfiniBand가 아니라 운영 난이도를 네트워크 엔지니어링으로 옮긴 선택"이라는 점이 실무의 핵심 함의다.
iWARP는 RDMA를 표준 TCP/IP 위에 얹어, TCP의 재전송·혼잡제어에 무손실 보장을 위임한다. 덕분에 특별한 무손실 이더넷 구성 없이 일반 라우팅 네트워크·WAN에서도 동작해 도입 장벽이 낮지만, TCP 스택을 하드웨어로 처리하는 복잡성 때문에 지연·성능에서 RoCE·InfiniBand에 밀린다. 세 방식의 선택은 결국 "최고 성능(InfiniBand) ↔ 이더넷 통합·대규모 확장(RoCE) ↔ 범용 네트워크 호환성(iWARP)"이라는 삼각 트레이드오프 위에서 워크로드와 조직 역량에 맞춰 내리는 결정이다.
세 방식의 우열이 시대에 따라 재편되어 온 이유는 "데이터센터가 요구하는 통합성과 확장성의 변화"에 있다. 과거에는 최고 성능의 InfiniBand가 HPC를 지배했으나, 클라우드·AI 데이터센터가 이미 거대한 이더넷 생태계 위에 구축되면서 "기존 이더넷 운영 체계·인력·장비를 재활용하면서 RDMA 성능을 얻자"는 요구가 커졌고, 그 접점에서 RoCEv2가 급부상했다. 즉 기술적 최적해(InfiniBand)와 생태계 정합성(이더넷) 사이의 긴장이 RoCE라는 절충을 낳은 것이며, 뒤에서 다룰 Ultra Ethernet은 이 절충의 약점(PFC 의존·혼잡제어 한계)을 표준 차원에서 메우려는 다음 단계의 진화로 볼 수 있다.
5. 심화: AI/HPC 적용과 최신 동향
RDMA 기술은 AI 인프라 확산과 맞물려 빠르게 진화하고 있다. 첫째, GPUDirect RDMA와 집합통신 가속이다. 대규모 LLM 학습에서 수천 장의 GPU는 매 스텝마다 그래디언트를 교환하는데, GPUDirect RDMA는 NIC이 호스트 메모리를 거치지 않고 GPU 메모리를 직접 읽고 써서 복사 지연을 제거한다. 여기에 NCCL 같은 집합통신 라이브러리가 All-Reduce·All-Gather를 RDMA 위에서 최적화하고, 스위치가 네트워크 내에서 합산을 수행하는 인네트워크 연산(In-Network Computing, 예: SHARP) 까지 결합하면 통신량 자체를 줄여 GPU 유휴 시간을 최소화한다. 실제로 대규모 학습 클러스터에서 통신 효율 개선은 전체 학습 시간과 비용에 직접적인 영향을 미친다.
둘째, 스토리지·메모리 분해(Disaggregation)와의 결합이다. NVMe-oF(NVMe over Fabrics) 를 RDMA 전송 위에서 구현하면 원격 NVMe SSD를 로컬 디스크에 가까운 지연으로 제공해, 컴퓨트와 스토리지를 독립 증설하는 컴포저블 인프라를 가능하게 한다. 나아가 CXL 기반 메모리 풀링과 RDMA가 상호 보완하며, 데이터센터 전체를 하나의 거대한 자원 풀처럼 다루려는 흐름이 강해지고 있다. 분산 파일시스템(예: 병렬 스토리지)과 인메모리 DB도 RDMA를 백엔드 전송으로 채택해 지연을 수 마이크로초대로 낮춘다.
셋째, AI 시대를 겨냥한 차세대 이더넷 표준화다. 기존 RoCE의 PFC 의존과 혼잡제어 한계를 넘어서기 위해, 업계는 Ultra Ethernet Consortium(UEC) 를 중심으로 AI/HPC 워크로드에 최적화된 새 전송 계층을 표준화하고 있다. 핵심은 단일 경로에 집중되던 흐름을 여러 경로로 흩뿌리는 패킷 스프레이(packet spraying)·다중경로, 순서에 덜 민감한 전달, 더 정교한 혼잡제어로 대규모 집합통신의 꼬리 지연(tail latency)을 줄이는 것이다. NVIDIA의 Spectrum-X처럼 AI 전용으로 튜닝된 이더넷 플랫폼도 같은 문제의식의 상용 구현이다. 이는 "RDMA의 이점을 유지하되 거대 AI 클러스터의 통신 패턴에 맞게 전송 계층을 재설계"하려는 산업 전체의 방향 전환을 보여준다.
금융·통신 분야도 RDMA의 유력한 적용처다. 초저지연 거래(HFT)와 시장 데이터 분산에서는 마이크로초 단위의 지연이 곧 수익과 직결되는데, RDMA는 지터를 억제한 결정적(deterministic) 저지연을 제공해 경쟁 우위를 만든다. 또한 Lustre·GPFS 같은 병렬 파일시스템과 Ceph 등 분산 스토리지는 RDMA 전송을 백엔드로 채택해 메타데이터·데이터 경로 지연을 낮추고, 수백 노드가 동시에 I/O를 쏟아내는 HPC 환경에서 집합 대역폭을 확보한다. 이처럼 RDMA는 특정 산업의 틈새 기술이 아니라, 지연과 통신 오버헤드가 병목인 모든 고성능 분야로 저변을 넓혀 왔다.
구체적 수치로 보면, TCP/IP 경로가 수십 마이크로초의 지연과 높은 CPU 점유를 보이는 데 반해 RDMA는 노드 간 지연을 1~2마이크로초대로 낮추고 통신에 쓰이는 CPU 점유를 한 자릿수 %로 억제한다. 다만 이런 수치는 패브릭·메시지 크기·튜닝에 따라 편차가 크므로, 도입 시에는 자사 워크로드로 실측(PoC)해 검증하는 것이 원칙이다. 특히 RoCE는 PFC·ECN 파라미터 하나로 성능이 크게 달라지므로, 벤치마크 없는 스펙 비교는 위험하다.
실무 적용을 그려 보면, 가령 1,024장의 GPU로 대규모 언어모델을 학습하는 클러스터를 생각할 수 있다. 각 학습 스텝마다 모든 GPU가 그래디언트를 교환하는 All-Reduce가 일어나는데, 이 통신을 TCP/IP·호스트 메모리 경유로 처리하면 GPU가 통신을 기다리느라 유휴 상태가 길어져 값비싼 가속기의 활용률이 떨어진다. GPUDirect RDMA로 NIC이 GPU 메모리를 직접 교환하고, RoCEv2 무손실 패브릭 위에서 NCCL이 통신을 최적화하며, 스위치가 부분 합산을 대신 수행하면, 통신 구간이 단축되어 동일한 GPU 투자로 더 짧은 시간에 학습을 끝낼 수 있다. 통신 효율 1%의 개선이 수천 장 GPU·수주일 학습에서는 상당한 전력·시간·비용 절감으로 환산되므로, 패브릭 설계는 AI 인프라 ROI의 핵심 변수가 된다.
6. 고려사항 및 시사점
RDMA/RoCE는 AI·HPC·고성능 스토리지 시대의 통신 병목을 푸는 핵심 기술이지만, "빠른 네트워크 카드"로만 이해하면 도입에 실패하기 쉽다. 기술사 관점에서 다음 네 축을 통합적으로 설계해야 한다.
적용 전략(워크로드 적합성 판단): RDMA의 이득은 "통신이 전체 성능을 좌우하는 정도"에 비례한다. 동기화 집약적 HPC·MPI, 대규모 AI 분산 학습, 분산 스토리지·인메모리 DB처럼 지연과 CPU 통신 오버헤드가 병목인 워크로드가 1차 대상이며, 통신 비중이 낮은 일반 웹·배치 워크로드에서는 투자 대비 효익이 제한적이다. 도입 전 반드시 자사 트래픽의 메시지 크기·빈도·동기화 패턴을 분석해 손익을 가늠해야 한다.
트레이드오프(성능 대 운영 복잡성): RoCE는 이더넷 생태계에 통합되는 대신, PFC·ECN·DCQCN 튜닝, 무손실 트래픽 클래스 설계, 혼잡 확산·교착 방지라는 고난도 네트워크 엔지니어링을 요구한다. InfiniBand는 성능·운영 안정성이 높지만 전용 장비와 별도 운영 전문성이 든다. "성능을 얻는 대가로 어디에 복잡성을 둘 것인가"를 조직 역량에 비추어 결정해야 한다.
보안·격리 재설계: RDMA는 커널을 우회하고 원격 메모리에 직접 접근하므로, 전통적 호스트 방화벽·패킷 검사 모델이 그대로 통하지 않는다. rkey·QP 접근 권한 관리, 메모리 등록 범위 최소화, 테넌트 간 패브릭 격리(VLAN·파티션), 전송 암호화를 설계 초기에 반영해야 하며, 멀티테넌트 클라우드에서는 특히 원격 메모리 접근의 신뢰 경계를 명확히 해야 한다.
운영 관측성·장애 대응: RDMA는 커널·소켓 계층의 전통적 진단 도구(패킷 캡처·소켓 통계)로 들여다보기 어려워, 성능 저하 원인(메모리 등록 병목, PFC 폭풍, 특정 QP의 혼잡)을 규명하기 까다롭다. 어댑터 카운터·혼잡 통지 통계·패브릭 텔레메트리를 수집하는 관측성 체계를 사전에 갖추지 않으면, 대규모 클러스터에서 간헐적 성능 저하를 추적하지 못해 값비싼 가속기를 놀리게 된다. 도입과 동시에 RDMA 전용 모니터링 파이프라인을 설계해야 한다.
표준화·종속 대응과 전망: 현재 RoCE 튜닝과 혼잡제어는 벤더별 구현 편차가 커 이식성이 낮다. 개방형 표준(Verbs·UEC)과 추상화 라이브러리(libibverbs, UCX 등)를 채택해 특정 하드웨어에 로직을 직접 결합하지 않도록 설계하면 종속 위험을 낮출 수 있다. 향후 RDMA는 Ultra Ethernet·CXL·GPUDirect·네트워크 내 연산과 결합하며 AI 데이터센터의 기본 통신 패브릭으로 자리 잡을 전망이므로, 연계 기술과의 통합 로드맵을 함께 그려야 한다.
종합하면, RDMA/RoCE는 "CPU를 데이터 운반에서 해방하고 메모리를 네트워크 너머로 확장"하는 아키텍처 전환이다. 기술사는 개별 장비 스펙보다 커널 우회·제로카피·전송 오프로드라는 설계 원리와, 무손실 전송을 어디서 어떻게 보장하느냐의 트레이드오프를 통합적으로 읽고, 자사 워크로드의 통신 병목 성격에 근거해 패브릭 방식과 튜닝 수준을 판단하는 안목을 갖춰야 한다.
참고자료
- NVIDIA, "What Is RDMA?" — https://www.nvidia.com/en-us/networking/
- IBTA(InfiniBand Trade Association), "RoCE" — https://www.infinibandta.org/roce-initiative/
- Ultra Ethernet Consortium — https://ultraethernet.org/
- RFC 5040, "A Remote Direct Memory Access Protocol Specification" (iWARP) — https://www.rfc-editor.org/rfc/rfc5040
한 줄 요약: RDMA는 커널 우회·제로카피·전송 오프로드로 원격 메모리를 CPU 개입 없이 직접 접근해 초저지연·고대역폭을 달성하는 통신 기술이며, RoCE는 이를 표준 이더넷(RoCEv2·UDP/IP) 위에서 PFC·ECN 기반 무손실로 구현해 AI·HPC 데이터센터의 핵심 패브릭으로 자리 잡고 있다.