Mobile QR Code QR CODE
Title [SPECIAL ISSUE] Supporting the Priorities in the Multi-queue Block I/O Layer for NVMe SSDs
Authors Kyusik Kim;Seungkyu Hong;Taeseok Kim
DOI https://doi.org/10.5573/JSTS.2020.20.1.055
Page pp.55-62
ISSN 1598-1657
Keywords NVMe SSDs; I/O scheduling; Linux; multi-queue block I/O layer; priority
Abstract Recently, a multi-queue block I/O layer has been introduced in the Linux kernel to support NVMe SSDs efficiently. It can provide a high I/O bandwidth by employing several queues but does not provide a differentiated I/O services yet. In this paper, we present a new scheme that supports the priorities in the multi-queue block I/O layer. Our scheme brings the CFS (Completely Fair Scheduler) technique that is one of CPU scheduler into the I/O layer. In this way, we can provide a differentiated I/O service regardless of whether processes are CPU-intensive or I/O intensive. Besides, by considering the I/O request type, read requests are preferentially handled over write requests. Through implementation on the Linux kernel, we show that the proposed scheme appropriately services the I/O requests according to priority and request type and improves runtimes of read-intensive and write-intensive processes by 33% and 15%, respectively.