최근 AI 서버와 데이터센터 관련 이야기를 보다 보면 RDMA(Remote Direct Memory Access)라는 단어가 굉장히 자주 등장한다. 처음에는 나도 그냥 네트워크 기술 중 하나 정도로만 생각했었다. 그런데 DPDK, DMA, Zero-Copy 같은 흐름들을 조금씩 이해하고 나니까 왜 요즘 AI GPU 서버나 초대형 데이터센터에서 RDMA를 그렇게 중요하게 보는지 조금 감이 오기 시작했다. 특히 인상 깊었던 건 현대 AI 학습 환경에서는 단순 CPU 계산 성능보다 “GPU끼리 데이터를 얼마나 빠르게 주고받을 수 있는가”가 훨씬 중요한 문제가 되고 있다는 점이었다. 예전에는 서버 성능이라고 하면 CPU 코어나 GPU 성능만 생각하기 쉬웠는데, 실제 AI 클러스터 환경에서는 수십~수백 개 GPU가 동시에 데이터를 교환해야 하기 때문에 네트워크 자체가 엄청난 병목이 될 수 있다고 한다. 그리고 RDMA는 이런 문제를 해결하기 위해 등장한 대표적인 초고속 데이터센터 기술 중 하나였다. 처음 이름만 들었을 때는 그냥 DMA를 네트워크로 확장한 느낌인가 싶었는데, 실제로 구조를 보니까 거의 “다른 서버 메모리에 직접 접근하는 수준”에 가까워서 꽤 충격적이었다. 특히 CPU와 운영체제 개입을 최대한 줄이고 네트워크 카드끼리 직접 데이터를 전달한다는 개념 자체가 현대 데이터센터가 얼마나 극단적으로 오버헤드를 줄이려 하는지를 보여주는 느낌이었다.

