|
Journal of Zhejiang University SCIENCE C
ISSN 1869-1951(Print), 1869-196x(Online), Monthly
2014 Vol.15 No.5 P.321-336
PASS: a simple, efficient parallelism-aware solid state drive I/O scheduler
Abstract: Emerging non-volatile memory technologies, especially flash-based solid state drives (SSDs), have increasingly been adopted in the storage stack. They provide numerous advantages over traditional mechanically rotating hard disk drives (HDDs) and have a tendency to replace HDDs. Due to the long existence of HDDs as primary building blocks for storage systems, however, much of the system software has been specially designed for HDD and may not be optimal for non-volatile memory media. Therefore, in order to realistically leverage its superior raw performance to the maximum, the existing upper layer software has to be re-evaluated or re-designed. To this end, in this paper, we propose PASS, an optimized I/O scheduler at the Linux block layer to accommodate the changing trend of underlying storage devices toward flash-based SSDs. PASS takes the rich internal parallelism in SSDs into account when dispatching requests to the device driver in order to achieve high performance. Specifically, it partitions the logical storage space into fixed-size regions (preferably the component package sizes) as scheduling units. These scheduling units are serviced in a round-robin manner and for every chance that the chosen dispatching unit issues only a batch of either read or write requests to suppress the excessive mutual interference. Additionally, the requests are sorted according to their visiting addresses while waiting in the dispatching queues to exploit high sequential performance of SSD. The experimental results with a variety of workloads have shown that PASS outperforms the four Linux off-the-shelf I/O schedulers by a degree of 3% up to 41%, while at the same time it improves the lifetime significantly, due to reducing the internal write amplification.
Key words: Solid state drive (SSD), I/O scheduler, Parallelism
创新要点:利用SSD底层丰富的内部特征,指导上层软件的设计和实现更好协同性能。特别是,利用其内部丰富的并行性实现了一个简单、高效的固态硬盘I/O调度器作为Linux内核模块,可以替代块层的I/O调度器集成到内核中工作。其性能优于现有的I/O调度器,同时提高了SSD寿命。
方法提亮:将逻辑存储空间分成若干固定大小的区域,并以区域为调度单位轮流调度。每次发送请求时只向区域发送与其内部并行性相匹配的请求数量,避免发送过多请求,引起性能下降。并且,将读、写请求分开,避免相互干扰。
重要结论:针对固态盘内部丰富的并行性,优化设计块层I/O调度器PASS,有针对性地在内核I/O调度层进行优化,充分利用了固态盘内部并行操作单元之间和单元之内的并行性。基于多种工作负载的实验表明,PASS在性能上优于Linux内核中现有的四种I/O调度器。
关键词组:
References:
Open peer comments: Debate/Discuss/Question/Opinion
<1>
Dr Sanjoy Das@GAlgotias University<sdas.jnu@gmail.com>
2014-05-24 19:10:43
Dear Sir/Madam, May i submit manuscript on Ad Hoc Networks. What is the average time of review process? If any what is the publication cost?
DOI:
10.1631/jzus.C1300258
CLC number:
TP333
Download Full Text:
Downloaded:
4454
Download summary:
<Click Here>Downloaded:
2275Clicked:
8791
Cited:
0
On-line Access:
2024-08-27
Received:
2023-10-17
Revision Accepted:
2024-05-08
Crosschecked:
2014-04-11