Ziggurat: A Tiered File System for Non-Volatile Main Memories and Disks

Shengan Zheng, Morteza Hoseinzadeh, Steven Swanson
Published in Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST), 2019

Abstract: Emerging fast, byte-addressable Non-Volatile Main Memory (NVMM) provides huge increases in storage performance compared to traditional disks. We present Ziggurat, a tiered file system that combines NVMM and slow disks to create a storage system with near-NVMM performance and large capacity. Ziggurat steers incoming writes to NVMM, DRAM, or disk depending on application access patterns, write size, and the likelihood that the application will stall until the write completes. Ziggurat profiles the application’s access stream online to predict the behavior of individual writes. In the background, Ziggurat estimates the “temperature” of file data, and migrates the cold file data from NVMM to disks. To fully utilize disk bandwidth, Ziggurat coalesces data blocks into large, sequential writes. Experimental results show that with a small amount of NVMM and a large SSD, Ziggurat achieves up to 38.9x and 46.5x throughput improvement compared with EXT4 and XFS running on an SSD alone, respectively. As the amount of NVMM grows, Ziggurat’s performance improves until it matches the performance of an NVMM-only file system.

[pdf] [slides] [url] [code]