Skip to main content
QUICK REVIEW

[논문 리뷰] Using RDMA for Lock Management

Yeounoh Chung, Erfan Zamanian|arXiv (Cornell University)|2015. 07. 12.
Distributed systems and fault tolerance참고 문헌 5인용 수 3
한 줄 요약

이 논문은 분산 락 매니저에서 서버 CPU의 성능 저하 문제를 해결하기 위해 RDMA를 활용한 클라이언트 중심의 락 관리 설계를 제안한다. 클라이언트가 락 상태에 직접 애자일 RDMA 연산(예: 비교 및 교환, 가져오기 및 추가)을 수행할 수 있도록 함으로써, 기존의 중심화된 설계 대비 최대 10배 높은 처리량을 달성한다. 특히 높은 경쟁 상황에서 뚜렷한 성능 향상을 보인다.

ABSTRACT

In this work, we aim to evaluate different Distributed Lock Management service designs with Remote Direct Memory Access (RDMA). In specific, we implement and evaluate the centralized and the RDMA-enabled lock manager designs for fast network settings. Experimental results confirms a couple of hypotheses. First, in the traditional centralized lock manager design, CPU is the bottleneck and bypassing CPU on client-to-server communication using RDMA results in better lock service perofrmance. Second, different lock manager designs with RDMA in consideration result in even better performance; we need to re-design lock management system for RDMA and fast networks.

연구 동기 및 목표

  • 고속 네트워크 환경에서의 높은 네트워크 부하 상황에서 기존의 중심화된 분산 락 매니저(DLM)에서 발생하는 CPU 성능 저하 문제를 해결하기 위해.
  • InfiniBand과 같은 고속 네트워크 환경에서 RDMA 기반 락 관리가 성능을 크게 향상시킬 수 있는지 평가하기 위해.
  • 일방향 RDMA 연산을 활용해 클라이언트가 락 관리에 참여하도록 DLM 아키텍처를 재설계해 보고자 하였다.
  • 기존의 서버 중심 설계와 달리, RDMA를 통해 클라이언트가 락 조율 기능을 이행하는 새로운 클라이언트 중심 설계를 비교 분석하기 위해.

제안 방법

  • 저수준 통신을 위해 TCP/IP와 RDMA 전송/수신 명령어를 사용하는 기존의 서버 중심 DLM을 구현하였다.
  • 클라이언트가 RDMA 일방향 연산(비교 및 교환, 가져오기 및 추가, 읽기, 왁기)을 사용해 서버의 락 상태를 직접 조작할 수 있도록 클라이언트 중심의 DLM을 설계하였다.
  • 64비트 락 상태 워드를 사용하며, 전용 32비트 필드를 각각 독점 및 공유 락 소유자 정보에 할당하여 RDMA를 통해 원자적으로 업데이트할 수 있도록 하였다.
  • 잠금 획득 재시도를 위한 백오프 메커니즘을 구현하였으며, 이는 락 상태를 수정하지 않고도 RDMA 읽기 연산을 통해 상태를 점검함으로써 작동한다.
  • 40코어 프로세서를 탑재한 7대의 InfiniBand 클러스터를 사용해 클라이언트 수와 경쟁률을 다양하게 변화시키며 처리량을 측정하였다.
  • TCP 기반 서버 중심, RDMA 기반 서버 중심, 클라이언트 중심 설계 간의 성능을 비교하였다.

실험 결과

연구 질문

  • RQ1중심화된 DLM에서 서버 CPU를 건너뛰는 RDMA를 통해 락 서비스의 처리량이 크게 향상되는가?
  • RQ2클라이언트가 RDMA 연산을 통해 락 조율에 참여하도록 DLM 아키텍처를 재설계하면 기존의 서버 중심 모델 대비 성능 향상이 이루어지는가?
  • RQ3독점 락과 공유 락을 각각 구현할 때 RDMA 원자 연산을 사용한 락 획득 및 해제 프로토콜의 성능은 어떻게 다른가?
  • RQ4클라이언트 측 백오프 전략이 RDMA를 사용할 경우 락 획득 성능에 어떤 영향을 미치는가?
  • RQ5높은 경쟁 상황에서 클라이언트 중심의 RDMA 기반 DLM은 기존의 TCP 기반 및 RDMA 기반 서버 중심 DLM 대비 처리량에서 어떤 차이를 보이는가?

주요 결과

  • 기존의 TCP 기반 중심화된 DLM에서 서버 CPU의 90% 이상이 커널 메시지 처리에 소비되어, CPU가 주요 성능 저하 요인임을 확인하였다.
  • RDMA 전송/수신 명령어를 사용함으로써 CPU 오버헤드가 감소하고 처리량이 향상되었지만, 서버는 여전히 성능 저하 요인이었다.
  • 클라이언트 중심 설계에서는 RDMA 원자 연산을 통해 락 조율 기능을 클라이언트로 이관함으로써, RDMA 최적화된 서버 중심 설계조차도 10배 이상 뛰어난 성능을 달성하였다.
  • 클라이언트 수와 경쟁률 증가에 따라 클라이언트 중심 설계의 처리량이 더 뛰어난 수준으로 확장되었으며, 이는 뛰어난 수평 확장성의 증거였다.
  • 비교 및 교환, 가져오기 및 추가 등의 원자 연산을 통해 서버 CPU의 간섭 없이도 효율적이고 저지연의 락 획득 및 해제가 가능했다.
  • 재시도 중 상태 점검을 위해 RDMA 읽기 연산을 사용함으로써 공유 락 카운터가 불필요하게 증가하는 것을 방지하여 정확성과 성능을 모두 향상시켰다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.