R&D: CARS: Multi-Layer Conflict-Aware Request Scheduler for NVMe SSDs
Evaluations show that scheduler can reduce slowdown metric by "up to 46%" relative to de facto round-robin scheduling policy for variety of patterned workloads.
This is a Press Release edited by StorageNewsletter.com on May 28, 2019 at 2:07 pmIEEE Xplore has published, in 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE) proceedings an article written by Tianming Yang, Huanghuai University, China, Ping Huang, Temple University, USA, Weiying Zhang, Northeastern University, China, Haitao Wu, Huanghuai University, China, and Longxin Lin, Jinan University, China.
Abstract: “NVMe SSDs are nowadays widely deployed in various computing platforms due to its high performance and low power consumption, especially in data centers to support modern latency-sensitive applications. NVMe SSDs improve on SATA and SAS interfaced SSDs by providing a large number of device I/O queues at the host side and applications can directly manage the queues to concurrently issue requests to the device. However, the currently deployed request scheduling approach is oblivious to the states of the various device internal components and thus may lead to suboptimal decisions due to various resource contentions at different layers inside the SSD device. In this work, we propose a Conflict Aware Request Scheduling policy named CARS for NVMe SSDs to maximally leverage the rich parallelism available in modern NVMe SSDs. The central idea is to check possible conflicts that a fetched request might be associated with before dispatching that request. If there exists a conflict, it refrains from issuing the request and move to check a request in the next submission queue. In doing so, our scheduler can evenly distribute the requests among the parallel idle components in the flash chips, improving performance. Our evaluations have shown that our scheduler can reduce the slowdown metric by up to 46% relative to the de facto round-robin scheduling policy for a variety of patterned workloads.“