(관심 논문) ADOC: 성능 향상을 위한 프로토콜 구조의 키-값 저장소 구성 요소 간 자동 데이터 흐름 조화

Jinghuan Yu, 홍콩 시립대학교; Sam H. Noh, UNIST & 버지니아 공대; UNIST 최영리; Chun Jason Xue, 홍콩 시립대학교

21-23 2023년 2월 • 미국 캘리포니아 산타클라라

USENIX 협회

제21회 USENIX 파일 및 스토리지 기술 컨퍼런스


추상적인


LSM(Log-Structure Merge-Tree) 기반 KV(Key-Value) 시스템이 널리 사용됩니다.
그러나 LSM-KV 시스템은 쓰기 작업에 대한 압력이 높아질수록 성능이 갑자기 떨어지는 쓰기 지연 문제(쓰기 작업 중지/지연)가 있는 것으로 알려져 있습니다.
기존 연구에서는 이러한 문제를 자원 부족이나 기한 문제와 같은 구체적인 원인으로 설명했습니다.
그러나 본 논문은 RocksDB를 서로 다른 저장 장치를 사용하여 평가하고 쓰기 지연의 원인을 체계적으로 조사함으로써 단일 측면에 초점을 맞춘 이전 연구를 일반적으로 적용할 수 없다는 결론을 내린다.
RocksDB로 철저한 검증과 추가 실험을 통해 LSM-KV 시스템의 쓰기 지연 문제의 원인에 대해 데이터 오버플로라는 새로운 개념을 제시합니다.
데이터 유출은 데이터 흐름의 구성 요소에서 데이터 흐름의 급격한 증가로 인해 하나 이상의 구성 요소가 빠르게 확장됨을 의미합니다.
저자는 구성 요소 간의 데이터 흐름 균형을 조정하여 데이터 오버플로를 줄일 수 있다고 주장합니다.
그리고 이를 증명하기 위해 ADOC(Automatic Data Overflow Control)라는 튜닝 프레임워크를 제안한다.
이 프레임워크는 시스템 구성, 특히 스레드 수와 스택 크기를 자동으로 조정하여 RocksDB의 데이터 오버플로를 최소화합니다.
RocksDB에서 수행된 다양한 실험 결과, ADOC는 자동으로 제한되는 RocksDB에 비해 정지 시간을 최대 87.9%까지 줄이고 성능을 최대 322.8% 향상시킵니다.
수동으로 조정된 최첨단 SILK와 비교할 때 ADOC는 작성자가 사용하는 합성 쓰기 집약적인 워크로드에 대해 최대 66% 더 높은 처리량을 달성하는 동시에 YCSB 워크로드에 대해 유사한 성능을 달성합니다.
하지만 SILK는 DRAM의 평균 20% 이상을 사용해야 합니다.


졸업 증서


이 글은 LSM-KV(Log-Structure Merge-Tree Based Key-Value)에서 발생하는 write-stall 현상에 대한 기존 연구를 검토한 것이다.
저자들은 개별 측면에 초점을 맞춘 결론이 일반적으로 적용되지 않는다는 것을 보여주었습니다.
최신 LSM-KV 시스템의 철저한 조사 및 실험에 따르면 구성 요소의 데이터 흐름이 급격히 증가함에 따라 하나 이상의 구성 요소가 빠르게 확장되는 것으로 나타났습니다.
그리고 이것은 쓰기 지연 문제의 원인을 설명할 수 있습니다.
저자의 주장은 구성 요소 간의 데이터 흐름의 균형을 유지함으로써 데이터 오버플로를 줄일 수 있으므로 쓰기 지연을 줄일 수 있다는 것입니다.

저자는 RocksDB가 기본적으로 수행하는 것처럼 단순히 오버플로된 데이터가 소비되기를 기다리지 않고 시스템 구성을 조정하기 위해 자동 데이터 오버플로 제어(ADOC)라는 조정 프레임워크를 제안했습니다.
RocksDB로 실험한 결과 ADOC는 유사한 자동 튜닝 접근 방식으로 자동 튜닝된 RocksDB에 비해 최대 322.8%의 처리량 향상을 보였습니다.
SILK의 최신 수동 튜닝 제품과 비교할 때 ADOC는 합성 쓰기 집약적인 워크로드에 대해 최대 66% 더 높은 처리량을 달성하는 동시에 실제 YCSB 워크로드에 대해 유사한 성능을 제공합니다.
그러나 SILK는 평균 22.2% 더 많은 메인 메모리를 사용합니다.