🔧 Engineering/📁 GPU & Hardware

RDMA 테스트 방법 정리 (InfiniBand / perftest)

만두개 2026. 3. 13. 10:15
반응형
SMALL

GPU 서버나 HPC 환경에서는 RDMA(Remote Direct Memory Access)를 통해 노드 간 고속 통신을 수행한다.

RDMA 환경이 정상적으로 동작하는지 확인하기 위해 RDMA 테스트를 진행할 수 있다.
이전 글에서는 RDMA에 대하여 정리했으며, 이번 글에서는 RDMA 환경에서 기본적으로 사용하는 테스트 방법(perftest)을 정리해보려고 한다.

2026.03.12 - [🔧 Engineering/📁 GPU & Hardware] - RDMA(Remote Direct Memory Access)

 

RDMA(Remote Direct Memory Access)

GPU 서버를 공부하다 보면 RDMA 라는 용어를 자주 보게 된다.RDMA 가 무엇인지 공부하기위해 정리를 해보겠다. RDMA란 무엇인가RDMA는 이름 그대로 원격 시스템의 메모리에 직접 접근할 수 있는 기술

mandoog.tistory.com

 


RDMA 테스트 전 확인

RDMA 테스트를 진행하기 전에 RDMA 장치와 네트워크 상태를 먼저 확인해야 한다.

RDMA 장치 확인

먼저 시스템에서 RDMA 장치가 인식되는지 확인한다.

ibv_devices

 

* ibv = InfiniBand Verbs = RDMA 하드웨어(HCA)를 직접 제어하기 위한 API 인터페이스

 

예시 출력

device node GUID
mlx5_0
mlx5_1
 

여기서 mlx5는 NVIDIA/Mellanox ConnectX HCA(Network Card)를 의미한다.

RDMA 장치 상세 정보 확인

RDMA 장치의 상세 정보는 다음 명령어로 확인할 수 있다.

ibv_devinfo
 

여기서 확인할 수 있는 정보

  • RDMA device
  • firmware version
  • port 상태

InfiniBand 포트 상태 확인

다음 명령어로 InfiniBand 포트 상태를 확인한다.

ibstat
 

정상적인 경우 다음과 같이 표시된다.

State: Active
Physical state: LinkUp
 

만약 Down 상태라면 RDMA 통신이 정상적으로 이루어지지 않는다.

RDMA 네트워크 인터페이스 확인

RDMA 장치와 네트워크 인터페이스 매핑은 다음 명령어로 확인할 수 있다.

ibdev2netdev
 

예시

mlx5_0 port 1 ==> ib0
mlx5_1 port 1 ==> ib1
 

즉 RDMA 장치 mlx5_0이 ib0 네트워크 인터페이스로 연결되어 있다는 의미이다.


RDMA 테스트 툴 설치

RDMA 테스트는 보통 perftest 패키지를 사용한다.

Ubuntu 환경

apt install perftest
 

RHEL/CentOS 환경

yum install perftest
 

perftest에는 다양한 RDMA 성능 테스트 툴이 포함되어 있다.

대표적으로 다음 명령어들이 사용된다.

ib_write_bw
ib_write_lat
ib_read_bw
ib_read_lat
 

RDMA Bandwidth 테스트

RDMA bandwidth 테스트는 두 서버 간 RDMA 대역폭을 측정하는 테스트이다.

테스트는 server / client 방식으로 진행된다.

Server 측 실행

먼저 Server 노드에서 다음 명령어를 실행한다.

ib_write_bw
 

 

Client 측 실행

Client 노드에서 Server IP를 지정하여 실행한다.

ib_write_bw <server-ip>
 

예시

ib_write_bw 192.168.10.10
 

 

테스트 결과 예시

테스트가 정상적으로 진행되면 다음과 같은 결과가 출력된다.

8192 bytes
BW peak: 97.4 Gb/sec
BW average: 95.8 Gb/sec
 

100Gb InfiniBand 환경이라면 보통 90Gb/s 이상의 대역폭이 측정된다.


RDMA Latency 테스트

Latency 테스트는 RDMA 통신 지연 시간을 측정하는 테스트이다.

Server 측 실행

ib_write_lat
 

 

Client 측 실행

ib_write_lat <server-ip>
 

예)

ib_write_lat 192.168.10.10

이 테스트를 통해 RDMA 통신의 latency 성능을 확인할 수 있다.


RDMA 테스트 구조

RDMA 테스트는 다음과 같은 구조로 진행된다.

Server A                                       Server B
----------                                         ----------
ib_write_bw         <------->          ib_write_bw
│                                                         │
ConnectX HCA                        ConnectX HCA
│                                                         │
             -------- InfiniBand --------
 

두 서버의 HCA(Network Card)가 InfiniBand 네트워크로 연결되어 RDMA 통신을 수행한다.


RDMA 테스트 시 확인할 사항

RDMA 테스트가 정상적으로 진행되지 않을 경우 다음 항목을 확인해야 한다.

  • InfiniBand 포트 상태
  • Subnet Manager 동작 여부
  • MTU 설정
  • 네트워크 링크 상태
  • RDMA driver 상태

정리

RDMA 테스트는 RDMA 네트워크 환경이 정상적으로 동작하는지 확인하는 과정이다.

보통 다음과 같은 순서로 확인한다.

  1. RDMA 장치 확인 (ibv_devices)
  2. RDMA 장치 정보 확인 (ibv_devinfo)
  3. InfiniBand 포트 상태 확인 (ibstat)
  4. RDMA 네트워크 인터페이스 확인 (ibdev2netdev)
  5. RDMA 성능 테스트 (ib_write_bw, ib_write_lat)

이러한 테스트를 통해 RDMA 네트워크 대역폭과 latency 성능을 확인할 수 있다.

반응형
LIST