회사소개
뉴스
제품 역학
RDMA란 무엇인가요?
RDMA란 무엇인가요?
2026-04-23

RDMA (원격 직접 메모리 액세스)는 DMA(직접 메모리 액세스)에서 파생된 네트워크 통신 기술입니다. 사용자 애플리케이션이 운영 체제 커널(CPU)을 우회하여 네트워크 인터페이스 카드(NIC)와 직접 상호 작용하여 데이터를 전송함으로써 초고속 대역폭과 초저지연을 제공합니다. 처음에는 고성능 컴퓨팅(HPC)을 위해 개발된 RDMA는 이제 데이터 센터에서 널리 채택되고 있습니다。

1. RDMA 기술 원칙

RDMA의 핵심 원리는 운영 체제 커널을 우회하고 네트워크 전송 계층 아래에서 직접 메모리 전송을 수행하기 위해 네트워크 어댑터의 특수 하드웨어(예: NIC의 RDMA 엔진)를 활용하는 데 있습니다. 이 메커니즘은 지연 시간과 CPU 오버헤드를 최소화하는 동시에 네트워크 효율성을 향상시킵니다.


RDMA에서 발신자와 수신자 간의 통신은 RDMA 어댑터를 통해 이루어집니다. 먼저 발신자는 RDMA 어댑터의 메모리에 전송할 데이터 버퍼를 등록하고 데이터의 주소, 크기 및 기타 정보가 포함된 디스크립터를 수신자에게 보냅니다. 수신자는 수신 버퍼를 RDMA 어댑터에 등록하고 수신 버퍼의 주소를 어댑터에 알립니다. 그런 다음 발신자는 운영 체제의 개입 없이 RDMA 어댑터를 통해 송신 버퍼에서 수신 버퍼로 데이터를 직접 전송합니다. 이 프로세스를 RDMA 쓰기 작업이라고 합니다. 또한 수신자는 RDMA 읽기 작업을 통해 발신자의 메모리에서 직접 데이터를 읽을 수도 있습니다.


RDMA는 쓰기 연산, 읽기 연산, 원자 연산이라는 세 가지 기본 유형의 연산을 지원합니다. 쓰기 작업을 통해 노드는 다른 노드의 메모리에 직접 데이터를 쓸 수 있습니다. 읽기 작업을 통해 노드는 다른 노드의 메모리에서 데이터를 직접 읽을 수 있습니다. 원자 연산은 원격 노드에서 비교 및 스왑(CAS)과 같은 일부 원자 연산을 수행할 수 있는 특수 연산입니다.


RDMA의 작동 원리는 주로 하드웨어 수준의 직접 메모리 액세스를 통해 데이터 전송 지연과 CPU의 부하를 줄이는 것입니다. 기존의 TCP/IP 통신 방식에 비해 RDMA는 발신자와 수신자 사이에 연결을 설정할 필요가 없고 복잡한 프로토콜 처리를 수행할 필요도 없으므로 성능이 높고 지연 시간이 짧습니다. 또한 RDMA는 제로 카피 및 커널 바이패스와 같은 기능도 지원하므로 데이터 전송의 효율성을 더욱 향상시킬 수 있습니다.


일반적으로 RDMA의 기술적 원리는 직접 메모리 액세스를 통해 네트워크 어댑터의 전용 하드웨어를 사용하고 운영 체제 커널을 우회하며 효율적이고 지연 시간이 짧으며 CPU 점유량이 적은 네트워크 통신을 달성하는 것입니다.


2. RDMA의 기술적 특성은 주로 다음과 같은 측면을 포함합니다:


* CPU 개입이 필요하지 않습니다: RDMA 기술의 핵심 특징 중 하나는 CPU 개입이 필요하지 않다는 점입니다. 애플리케이션은 원격 호스트의 CPU 리소스를 사용하지 않고도 원격 호스트 메모리에 직접 액세스할 수 있습니다. 따라서 데이터 전송 중 지연과 CPU 점유율이 크게 감소하고 전반적인 성능이 향상됩니다.


