Title
FLIN: Enabling Fairness and Enhancing Performance in Modern NVMe Solid State Drives.
Abstract
Modern solid-state drives (SSDs) use new host-interface protocols, such as NVMe, to provide applications with fast access to storage. These new protocols make use of a concept known as the multi-queue SSD (MQ-SSD), where the SSD has direct access to the application-level I/O request queues. This removes most of the OS software stack that was used in older protocols to control how and when the I/O requests were dispatched to storage devices. Unfortunately, while the elimination of the OS software stack leads to a significant performance improvement, we show in this paper that it introduces a new problem: unfairness. This is because the elimination of the OS software stack eliminates the mechanisms that were used to provide fairness among applications in older SSDs. To study application-level unfairness, we perform experiments using four real state-of-the-art MQ-SSDs. We demonstrate that the lack of fair scheduling mechanisms leads to high unfairness among concurrently-executing applications due to the interference among them. For instance, when one of these applications issues many more I/O requests than others, the other applications are slowed down significantly. We perform a comprehensive analysis of interference in real MQ-SSDs, and find four major interference sources: (1) the intensity of requests sent by each application, (2) differences in request access patterns, (3) the ratio of reads to writes, and (4) garbage collection. To alleviate unfairness in MQ-SSDs, we propose the <u>F</u>lash-<u>L</u>evel <u>IN</u>terference-aware scheduler (FLIN). FLIN is a lightweight I/O request scheduling mechanism that provides fairness among requests from different applications. FLIN uses a three-stage scheduling algorithm that protects against all four major sources of interference, while respecting the application-level priorities assigned by the host. FLIN is implemented fully within the SSD controller firmware, requiring no new hardware, and has negligible (<0.06%) storage cost. Compared to a state-of-the-art I/O scheduler, FLIN improves the fairness and performance of a wide range of enterprise and datacenter storage workloads, with an average improvement of 70% and 47%, respectively.
Year
DOI
Venue
2018
10.1109/ISCA.2018.00041
ISCA
Keywords
Field
DocType
multi queue SSD,fairness,transaction scheduler unit,NVMe,interference
Computer science,Scheduling (computing),Cache,Queue,Real-time computing,NVM Express,Garbage collection,Bit-serial architecture,Operating system,Performance improvement,Firmware
Conference
ISSN
ISBN
Citations 
1063-6897
978-1-5386-5984-7
7
PageRank 
References 
Authors
0.46
77
10
Name
Order
Citations
PageRank
Arash Tavakkol115110.83
Mohammad Sadrosadati2819.33
Saugata Ghose371836.45
Jeremie Kim426313.68
Yixin Luo537513.38
Yaohua Wang64414.23
Nika Mansouri-Ghiasi7181.54
Lois Orosa8725.27
Juan Gómez-Luna920923.34
Onur Mutlu109446357.40