Performance Characterization of Modern Storage Stacks: POSIX I/O, libaio, SPDK, and io_uring

Zebin Ren, Animesh Trivedi

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

Linux storage stack offers a variety of storage I/O stacks and APIs such as POSIX I/O, asynchronous I/O (libaio), high-performance asynchronous I/O (emerging io_uring) or SPDK, the last of which completely bypasses the kernel. Despite their availability, there has not been a systematic study of their performance and overheads. In order to aid our understanding, in this work we systematically characterize performance, scalability and microarchitectural properties of popular Linux I/O APIs on high-performance storage hardware (Intel Optane SSDs). Our characterization reveals that: (1) at low I/O loads, all APIs perform competitively with each other, with polling helping the performance by 1.7X, but consuming 2.3X CPU instructions; (2) at high-loads and scale, io_uring is more than an order of magnitude slower than SPDK; (3) at high-loads and scale, the benchmarking tool (fio) itself becomes a bottleneck; (4) state-of-practice Linux block I/O schedulers (BFQ, mq-deadline, and Kyber) introduce significant (up to 50%) overheads, and their use of global locks hinder their scalability. All artifacts from this work are available at https://github.com/atlarge-research/Performance-Characterization-Storage-Stacks.

Original languageEnglish
Title of host publicationCHEOPS 2023
Subtitle of host publicationProceedings of the 3rd Workshop on Challenges and Opportunities of Efficient and Performant Storage Systems
PublisherAssociation for Computing Machinery, Inc
Pages35-45
Number of pages11
ISBN (Electronic)9798400700811
DOIs
Publication statusPublished - May 2023
Event3rd Workshop on Challenges and Opportunities of Efficient and Performant Storage Systems, CHEOPS 2023 - In Conjunction with EuroSys 2023 - Rome, Italy
Duration: 8 May 2023 → …

Conference

Conference3rd Workshop on Challenges and Opportunities of Efficient and Performant Storage Systems, CHEOPS 2023 - In Conjunction with EuroSys 2023
Country/TerritoryItaly
CityRome
Period8/05/23 → …

Bibliographical note

Funding Information:
This work is funded by The Dutch Research Council (NWO) grant number OCENW.KLEIN.561. The authors would like to thank Jesse Donkervliet, Sacheendra Talluri, Krijn Doekemeijer, and Nick Tehrany for their help with the paper.

Publisher Copyright:
© 2023 Owner/Author(s).

Funding

This work is funded by The Dutch Research Council (NWO) grant number OCENW.KLEIN.561. The authors would like to thank Jesse Donkervliet, Sacheendra Talluri, Krijn Doekemeijer, and Nick Tehrany for their help with the paper.

Keywords

  • efficiency
  • io_uring
  • linux storage stack
  • measurements
  • SPDK

Fingerprint

Dive into the research topics of 'Performance Characterization of Modern Storage Stacks: POSIX I/O, libaio, SPDK, and io_uring'. Together they form a unique fingerprint.

Cite this