ZWAL: Rethinking Write-ahead Logs for ZNS SSDs with Zone Appends

Krijn Doekemeijer, Zebin Ren, Nick Tehrany, Animesh Trivedi

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

KV-stores are extensively used databases that require performance stability. Zoned Namespace (ZNS) is an emerging interface for flash storage devices that provides such stability. Due to their sequential write access patterns, LSM trees, ubiquitous data structures in KV stores, present a natural fit for the append-only ZNS interface. However, LSM-trees achieve limited write throughput on ZNS. This limitation is because the largest portion of LSM-tree writes are small writes for the write-ahead log (WAL) component of LSM-trees, and ZNS has limited performance for small write I/O. The ZNS-specific zone append operation presents a solution, enhancing the throughput of small sequential writes. Still, zone appends are challenging to utilize in WALs. The storage device is allowed to reorder the data of zone appends, which is not supported by WAL recovery. Therefore, we need to change the WAL design to support such reordering. This paper introduces ZWALs, a new WAL design that uses zone appends to increase LSM-tree write throughput. They are resilient to reordering by adding identifiers to each append along with a novel recovery technique. We implement ZWALs in the state-of-the-art combination of RocksDB and ZenFS and report up to 8.56 times higher throughput on the YCSB benchmark. We open-source all our code at https://github.com/stonet-research/zwal.

Original languageEnglish
Pages (from-to)53-60
Number of pages8
JournalOperating Systems Review (ACM)
Volume58
Issue number1
DOIs
Publication statusPublished - Jun 2024

Bibliographical note

Publisher Copyright:
© 2024 Association for Computing Machinery. All rights reserved.

Fingerprint

Dive into the research topics of 'ZWAL: Rethinking Write-ahead Logs for ZNS SSDs with Zone Appends'. Together they form a unique fingerprint.

Cite this