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

  • Authors:
  • Matias Bjørling;Jens Axboe;David Nellans;Philippe Bonnet

  • Affiliations:
  • IT University of Copenhagen and Fusion-io;Fusion-io;Fusion-io;IT University of Copenhagen

  • Venue:
  • Proceedings of the 6th International Systems and Storage Conference
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

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-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.