Dynamic zone redistribution for key-value stores on zoned namespaces SSDs
Doeun Kim,Jinyoung Kim,Kihan Choi,Hyuck Han,Minsoo Ryu,Sooyong Kang
DOI: https://doi.org/10.1016/j.sysarc.2024.103159
IF: 5.836
2024-05-04
Journal of Systems Architecture
Abstract:Recently, the zoned namespaces (ZNS) interface has been introduced as a new interface for solid-state drives (SSD), and commercial ZNS SSDs are starting to be used for LSM-tree-based KV-stores, including RocksDB, whose log-structured write characteristics well align with the intra-zone sequential write constraint of the ZNS SSDs. The host software for ZNS SSDs, including ZenFS for RocksDB, considers the lifetime of data when allocating zones to expedite zone reclamation. It also uses a lock-based synchronization mechanism to prevent concurrent writes to a zone, together with a contention avoidance policy that avoids allocating 'locked' zones to increase write throughput. However, this policy seriously damages the lifetime-based zone allocation strategy, leading to increased write amplification in KV-stores that support parallel compaction. In this paper, we delve into the underlying causes of this phenomenon and propose a novel zone management scheme, Dynamic Zone Redistribution (DZR), that can be effectively used for such KV-stores. DZR enables both high throughput and low write amplification by effectively addressing the root cause. Experimental results using micro- and macro-benchmarks show that DZR significantly reduces write amplification compared with ZenFS while preserving (or even increasing) write throughput.
computer science, software engineering, hardware & architecture