Abstract

Currently, the available I/O schedulers in Linux kernel have long been designed and optimized under the default assumption of underlying traditional rotating HDDs. Unsurprisingly, their performance would be sub optimal when working with emerging Solid State Drives(SSD), which exhibit widely disparate operational characteristics than HDDs. In this study, we develop a new SSD scheduler which takes SSDs' peculiarities into account in its design. In more detail, firstly, we partition the entire SSD space into several regions as basic scheduling units and issue requests to them simultaneously to exploit internally rich parallelism. Secondly, we give preference to read requests over writes to take advantage of the fact that reads are much faster than writes, avoiding excessive read-blocked by-write interference. Lastly, within each region's scheduling queue, we sort write requests before issuing them in anticipation of transforming random writes to sequential patterns to avoid harmful random writes. Our evaluation results of a variety of workloads have demonstrated that Regional Scheduler is capable of improving the performance by 17-32% compared with the best of the four kernel I/O schedulers, in the meantime, improving SSD's lifetime because of the successful transformation of random writes to sequential writes.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call