Happy to visit my research note ^^

(관심 논문) ADOC: Automatically Harmonizing Dataflow Between Componentsin Log-Structured Key-Value Stores for Improved Performance 본문

논문/관심 논문

(관심 논문) ADOC: Automatically Harmonizing Dataflow Between Componentsin Log-Structured Key-Value Stores for Improved Performance

Liam Lim 2023. 3. 20. 02:47
728x90

Jinghuan Yu, City University of Hong Kong; Sam H. Noh, UNIST & Virginia Tech; Young-ri Choi, UNIST; Chun Jason Xue, City University of Hong Kong

February 21–23, 2023 • Santa Clara, CA, USA

USENIX Association

21st USENIX Conference on File and Storage Technologies

 

 

 


Abstract


 

 

 

  Log-Structure Merge-tree (LSM) based Key-Value (KV) system은 널리 사용되고 있다. 그러나 LSM-KV system에서는 write operation에 대한 압력이 커지면 performance가 갑자기 하락하는 write stall (write operation 중지/지연) 문제가 발생하는 것으로 알려져 있다. 기존의 연구들은 이 문제를 resource shortage(리소스 부족) or scheduling issue 와 같은 특정한 원인으로 설명해왔다. 하지만 본 논문에서는 다양한 storage device를 사용해서 RocksDB를 평가하고 write operation stall의 원인을 체계적으로 연구함으로써 개별적인 측면에 초점을 맞춘 이전 연구들이 일반적으로 적용될 수 없다는 결론을 내리고 있다. RocksDB와의 thorough review and further experiments를 통해 LSM-KV system의 write stall 문제 원인에 대해 data overflow라는 새로운 개념을 제시한다. Data overflow는 data flow 중 하나의 component에서 data flow가 급증하는 것으로 인해서 한 개 이상의 component가 급격하게 확장되는 것을 의미한다. 저자들은 component 간 data flow를 균형있게 조절하여 data overflow를 줄일 수 있다고 주장한다. 그리고 이를 증명하기 위해 ADOC (Automatic Data Overflow Control)라는 tuning framework를 제안한다. 이 framework는 system configurations, 특히 thread의 수와 batch size를 자동으로 조절해서 RocksDB에서 data overflow를 최소화한다. RocksDB와 함께 수행된 다양한 실험 결과, ADOC가 자동으로 조절하는 RocksDB와 비교해서 write stall의 지속 시간을 최대 87.9%까지 감소시키고 performance를 최대 322.8%까지 향상시킨다. Manually optimized state-of-the-art SILK와 비교해서, ADOC는 저자들이 사용한 synthetic write-intensice workload에 대해 최대 66% 더 높은 throughput을 달성하면서 YCSB workload의 경우 유사한 성능을 달성한다. 그러나 SILK는 평균적으로 20% 이상의 DRAM을 사용해야 한다.

 

 

 


Conclusion


 

 

  본 논문에서는 LSM-KV(Log-Structure Merge-tree based Key-Value)에서 발생하는 write stall phenomenon에 대해 이전 연구를 재검토하였다. 저자들은 individual aspects에 초점을 맞춘 결론이 일반적으로 적용되지 않는다는 것을 보였다. 최신 LSM-KV system에서 철저한 검토와 실험을 통해, 하나의 component에서 data flow가 급증하는 것으로 인해서 one or more components들이 급격하게 expansion되는 것을 보였다. 그리고 이것이 write stall 문제 원인을 설명할 수 있다. 저자들의 주장은 components 간에 data flow를 균형을 맞춤으로써, data overflowfmf 줄일 수 있고 그러므로 write stall을 줄일 수 있다는 것이다.

  저자들은 단순히 RocksDB에서 default로 수행되는 것처럼 overflowed data가 소비되기를 기다리지 않고 system configurations를 조절하기 위해 ADOC (Automatic Data Overflow Control)라는 tuning framework를 제안했다. RocksDB를 대상으로 한 실험 결과, ADOC는 비슷한 auto-tuning approach를 사용하는 auto-tuned RocksDB와 비교해서 최대 322.8%의 throughput이 향상되는 것을 보여주었다. SILK라는 manually optimized state-of-the-art와 비교해서는, ADOC는 synthetic write-intensive workloads에 대해 최대 66% 높은 throughput을 달성하면서 실제 YCSB workloads에서는 유사한 성능을 보인다. 그러나 SILK는 평균적으로 22.2% 더 많은 main memory를 사용하게 된다.

 

728x90
Comments