RDMA 장애 복구를 위한 실패 유형 인식 메커니즘 Varuna
Varuna는 RDMA 전송 중 발생하는 링크 장애를 사전‑실패와 사후‑실패로 구분하여, 이미 실행된 요청은 재전송하지 않고 결과만 복구함으로써 대역폭 낭비와 비멱등 연산 오류를 방지한다. 경량 로그와 동적 DCQP를 활용해 마이크로초 수준의 빠른 페일오버와 최소한의 메모리·연결 재구축 비용을 제공한다.
저자: Xiaoyang Wang, Yongkun Li, Lulu Yao
본 논문은 대규모 데이터센터와 AI 클러스터에서 핵심 인프라로 자리 잡은 RDMA(Remote Direct Memory Access)의 신뢰성 문제를 다룬다. RDMA는 초고속 전송과 CPU 오프로드를 제공하지만, 물리적 링크 장애·링크 플래핑·NIC 고장 등 단일 지점 실패에 매우 취약하다. 특히, 알리바바와 같은 대형 클러스터에서는 하루에 수만 건의 링크 플래핑이 발생하고, 단일 장애가 수만 달러의 손실을 초래한다. 기존 데이터센터는 **다중 경로(다중 포트·NIC·스위치)** 를 이용해 장애 시 스탠바이 링크로 전환하고, **모든 인플라이트(in‑flight) RDMA 요청을 무조건 재전송**하는 방식을 채택한다.
하지만 저자들은 RDMA 요청이 전송 파이프라인에서 **Send 단계**와 **Completion 단계**로 나뉘며, 장애 시점에 따라 두 가지 유형으로 구분될 수 있음을 확인한다.
- **Pre‑failure**: 장애가 발생한 시점에 요청이 아직 원격 피어에 도달하지 않아 실행되지 않은 경우. 이 경우 재전송이 필수이다.
- **Post‑failure**: 원격 피어가 이미 요청을 실행했지만 ACK가 손실된 경우. 이 경우 재전송은 불필요할 뿐 아니라, 비멱등 연산(Write, CAS, Fetch‑and‑Add 등)의 경우 중복 실행으로 데이터 일관성을 깨뜨릴 위험이 있다.
실험 결과, 무차별 재전송은 전송 시간에 평균 182 %의 오버헤드를 발생시키고, 트랜잭션 일관성 오류를 83.9 %까지 유발한다. 또한, 기존의 **PSN(패킷 시퀀스 번호) 기반 중복 억제** 메커니즘은 동일 QP 내에서만 동작하므로, 백업 링크에 새 QP를 할당하면 중복 실행을 방지하지 못한다.
이를 해결하기 위해 제안된 **Varuna**는 다음과 같은 핵심 설계를 갖는다.
1. **로그 기반 실패 인식**: 요청자는 로컬 로그에 기록하고, 원격 피어에 인라인 원‑사이드 RDMA WRITE로 짧은 로그 엔트리를 남긴다. 로그는 요청 ID와 실행 여부를 포함한다.
2. **UID 기반 결과 회수**: 각 요청에 전역 고유 식별자(UID)를 부여하고, 실행된 요청의 결과값을 UID와 함께 원격 로그에 저장한다. 장애 복구 시, 요청자는 UID를 통해 이미 실행된 요청의 결과를 직접 조회한다.
3. **경량 빠른 복구**: 서버당 미리 할당된 **Dynamic Connection Queue Pair(DCQP)** 풀을 유지한다. 장애 발생 시, 트래픽을 스탠바이 링크의 DCQP로 즉시 전환해 수 밀리초 이내에 복구한다. 기존 RCQP는 비동기적으로 재구축되며, 메모리 사용량을 최소화한다(미리 RCQP를 모든 경로에 할당하면 메모리 2배 증가).
Varuna는 **0.6 %‑10 %** 수준의 정상 운영 지연만을 추가하고, 재전송 트래픽을 평균 **65 %** 감소시킨다. 마이크로베치 실험에서는 64 B, 4 KB, 64 KB Write 및 CAS 연산에 대해 포스트‑실패 비율이 워크로드에 따라 크게 달라짐을 보였으며, Varuna는 이러한 포스트‑실패 요청을 정확히 식별해 불필요한 재전송을 방지한다. TPC‑C 기반 트랜잭션 워크로드에서는 일관성을 유지하면서 전체 레이턴스가 크게 증가하지 않았으며, 연결 재구축 오버헤드가 **0 ms** 로 측정되었다.
메모리 오버헤드는 로그 엔트리당 몇 바이트에 불과해 전체 메모리 사용량에 미치는 영향이 무시할 수준이며, 로그는 순환 버퍼 형태로 관리해 오래된 엔트리는 자동으로 덮어쓴다. 구현은 오픈소스 GitHub에 공개돼, 기존 RDMA 라이브러리와 호환 가능하도록 설계되었다.
논문의 한계로는 (1) 로그 손실 시 복구 복잡성, (2) 매우 높은 동시성 상황에서 로그 동기화 비용, (3) 현재는 주로 단일 NIC·다중 포트 환경에 초점을 맞추었으며, 완전한 멀티‑NIC·멀티‑스위치 토폴로지에 대한 평가는 부족하다는 점을 언급한다. 향후 연구에서는 로그 복제·다중 로그 파이프라인, 그리고 다양한 네트워크 토폴로지에 대한 확장성을 탐구할 예정이다.
결론적으로 Varuna는 RDMA 장애 복구에서 **실패 유형 인식**, **결과 회수**, **초고속 페일오버**라는 세 축을 결합해, 기존의 블라인드 재전송 방식이 가진 대역폭·일관성·재구축 비용 문제를 근본적으로 해결한다. 이는 고성능 키‑밸류 스토어, 원격 메모리 디스어그리게이션, 대규모 AI 학습 등 RDMA 의존도가 높은 현대 데이터센터 서비스에 실질적인 가치를 제공한다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기