Abstract
Today’s ultra-low latency SSDs can deliver an I/O latency of sub-ten microseconds. With this dramatically shrunken device time, operations inside the kernel I/O stack, which were traditionally considered lightweight, are no longer a negligible portion. This motivates us to reexamine the storage I/O stack design and propose an asynchronous I/O stack (AIOS), where synchronous operations in the I/O path are replaced by asynchronous ones to overlap I/O-related CPU operations with device I/O. The asynchronous I/O stack leverages a lightweight block layer specialized for NVMe SSDs using the page cache without block I/O scheduling and merging, thereby reducing the sojourn time in the block layer. We prototype the proposed asynchronous I/O stack on the Linux kernel and evaluate it with various workloads. Synthetic FIO benchmarks demonstrate that the application-perceived I/O latency falls into single-digit microseconds for 4 KB random reads on Optane SSD, and the overall I/O latency is reduced by 15–33% across varying block sizes. This I/O latency reduction leads to a significant performance improvement of real-world applications as well: 11–44% IOPS increase on RocksDB and 15–30% throughput improvement on Filebench and OLTP workloads.
Original language | English |
---|---|
Title of host publication | Proceedings of the 2019 USENIX Annual Technical Conference, USENIX ATC 2019 |
Publisher | USENIX Association |
Pages | 603-616 |
Number of pages | 14 |
ISBN (Electronic) | 9781939133038 |
Publication status | Published - 2019 |
Event | 2019 USENIX Annual Technical Conference, USENIX ATC 2019 - Renton, United States Duration: 2019 Jul 10 → 2019 Jul 12 |
Publication series
Name | Proceedings of the 2019 USENIX Annual Technical Conference, USENIX ATC 2019 |
---|
Conference
Conference | 2019 USENIX Annual Technical Conference, USENIX ATC 2019 |
---|---|
Country/Territory | United States |
City | Renton |
Period | 19/7/10 → 19/7/12 |
Bibliographical note
Publisher Copyright:© Proceedings of the 2019 USENIX Annual Technical Conference, USENIX ATC 2019. All rights reserved.
All Science Journal Classification (ASJC) codes
- General Computer Science