Abstract
Traditional buffered read for block devices is no longer effective in terms of latency with today's low-latency solid-state drives. This is because memory copy accounts for a large portion of I/O latency. Zero-copy read is an attractive approach to reducing the I/O latency, but has the inability to utilizing the page cache, thereby losing the opportunity to access reused data in DRAM-like speed. This study proposes an I/O stack that has the advantages of both zero-copy and the use of the page cache for modern low-latency SSD. In the proposed I/O stack, the page cache serves the read request by the application first. Upon a miss, the storage device transfers data to a user buffer directly. In the meantime, our scheme collects necessary information that is used later for prefetching data into the page cache in the background. Therefore, when an application accesses the data again, it can be served at DRAM-like speed. Our prototype in the Linux kernel shows up to 11 percent throughput improvement on the YCSB workload against the database applications.
Original language | English |
---|---|
Article number | 9373910 |
Pages (from-to) | 50-53 |
Number of pages | 4 |
Journal | IEEE Computer Architecture Letters |
Volume | 20 |
Issue number | 1 |
DOIs | |
Publication status | Published - 2021 Jan 1 |
Bibliographical note
Publisher Copyright:© 2002-2011 IEEE.
All Science Journal Classification (ASJC) codes
- Hardware and Architecture