* 커널 바이패스: RDMA는 커널 바이패스 기술을 지원하므로 애플리케이션은 커널 모드와 사용자 모드 간의 컨텍스트 전환 없이 사용자 모드에서 직접 데이터 전송을 수행할 수 있습니다. 이렇게 하면 데이터 전송 지연이 더욱 줄어들고 효율성이 향상됩니다.


* 제로 카피: RDMA 기술은 CPU가 한 스토리지에서 다른 스토리지로 데이터를 복사하는 과정을 생략하는 제로 카피의 특징을 가지고 있습니다. TCP/IP 통신에서 호스트 간 데이터 전송에는 잦은 복사 작업이 필요한데, RDMA는 직접 메모리 액세스를 통해 이러한 불필요한 복사 작업을 줄여 데이터 전송의 효율성을 향상시킵니다.


* 높은 대역폭과 짧은 지연 시간: RDMA는 운영 체제에서 제공하는 프로토콜 스택을 우회하여 네트워크 전송 계층에서 직접 데이터 전송을 수행하므로 대역폭 활용도가 높고 지연 시간이 짧습니다. 따라서 RDMA는 고성능과 짧은 지연 시간이 필요한 네트워크 통신 시나리오에 매우 적합합니다.


* 하드웨어 지원: RDMA를 사용하려면 특정 네트워크 카드 하드웨어 지원이 필요하며, 일반적으로 RDMA 통신 처리를 위한 전용 RDMA 엔진이 탑재되어 있습니다. 이러한 하드웨어 지원을 통해 RDMA는 고성능 및 짧은 대기 시간 특성을 달성할 수 있습니다.


일반적으로 RDMA의 기술적 특징으로는 CPU 개입 없음, 커널 바이패스, 제로 카피, 높은 대역폭과 낮은 지연 시간, 하드웨어 지원 등이 있습니다. 이러한 특징 덕분에 RDMA는 효율적이고 지연 시간이 짧은 네트워크 통신 기술로, 특히 대량의 데이터를 처리하고 고성능 네트워크 통신이 필요한 시나리오에 적합합니다.


3. RDMA의 적용 시나리오


RDMA 기술의 적용 시나리오는 매우 광범위합니다. 다음은 몇 가지 주요 적용 시나리오입니다:


* 데이터 센터: 데이터 센터에서 서버는 대량의 데이터를 자주 전송하고 교환해야 합니다. RDMA는 고성능과 짧은 지연 시간으로 데이터 센터의 네트워크 통신에 매우 적합하여 데이터 전송 효율을 개선하고 지연 시간을 줄이며 전반적인 성능을 향상시킬 수 있습니다.


* 고성능 컴퓨팅(HPC): 고성능 컴퓨팅 분야에서는 대량의 데이터를 처리하고 복잡한 계산을 수행해야 합니다. RDMA의 직접 메모리 액세스 및 제로 카피 기술은 데이터 전송 오버헤드를 줄이고 컴퓨팅 효율성을 향상시킬 수 있습니다. 동시에 RDMA는 대규모 병렬 처리를 지원하며 HPC 환경의 다중 노드 병렬 컴퓨팅에 매우 적합합니다.


* 분산 스토리지 시스템: 분산 스토리지 시스템에서 노드는 데이터 읽기 및 쓰기 작업을 자주 수행해야 합니다. RDMA의 효율적인 데이터 전송 및 직접 메모리 액세스 특성은 노드 간의 데이터 읽기 및 쓰기 효율성을 개선하고 분산 스토리지 시스템의 전반적인 성능을 향상시킬 수 있습니다.


* 클라우드 컴퓨팅: 클라우드 컴퓨팅 환경에서는 가상 머신(VM) 간의 통신 및 데이터 전송이 일반적인 요구 사항입니다. RDMA를 사용하면 VM 간의 효율적인 통신을 달성하고 클라우드 컴퓨팅 환경의 전반적인 성능을 향상시킬 수 있습니다.


일반적으로 RDMA에는 몇 가지 단점과 한계가 있지만, 많은 고성능, 저지연 시나리오에서 여전히 매우 효과적인 네트워크 통신 기술입니다. RDMA 사용 여부를 선택할 때는 특정 애플리케이션 요구 사항 및 환경에 따라 그 적용 가능성과 성능을 평가해야 합니다.

联系我们