[논문 리뷰] RDMAvisor: Toward Deploying Scalable and Simple RDMA as a Service in Datacenters
RDMAvisor는 가상 QPNs(vQPNs)를 사용한 공유 Queue Pairs(QPs)를 통한 연결 공유를 통해 고수준 애플리케이션과 저수준 RDMA 복잡성 간의 분리를 가능하게 하는 확장성 있고 단순한 RDMA as a Service(RaaS) 추상화를 제안한다. 락 없는, 적응형 전송 선택 및 효율적인 버퍼 관리 기법을 통해 수천 개의 연결에서 낮은 CPU 및 메모리 오버헤드로 높은 처리량을 달성하며, 단순한 RDMA 및 락 기반 QP 공유 기법보다 뛰어난 성능을 보인다.
RDMA is increasingly adopted by cloud computing platforms to provide low CPU overhead, low latency, high throughput network services. On the other hand, however, it is still challenging for developers to realize fast deployment of RDMA-aware applications in the datacenter, since the performance is highly related to many lowlevel details of RDMA operations. To address this problem, we present a simple and scalable RDMA as Service (RaaS) to mitigate the impact of RDMA operational details. RaaS provides careful message buffer management to improve CPU/memory utilization and improve the scalability of RDMA operations. These optimized designs lead to simple and flexible programming model for common and knowledgeable users. We have implemented a prototype of RaaS, named RDMAvisor, and evaluated its performance on a cluster with a large number of connections. Our experiment results demonstrate that RDMAvisor achieves high throughput for thousand of connections and maintains low CPU and memory overhead through adaptive RDMA transport selection.
연구 동기 및 목표
- 데이터센터에서 RDMA 인식 애플리케이션의 빠른 배포를 방해하는 복잡하고 저수준의 RDMA 설정 문제를 해결하기 위해.
- 수천 개의 연결이 노드당 일반적인 대규모 데이터센터 환경에서 RDMA의 확장성을 향상시키기 위해.
- 여러 연결 간에 RDMA Queue Pairs(QPs)를 효율적으로 재사용함으로써 CPU 및 메모리 오버헤드를 감소시키기 위해.
- RDMA 운영 세부 정보를 추상화하면서도 높은 성능을 유지할 수 있는 간단하고 유연한 프로그래밍 모델을 제공하기 위해.
- 공유 QP 설계에서 발생하는 락 경쟁으로 인한 성능 저하를 완화하기 위해.
제안 방법
- 응용 프로그램 개발자가 저수준 세부 정보를 숨기기 위해 RDMA verbs를 소켓 유사 인터페이스로 추상화하는 쉘레이어를 도입한다.
- 공유된 물리적 QPs 내에서 논리적 연결을 고유하게 식별하기 위해 가상 QPNs(vQPNs)를 사용한다.
- 연결 식별을 위해 Work Requests(WRs)의 wr_id 필드에 vQPNs를 저장한 일방적(RDMA) 운영을 사용한다.
- 양방향 운영(Send/Recv)의 경우, WR의 즉시 데이터 필드(imm_data)에 vQPNs를 내장하여 수신 측에서 연결 해석을 가능하게 한다.
- OS의 관여를 최소화하고 지연을 감소시키기 위해 CQ(완료 큐)에 대한 락 없는 사용자 영역 풀링을 구현한다.
- 메시지 크기 및 성능 특성에 기반한 적응형 전송 선택(RC/UC/UD)을 채택하여 처리량과 자원 사용을 최적화한다.
실험 결과
연구 질문
- RQ1어떻게 응용 프로그래머가 저수준 운영 복잡성을 숨기면서도 단순하고 재사용 가능한 서비스 계층으로 RDMA를 추상화할 수 있는가?
- RQ2제한된 QP 자원을 수천 개의 동시 연결 간에 효율적이고 확장 가능하게 공유하기 위해 어떤 메커니즘이 필요한가?
- RQ3공유 QPs를 통한 연결 멀티플렉싱은 개별 연결 QP 할당 대비 처리량, CPU, 메모리 오버헤드에 어떤 영향을 미치는가?
- RQ4락 없는 사용자 영역 풀링과 적응형 전송 선택이 고병렬성 RDMA 워크로드에서 CPU 및 메모리 오버헤드를 상당히 감소시킬 수 있는가?
- RQ5제안된 RaaS 설계는 단순한 RDMA 및 기존 락 경쟁이 발생하는 공유 QP 접근 방식보다 얼마나 뛰어나게 성능을 발휘하는가?
주요 결과
- RDMAvisor는 노드당 최대 1,000개의 연결에서도 안정적인 고처리량을 유지하지만, 단순한 RDMA는 QP 고갈로 400개를 초과하면 급격한 성능 저하를 보인다.
- 400개 이하의 연결 수에서도 QP 공유로 인한 더 높은 배치 효율성 덕분에 RDMAvisor는 단순한 RDMA보다 뛰어난 성능을 보인다.
- RDMAvisor는 단순한 RDMA 대비 CPU 및 메모리 오버헤드를 크게 감소시키며, 자원 소비가 연결 수에 대해 선형보다 느린 비율로 증가한다.
- 락 경쟁에 강건하여, 특히 QP당 스레드 수가 증가할수록 락 기반 QP 공유 기법보다 뛰어난 성능을 발휘한다.
- 적응형 전송 선택은 메시지 크기 및 네트워크 조건에 따라 RC, UC, 또는 UD를 선택함으로써 최적의 성능을 가능하게 한다.
- vQPN 메커니즘은 공유 QPs에서 효율적이고 락 없는 연결 식별을 가능하게 하여 캐시 미스를 감소시키고 확장성을 향상시킨다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.