USENIX ATC '19 - Asynchronous I/O Stack: A Low-latency Kernel I/O Stack for Ultra-Low Latency SSDs
Gyusun Lee, Seokha Shin, and Wonsuk Song, Sungkyunkwan University; Tae Jun Ham and Jae W. Lee, Seoul National University; Jinkyu Jeong, Sungkyunkwan University
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.
View the full USENIX ATC '19 program at https://www.usenix.org/conference/atc19/technical-sessions
Видео USENIX ATC '19 - Asynchronous I/O Stack: A Low-latency Kernel I/O Stack for Ultra-Low Latency SSDs канала USENIX
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.
View the full USENIX ATC '19 program at https://www.usenix.org/conference/atc19/technical-sessions
Видео USENIX ATC '19 - Asynchronous I/O Stack: A Low-latency Kernel I/O Stack for Ultra-Low Latency SSDs канала USENIX
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![Performing Asynchronous I/O Bound Operations (Jeffrey Richter)](https://i.ytimg.com/vi/hB0K1JWFoqs/default.jpg)
![FPGAs and low latency trading - Williston Hayes - Optiver - FPL2020](https://i.ytimg.com/vi/RCb8PsdipHI/default.jpg)
![Troubleshooting IO performance issues on Linux](https://i.ytimg.com/vi/sjyLRS52zOg/default.jpg)
![Core C++ 2019 :: Nimrod Sapir :: High Frequency Trading and Ultra Low Latency development techniques](https://i.ytimg.com/vi/_0aU8S-hFQI/default.jpg)
![Linux NVMe and block layer status update (SDC 2019)](https://i.ytimg.com/vi/NtkKHhXf3V4/default.jpg)
![Netty - One Framework to rule them all by Norman Maurer](https://i.ytimg.com/vi/DKJ0w30M0vg/default.jpg)
![Sync, Async, Blocking and Non-Blocking | Rock the JVM](https://i.ytimg.com/vi/Hlu-zYeNsSU/default.jpg)
![Phil Nash - Exceptional low-latency C++](https://i.ytimg.com/vi/EP74mSiwHXk/default.jpg)
![SREcon19 Asia/Pacific - Linux Memory Management at Scale: Under the Hood](https://i.ytimg.com/vi/beefUhRH5lU/default.jpg)
![Network Stacks and the Internet - Computerphile](https://i.ytimg.com/vi/PG9oKZdFb7w/default.jpg)
![LinuxCNC - not as hard as people think (*rant*)](https://i.ytimg.com/vi/6Z1fZHkuFfU/default.jpg)
![NodeConf EU | A deep dive into libuv - Saul Ibarra Coretge](https://i.ytimg.com/vi/sGTRmPiXD4Y/default.jpg)
![CAN Bus communication explained in 5 minutes](https://i.ytimg.com/vi/PEI5EWSgaRk/default.jpg)
![Kernel network stack challenges at increasing speeds](https://i.ytimg.com/vi/3XG9-X777Jo/default.jpg)
![Reverse engineering vendor firmware drivers for little fun and no profit [linux.conf.au 2014]](https://i.ytimg.com/vi/j5NciKpHZzs/default.jpg)
![Top signs of an inexperienced programmer](https://i.ytimg.com/vi/-W_VsLXmjJU/default.jpg)
![Tuning Essentials - Linux Performance Optimization - Red Hat EX442 - Complete Video Course](https://i.ytimg.com/vi/2kNih0fqnzQ/default.jpg)
![Fun and Easy CANBUS - How the Canbus Protocol Works](https://i.ytimg.com/vi/ZHaxv-cGZFI/default.jpg)
![ECE 252 Lecture 29: Asynchronous I/O with libevent](https://i.ytimg.com/vi/OGJRaUu8_Yw/default.jpg)
![NVMe: The NVMe, NVMe over TCP, and the Evolution Overview](https://i.ytimg.com/vi/qEJfr01pDiQ/default.jpg)