Skip to main content
QUICK REVIEW

[논문 리뷰] Write-Optimized and Consistent RDMA-based NVM Systems

Xinxin Liu, Yu Hua|arXiv (Cornell University)|2019. 06. 18.
Advanced Memory and Neural Computing참고 문헌 26인용 수 4
한 줄 요약

Erda는 원격 NVM에 대한 원측 RDMA 쓰기에서 추가 네트워크 라운드트립, 원격 CPU 참여, 이중 NVM 쓰기 없이도 원격 데이터 원자성(RDA)을 보장하는 제로 코피 로그 구조 메모리 설계이다. 불완전 쓰기 탐지를 위해 CRC 캐크섬을 사용하고 8바이트 원자적 메타데이터 업데이트를 통해 Erda는 NVM 쓰기 횟수를 약 50% 감소시키면서도 리두 로깅 및 읽기 이후 쓰기 방식보다 처리량을 높이고 지연을 줄였다.

ABSTRACT

In order to deliver high performance in cloud computing, we generally exploit and leverage RDMA (Remote Direct Memory Access) in networking and NVM (Non-Volatile Memory) in end systems. Due to no involvement of CPU, one-sided RDMA becomes efficient to access the remote memory, and NVM technologies have the strengths of non-volatility, byte-addressability and DRAM-like latency. In order to achieve end-to-end high performance, many efforts aim to synergize one-sided RDMA and NVM. Due to the need to guarantee Remote Data Atomicity (RDA), we have to consume extra network round-trips, remote CPU participation and double NVM writes. In order to address these problems, we propose a zero-copy log-structured memory design for Efficient Remote Data Atomicity, called Erda. In Erda, clients directly transfer data to the destination address at servers via one-sided RDMA writes without redundant copy and remote CPU consumption. To detect the incompleteness of fetched data, we verify a checksum without client-server coordination. We further ensure metadata consistency by leveraging an 8-byte atomic update in the hash table, which also contains the address information for the stale data. When a failure occurs, the server properly restores to a consistent version. Experimental results show that compared with Redo Logging (a CPU involvement scheme) and Read After Write (a network dominant scheme), Erda reduces NVM writes approximately by 50%, as well as significantly improves throughput and decreases latency.

연구 동기 및 목표

  • 원격 데이터 원자성(RDA)을 보장하기 위해 발생하는 높은 네트워크 오버헤드, CPU 소비, 이중 NVM 쓰기 문제를 해결하기 위해.
  • 원격 CPU 조율 없이도 원측 RDMA 쓰기를 통해 NVM에 대해 종단 간 일관성과 낮은 지연을 보장하기 위해.
  • 중복 복사본과 지속적 로깅 오버헤드를 제거함으로써 NVM 쓰기 증폭을 줄이기 위해.
  • 장애 발생 후에도 데이터 일관성을 보장하기 위해 캐크섬 기반 탐지와 원자적 메타데이터 업데이트를 통해.
  • 원측 RDMA와 NVM의 상호 운용성을 통해 클라우드 워크로드에서 높은 성능를 달성하면서 내구성과 원자성을 포기하지 않기 위해.

제안 방법

  • Erda는 로그 구조 메모리 설계를 사용하여 클라이언트가 중간 버퍼나 서버 CPU를 거치지 않고 직접 원격 NVM에 RDMA를 통해 데이터를 쓴다.
  • 각 데이터 객체는 이후 읽기 작업 동안 불완전하거나 손상된 쓰기를 탐지하기 위해 CRC 캐크섬을 포함한다.
  • 메타데이터 업데이트는 해시 테이블에 8바이트 원자적 쓰기를 통해 수행되며, 이는 새로운 데이터 주소와 이전 버전의 주소를 모두 저장한다.
  • 캐시섬 검증을 통해 불완전 쓰기를 감지하면 클라이언트는 해시 테이블에 저장된 주소를 사용해 이전 버전을 다시 읽는다.
  • 서버는 저장된 이전 버전과 원자적 메타데이터 업데이트를 사용해 일관성 없는 상태를 탐지하고 복구한다.
  • 원자성 확보를 위해 로깅이나 조율가 필요로 하지 않기 때문에 추가 네트워크 라운드트립을 피하고 이중 NVM 쓰기를 제거한다.

실험 결과

연구 질문

  • RQ1원측 RDMA 기반 NVM 시스템에서 추가 네트워크 라운드트립 없이도 원격 데이터 원자성(RDA)을 어떻게 보장할 수 있는가?
  • RQ2원격 CPU 참여나 중복 데이터 복사본 없이도 원격 데이터 원자성을 달성할 수 있는가?
  • RQ3NVM 쓰기 증폭을 줄이면서도 일관성을 유지할 수 있는 메커니즘은 무엇인가?
  • RQ4제로 코피 및 원격 직접 액세스 환경에서 불완전하거나 일관성 없는 쓰기를 효율적으로 탐지하고 복구할 수 있는 방법은 무엇인가?
  • RQ5캐시섬과 원자적 메타데이터 업데이트를 갖춘 로그 구조 설계가 RDMA-NVM 시스템에서 성능과 일관성을 동시에 확보할 수 있는가?

주요 결과

  • Erda는 중복 쓰기와 로깅을 제거함으로써 리두 로깅 및 읽기 이후 쓰기 방식 대비 NVM 쓰기 횟수를 약 50% 감소시켰다.
  • 네트워크 라운드트립과 원격 작업에 따른 CPU 오버헤드가 감소함에 따라 처리량이 크게 향상되었다.
  • 중간 버퍼링이나 CPU 처리 없이 직접 NVM에 데이터를 쓰므로 지연이 감소했다.
  • 캐시섬 검증과 8바이트 원자적 메타데이터 업데이트를 통해 원격 데이터 원자성을 달성하여 장애 발생 후에도 일관성을 보장했다.
  • 지속적 로깅이나 버퍼 복사본이 필요로 하지 않기 때문에 이중 NVM 쓰기를 피함으로써 NVM 내구성과 성능이 향상되었다.
  • 소스 코드가 공개되어 재현 가능성과 향후 시스템 통합을 가능하게 했다.

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

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

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

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