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

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

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review


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 introduc- tion of NAND-flash 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 publicationSYSTOR '13 Proceedings of the 6th International Systems and Storage Conference. Association for Computing Machinery, 22. (Systor).
Number of pages1
PublisherAssociation for Computing Machinery
Publication date2013
Article number22
ISBN (Print)978-1-4503-2116-7
Publication statusPublished - 2013


  • block layer
  • latency
  • linux
  • non-volatile memory
  • solid state drives
  • throughput


Dive into the research topics of 'Linux block IO: introducing multi-queue SSD access on multi-core systems'. Together they form a unique fingerprint.

Cite this