Skip to main content
QUICK REVIEW

[논문 리뷰] Co-KV: A Collaborative Key-Value Store Using Near-Data Processing to Improve Compaction for the LSM-tree

Hui Sun, Wei Liu|arXiv (Cornell University)|2018. 07. 11.
Advanced Data Storage Technologies참고 문헌 12인용 수 4
한 줄 요약

Co-KV는 SSD 내 near-data processing(NDP)를 활용하여 호스트에서의 compaction 작업을 오프로드하는 협업형 키-밸류 스토어를 제안한다. 이는 호스트와 장치 간에 compaction 작업을 분할하여 병렬 실행함으로써, 업데이트 집약적 워크로드에서 LevelDB 대비 왈적적으로 36.0% 감소한 왈적적성과 2.0배 향상된 전체 처리량을 달성한다.

ABSTRACT

Log-structured merge tree (LSM-tree) based key-value stores are widely employed in large-scale storage systems. In the compaction of the key-value store, SSTables are merged with overlapping key ranges and sorted for data queries. This, however, incurs write amplification and thus degrades system performance, especially under update-intensive workloads. Current optimization focuses mostly on the reduction of the overload of compaction in the host, but rarely makes full use of computation in the device. To address these issues, we propose Co-KV, a Collaborative Key-Value store between the host and a near-data processing ( i.e., NDP) model based SSD to improve compaction. Co-KV offers three benefits: (1) reducing write amplification by a compaction offloading scheme between host and device; (2) relieving the overload of compaction in the host and leveraging computation in the SSD based on the NDP model; and (3) improving the performance of LSM-tree based key-value stores under update-intensive workloads. Extensive db_bench experiment show that Co-KV largely achieves a 2.0x overall throughput improvement, and a write amplification reduction by up to 36.0% over the state-of-the-art LevelDB. Under YCSB workloads, Co-KV increases the throughput by 1.7x - 2.4x while decreases the write amplification and average latency by up to 30.0% and 43.0%, respectively.

연구 동기 및 목표

  • 업데이트 집약적 워크로드에서 compaction 과정에서 발생하는 왈적적성 증가로 인한 성능 저하 문제를 해결한다.
  • near-data processing(NDP)를 활용해 SSD에 일부 compaction 작업을 오프로드하여 호스트 측의 CPU 및 I/O 오버헤드를 감소시킨다.
  • 호스트와 장치 간의 병렬성을 활용하여 전체 시스템의 compaction 성능을 향상시키고 데이터 이동을 최소화한다.
  • 기존 LSM-tree 인터페이스와의 호환성을 유지하면서도, compaction 작업의 투명한 오프로드를 가능하게 하는 협업 아키텍처를 설계한다.
  • 의미 기반 작업 분할을 통해 호스트와 스토리지 장치 간의 계산 및 I/O 부하를 균형 있게 분배하여 시스템 수준의 성능을 최적화한다.

제안 방법

  • 호스트(Co-KVH)와 장치(Co-KVD)가 협업하여 작업을 분할하는 이중 계층의 compaction 오프로딩 기법을 제안한다.
  • 키 범위와 스토리지 특성에 기반해 데이터 분할 및 작업 배분을 조율하기 위해 의미 기반 매니저를 사용한다.
  • 중복되는 키 범위 병합 작업을 호스트와 SSD에 할당하여 병렬 실행을 가능하게 하는 compaction 오프로딩 메커니즘을 구현한다.
  • LevelDB에 Co-KV 시스템을 프로토타입으로 통합하여, 응용 프로그램 인터페이스를 변경하지 않고도 NDP 기반 SSD를 지원하도록 확장한다.
  • 호스트와 장치 간의 작업 스케줄링, 데이터 이동, 조율을 처리하기 위한 경량 오프로드 매니저를 설계한다.
  • 데이터 근처에서 계산을 수행함으로써 데이터 이동을 최소화하고 대역폭 압력을 줄이며 왈적적성도 감소시키기 위해 NDP 모델을 활용한다.

실험 결과

연구 질문

  • RQ1호스트에서 NDP 기반 SSD로 compaction 작업을 오프로드하면 LSM-tree 기반 키-밸류 스토어의 왈적적성이 감소하는가?
  • RQ2호스트와 장치 간의 협업형 compaction이 업데이트 집약적 워크로드에서 처리량과 지연 시간에 어떤 영향을 미치는가?
  • RQ3호스트 단독 최적화 대비 호스트와 장치 간의 시스템 수준 병렬성이 compaction 성능 향상에 얼마나 기여하는가?
  • RQ4작업 특성(예: 읽기/쓰기 비율, 데이터 크기)이 Co-KV의 성능 향상에 미치는 영향은 어떠한가?
  • RQ5기존 LSM-tree 스토리지 스택에 NDP 기반 compaction을 통합하기 위해 투명하고 인터페이스 호환 가능한 시스템을 어떻게 설계할 수 있는가?

주요 결과

  • db_bench 워크로드 하에서 Co-KV는 LevelDB 대비 전체 처리량을 2.0배 향상시켰다.
  • 특히 고업데이트 워크로드에서 Co-KV는 왈적적성을 최대 36.0% 감소시켰다.
  • 100% 업데이트 작업을 포함한 YCSB 워크로드에서 Co-KV는 처리량을 2.0배에서 2.2배 향상시키며 평균 지연 시간을 최대 43.0% 감소시켰다.
  • 읽기 90%, 쓰기 10% 비율의 워크로드에서 Co-KV는 21,415 ops/sec의 성능을 달성하여 동일 조건에서 LevelDB를 능가했다.
  • 20GB 로드 및 80GB 런 워크로드 구성에서 Co-KV의 왈적적성은 LevelDB의 71.0% 수준으로 감소했다.
  • 장치 측 구성요소(Co-KVD)가 약 절반의 compaction 작업을 처리하여 효과적인 병렬성과 부하 균형을 달성했다.

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

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

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

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