Affiliation:
1. Seoul National University
2. Taejin Infotech
Abstract
Fast storage devices are an emerging solution to satisfy data-intensive applications. They provide high transaction rates for DBMS, low response times for Web servers, instant on-demand paging for applications with large memory footprints, and many similar advantages for performance-hungry applications. In spite of the benefits promised by fast hardware, modern operating systems are not yet structured to take advantage of the hardware’s full potential. The software overhead caused by an OS, negligible in the past, adversely impacts application performance, lessening the advantage of using such hardware. Our analysis demonstrates that the overheads from the traditional storage-stack design are significant and cannot easily be overcome without modifying the hardware interface and adding new capabilities to the operating system.
In this article, we propose six optimizations that enable an OS to fully exploit the performance characteristics of fast storage devices. With the support of new hardware interfaces, our optimizations minimize per-request latency by streamlining the I/O path and amortize per-request latency by maximizing parallelism inside the device. We demonstrate the impact on application performance through well-known storage benchmarks run against a Linux kernel with a customized SSD. We find that eliminating context switches in the I/O path decreases the software overhead of an I/O request from 20 microseconds to 5 microseconds and a new request merge scheme called Temporal Merge enables the OS to achieve 87% to 100% of peak device performance, regardless of request access patterns or types. Although the performance improvement by these optimizations on a standard SATA-based SSD is marginal (because of its limited interface and relatively high response times), our sensitivity analysis suggests that future SSDs with lower response times will benefit from these changes. The effectiveness of our optimizations encourages discussion between the OS community and storage vendors about future device interfaces for fast storage devices.
Funder
CPRC
KCA
National Research Foundation of Korea
Next-Generation Information Computing Development Program
Ministry of Science, ICT and Future Planning
Publisher
Association for Computing Machinery (ACM)
Cited by
34 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. BypassD: Enabling fast userspace access to shared SSDs;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1;2024-04-17
2. A high performance NVMe host logic engine based on dynamically configurable queues and co-design of NVMe and PCIe;IEICE Electronics Express;2024-04-10
3. A high performance NVMe host logic engine based on dynamically configurable queues and co-design of NVMe and PCIe;IEICE ELECTRON EXPR;2024
4. Energy Implications of IO Interface Design Choices;Proceedings of the 15th ACM Workshop on Hot Topics in Storage and File Systems;2023-07-09
5. Performance Characterization of Modern Storage Stacks: POSIX I/O, libaio, SPDK, and io_uring;Proceedings of the 3rd Workshop on Challenges and Opportunities of Efficient and Performant Storage Systems;2023-05-08