Linux block IO: Introducing multi-queue SSD access on multi-core systems

Matias Bjørling, Jens Axboe, David Nellans, Philippe Bonnet

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

130 Citations (Scopus)

Abstract

The IO performance of storage devices has accelerated from hundreds of IOPS five years ago, to hundreds of thousands of IOPS today, and tens of millions of IOPS projected in five years. This sharp evolution is primarily due to the introduction of NAND-ash devices and their data parallel design. In this work, we demonstrate that the block layer within the operating system, originally designed to handle thousands of IOPS, has become a bottleneck to overall storage system performance, specially on the high NUMA-factor processors systems that are becoming commonplace. We describe the design of a next generation block layer that is capable of handling tens of millions of IOPS on a multi-core system equipped with a single storage device. Our experiments show that our design scales graciously with the number of cores, even on NUMA systems with multiple sockets.

Original languageEnglish
Title of host publicationProceedings of the 6th International Systems and Storage Conference, SYSTOR 2013
Publication date2013
Article number22
ISBN (Print)9781450321167
DOIs
Publication statusPublished - 2013
Externally publishedYes
Event6th Annual International Systems and Storage Conference, SYSTOR 2013 - Haifa, Israel
Duration: 30 Jun 20132 Jul 2013

Conference

Conference6th Annual International Systems and Storage Conference, SYSTOR 2013
Country/TerritoryIsrael
CityHaifa
Period30/06/201302/07/2013
SponsorTechnion-Israel Institute of Technology, Google, IBM, Axcient, Riverbed
SeriesACM International Conference Proceeding Series

Keywords

  • Block layer
  • Latency
  • Linux
  • Non-volatile memory
  • Solid state drives
  • Throughput

Cite this