AI 서버는 GPU 계산보다 데이터 이동이 더 큰 병목이 되기도 한다
요즘 AI 학습 서버들은 보통 GPU 여러 개를 동시에 묶어서 사용한다. 예를 들어 대형 언어 모델(LLM) 학습 같은 경우는 GPU 한두 개 수준으로는 처리 자체가 어려워서 수십~수백 개 GPU가 동시에 데이터를 나눠서 계산한다고 한다. 처음에는 나도 “GPU만 많으면 학습 속도도 그냥 빨라지는 거 아닌가?”라고 생각했는데, 실제로는 GPU끼리 데이터를 주고받는 속도 자체가 엄청 중요한 문제가 된다고 한다. 예를 들어 어떤 GPU가 계산한 결과를 다른 GPU가 바로 받아야 하는 상황에서는 네트워크 지연(latency)과 데이터 이동 속도가 전체 학습 성능을 크게 좌우할 수 있다. 특히 AI 모델 크기가 커질수록 GPU 메모리 안에 모든 데이터를 한 번에 담기 어려워지기 때문에, 서버 간 데이터 교환이 굉장히 자주 발생한다고 한다. 문제는 일반 네트워크 구조에서는 CPU와 운영체제가 중간에 계속 개입하게 된다는 점이었다. 예전 방식에서는 패킷이 도착하면 커널 네트워크 스택을 거치고 CPU가 메모리 복사와 인터럽트 처리를 수행해야 했다. 나도 처음에는 “CPU가 중간에서 관리해주면 안정적이지 않나?”라고 생각했는데, AI 데이터센터처럼 엄청난 데이터가 계속 움직이는 환경에서는 이런 커널 개입과 메모리 복사 자체가 큰 병목이 될 수 있다고 한다. 결국 GPU는 계산은 엄청 빠른데 데이터를 기다리느라 쉬고 있는 상황이 발생할 수도 있는 것이다. 그걸 보고 처음으로 현대 AI 서버는 단순 계산 성능 경쟁이 아니라, GPU끼리 데이터를 얼마나 빠르게 이동시킬 수 있는가가 훨씬 중요한 시대가 되고 있다는 걸 느끼게 됐다.
RDMA는 CPU와 커널 개입을 최소화하고 서버끼리 메모리를 직접 연결한다
RDMA의 핵심은 이름 그대로다. 바로 Remote Direct Memory Access, 즉 “원격 서버 메모리에 직접 접근”하는 구조라는 점이다. 쉽게 말하면 예전처럼 CPU와 운영체제가 중간에서 계속 데이터 복사와 네트워크 처리를 하는 대신, 네트워크 카드(NIC)가 직접 상대 서버 메모리와 데이터를 주고받는 방식에 가깝다. 처음에는 나도 “다른 서버 메모리에 직접 접근한다고?”라는 생각이 들어서 꽤 충격적이었다. 그런데 구조를 조금씩 이해하고 나니까 왜 데이터센터에서 이 기술을 중요하게 생각하는지 감이 왔다. 특히 RDMA는:
- CPU 개입 최소화
- 커널 우회(Kernel Bypass)
- 메모리 복사 감소
- 초저지연(Low Latency)
같은 장점을 가진다고 한다. 예를 들어 일반 네트워크 방식에서는 패킷이 커널 네트워크 스택을 거치고 CPU가 처리해야 하지만, RDMA는 NIC가 직접 메모리 데이터를 이동시키기 때문에 CPU 부담이 훨씬 줄어든다. 결국 GPU는 CPU를 기다리지 않고 훨씬 빠르게 데이터를 교환할 수 있게 되는 것이다. 나도 DPDK와 DMA 구조를 공부하면서 “CPU를 최대한 우회하려는 흐름”이 계속 반복된다는 걸 느꼈는데, RDMA는 거의 그 흐름의 끝판왕처럼 느껴졌다. 특히 최신 AI 클러스터 환경에서는 GPU끼리 엄청난 양의 데이터를 매우 짧은 시간 안에 교환해야 하기 때문에, 몇 마이크로초 단위 지연 차이조차 전체 학습 속도에 영향을 줄 수 있다고 한다. 결국 현대 데이터센터는 단순 계산 속도가 아니라 데이터를 얼마나 적은 오버헤드로 움직일 수 있는가에 훨씬 집중하게 된 것이다.
그래서 RDMA는 현대 AI 데이터센터 핵심 기술로 중요해지고 있다
지금까지 공부했던 DMA, Zero-Copy, io_uring, DPDK 같은 기술들을 보면 전부 공통된 흐름이 하나씩 보이기 시작한다. 바로 CPU와 커널이 불필요하게 개입하지 않게 만들고, 데이터 흐름 자체를 최대한 단순화하는 방향이다. RDMA 역시 완전히 같은 흐름 위에 있다. 특히 요즘 AI 데이터센터에서는 수많은 GPU 서버가 동시에 연결되어 거대한 하나의 클러스터처럼 동작하기 때문에, 네트워크 속도와 지연 시간이 전체 성능에 엄청난 영향을 준다고 한다. 그래서 NVIDIA InfiniBand 같은 초고속 RDMA 네트워크 기술이 AI 서버에서 굉장히 중요하게 사용된다고 한다. 나도 처음에는 AI 서버라고 하면 GPU만 엄청 많이 꽂혀 있는 줄 알았는데, 실제로는 GPU끼리 연결하는 네트워크 구조 자체가 훨씬 더 중요한 시대가 되고 있다는 게 꽤 인상 깊었다. 특히 AI 모델 크기가 계속 커질수록 단일 GPU 안에서 해결하는 게 점점 어려워지고 있기 때문에, 서버 간 초고속 데이터 이동 기술 중요성도 계속 커지고 있다고 한다. 결국 현대 AI 데이터센터는 단순히 “빠른 컴퓨터 여러 대”가 아니라, 엄청난 양의 데이터를 거의 메모리 수준 속도로 주고받을 수 있는 거대한 연결 구조에 가까워지고 있는 것이다. 이걸 공부하면서 가장 인상 깊었던 건 현대 서버 최적화는 결국 “CPU를 얼마나 덜 괴롭히고 데이터 흐름을 얼마나 부드럽게 만들 수 있는가”로 계속 진화하고 있다는 점이었다.
한 줄로 정리하면 RDMA는 네트워크 카드가 CPU와 운영체제 개입을 최소화한 채 서버 간 메모리를 직접 연결해 데이터를 초고속으로 전송하는 기술이며, 대규모 AI GPU 클러스터와 최신 데이터센터에서 매우 중요한 역할을 한다.