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
정상적인 경우 다음과 같이 표시된다.
Physical state: LinkUp
만약 Down 상태라면 RDMA 통신이 정상적으로 이루어지지 않는다.
RDMA 네트워크 인터페이스 확인
RDMA 장치와 네트워크 인터페이스 매핑은 다음 명령어로 확인할 수 있다.
ibdev2netdev
예시
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 네트워크 환경이 정상적으로 동작하는지 확인하는 과정이다.
보통 다음과 같은 순서로 확인한다.
- RDMA 장치 확인 (ibv_devices)
- RDMA 장치 정보 확인 (ibv_devinfo)
- InfiniBand 포트 상태 확인 (ibstat)
- RDMA 네트워크 인터페이스 확인 (ibdev2netdev)
- RDMA 성능 테스트 (ib_write_bw, ib_write_lat)
이러한 테스트를 통해 RDMA 네트워크 대역폭과 latency 성능을 확인할 수 있다.
'🔧 Engineering > 📁 GPU & Hardware' 카테고리의 다른 글
| [HGX B200] M.2 NVMe 장애 → 물리 교체 작업 정리 (0) | 2026.03.18 |
|---|---|
| pdsh (Parallel Distributed Shell 정리) (0) | 2026.03.13 |
| RDMA(Remote Direct Memory Access) (0) | 2026.03.12 |
| Supermicro B200 PSU 교체 + fd test (0) | 2026.03.12 |
| NVLink / NVSwitch 정리 (0) | 2026.03.12 |