Doeun Kim , Jinyoung Kim , Kihan Choi , Hyuck Han , Minsoo Ryu , Sooyong Kang
{"title":"Dynamic zone redistribution for key-value stores on zoned namespaces SSDs","authors":"Doeun Kim , Jinyoung Kim , Kihan Choi , Hyuck Han , Minsoo Ryu , Sooyong Kang","doi":"10.1016/j.sysarc.2024.103159","DOIUrl":null,"url":null,"abstract":"<div><p>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.</p></div>","PeriodicalId":50027,"journal":{"name":"Journal of Systems Architecture","volume":"152 ","pages":"Article 103159"},"PeriodicalIF":3.7000,"publicationDate":"2024-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems Architecture","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1383762124000961","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
引用次数: 0
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.
期刊介绍:
The Journal of Systems Architecture: Embedded Software Design (JSA) is a journal covering all design and architectural aspects related to embedded systems and software. It ranges from the microarchitecture level via the system software level up to the application-specific architecture level. Aspects such as real-time systems, operating systems, FPGA programming, programming languages, communications (limited to analysis and the software stack), mobile systems, parallel and distributed architectures as well as additional subjects in the computer and system architecture area will fall within the scope of this journal. Technology will not be a main focus, but its use and relevance to particular designs will be. Case studies are welcome but must contribute more than just a design for a particular piece of software.
Design automation of such systems including methodologies, techniques and tools for their design as well as novel designs of software components fall within the scope of this journal. Novel applications that use embedded systems are also central in this journal. While hardware is not a part of this journal hardware/software co-design methods that consider interplay between software and hardware components with and emphasis on software are also relevant here.