一句话:提出FlatFlash统一内存-存储层次,通过虚拟内存扩展和自适应页提升,实现字节粒度访问SSD并利用其持久性。
现有以SSD扩展主存的方法依赖分页在SSD与DRAM间移动数据,带来显著性能开销和额外I/O流量。FlatFlash利用SSD的字节可访问性,扩展虚拟内存管理提供统一内存接口,使程序能以字节粒度无缝访问SSD和DRAM;并提出轻量自适应页提升机制,透明兼顾SSD大容量与DRAM高速;同时设计字节粒度数据持久化抽象,重新思考文件系统和数据库的崩溃一致性。评估显示,内存密集型应用性能提升2.3倍,延迟关键应用尾延迟降低2.8倍,事务数据库吞吐量提升3.0倍,文件系统元数据持久化开销降低18.9倍,成本效益提升3.8倍,并延长SSD寿命。
Using flash-based solid state drives (SSDs) as main memory has been proposed as a practical solution towards scaling memory capacity for data-intensive applications. However, almost all existing approaches rely on the paging mechanism to move data between SSDs and host DRAM. This inevitably incurs significant performance overhead and extra I/O traffic. Thanks to the byte-addressability supported by the PCIe interconnect and the internal memory in SSD controllers, it is feasible to access SSDs in both byte and block granularity today. Exploiting the benefits of SSD's byte-accessibility in today's memory-storage hierarchy is, however, challenging as it lacks systems support and abstractions for programs. In this paper, we present FlatFlash, an optimized unified memory-storage hierarchy, to efficiently use byte-addressable SSD as part of the main memory. We extend the virtual memory management to provide a unified memory interface so that programs can access data across SSD and DRAM in byte granularity seamlessly. We propose a lightweight, adaptive page promotion mechanism between SSD and DRAM to gain benefits from both the byte-addressable large SSD and fast DRAM concurrently and transparently, while avoiding unnecessary page movements. Furthermore, we propose an abstraction of byte-granular data persistence to exploit the persistence nature of SSDs, upon which we rethink the design primitives of crash consistency of several representative software systems that require data persistence, such as file systems and databases. Our evaluation with a variety of applications demonstrates that, compared to the current unified memory-storage systems, FlatFlash improves the performance for memory-intensive applications by up to 2.3x, reduces the tail latency for latency-critical applications by up to 2.8x, scales the throughput for transactional database by up to 3.0x, and decreases the meta-data persistence overhead for file systems by up to 18.9x. FlatFlash also improves the cost-effectiveness by up to 3.8x compared to DRAM-only systems, while enhancing the SSD lifetime significantly.
DOI 原文 ·
@inproceedings{paperbot4930,
title = {FlatFlash: Exploiting the Byte-Accessibility of SSDs within a Unified Memory-Storage Hierarchy},
author = {Ahmed Abulila and Vikram Sharma Mailthody and Zaid Qureshi and Jian Huang and Nam Sung Kim and Jinjun Xiong and Wen-mei Hwu},
booktitle = {ASPLOS},
year = {2019},
doi = {10.1145/3297858.3304061}
}