Full Text:   <3638>

Summary:  <1921>

CLC number: TP333

On-line Access: 2014-05-06

Received: 2013-09-16

Revision Accepted: 2014-02-25

Crosschecked: 2014-04-11

Cited: 0

Clicked: 7217

Citations:  Bibtex RefMan EndNote GB/T7714

-   Go to

Article info.
Open peer comments

Journal of Zhejiang University SCIENCE C 2014 Vol.15 No.5 P.321-336

http://doi.org/10.1631/jzus.C1300258


PASS: a simple, efficient parallelism-aware solid state drive I/O scheduler


Author(s):  Hong-yan Li, Nai-xue Xiong, Ping Huang, Chao Gui

Affiliation(s):  Wuhan National Laboratory for Optoelectronics, School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430070, China; more

Corresponding email(s):   hongyanli78@aliyun.com, xiongnaixue@gmail.com, pinghp.hust@gmail.com, gui_chao@126.com

Key Words:  Solid state drive (SSD), I/O scheduler, Parallelism


Share this article to: More |Next Article >>>

Hong-yan Li, Nai-xue Xiong, Ping Huang, Chao Gui. PASS: a simple, efficient parallelism-aware solid state drive I/O scheduler[J]. Journal of Zhejiang University Science C, 2014, 15(5): 321-336.

@article{title="PASS: a simple, efficient parallelism-aware solid state drive I/O scheduler",
author="Hong-yan Li, Nai-xue Xiong, Ping Huang, Chao Gui",
journal="Journal of Zhejiang University Science C",
volume="15",
number="5",
pages="321-336",
year="2014",
publisher="Zhejiang University Press & Springer",
doi="10.1631/jzus.C1300258"
}

%0 Journal Article
%T PASS: a simple, efficient parallelism-aware solid state drive I/O scheduler
%A Hong-yan Li
%A Nai-xue Xiong
%A Ping Huang
%A Chao Gui
%J Journal of Zhejiang University SCIENCE C
%V 15
%N 5
%P 321-336
%@ 1869-1951
%D 2014
%I Zhejiang University Press & Springer
%DOI 10.1631/jzus.C1300258

TY - JOUR
T1 - PASS: a simple, efficient parallelism-aware solid state drive I/O scheduler
A1 - Hong-yan Li
A1 - Nai-xue Xiong
A1 - Ping Huang
A1 - Chao Gui
J0 - Journal of Zhejiang University Science C
VL - 15
IS - 5
SP - 321
EP - 336
%@ 1869-1951
Y1 - 2014
PB - Zhejiang University Press & Springer
ER -
DOI - 10.1631/jzus.C1300258


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.

PASS:一种简单、高效、并行感知的固态盘I/O调度器

研究目的:随着半导体技术的日益成熟,基于半导体技术的固态盘被越来越多地应用到存储系统。然而,由于固态盘与机械式磁盘性能特征不同,现有的面向机械式磁盘的软件不能充分利用固态盘的独有特性,影响固态盘的性能发挥。现有Linux内核中的块层I/O调度器都是面向机械式磁盘的,因此,本文提出一种优化的、充分利用固态盘内部丰富并行性的I/O调度器--PASS。
创新要点:利用SSD底层丰富的内部特征,指导上层软件的设计和实现更好协同性能。特别是,利用其内部丰富的并行性实现了一个简单、高效的固态硬盘I/O调度器作为Linux内核模块,可以替代块层的I/O调度器集成到内核中工作。其性能优于现有的I/O调度器,同时提高了SSD寿命。
方法提亮:将逻辑存储空间分成若干固定大小的区域,并以区域为调度单位轮流调度。每次发送请求时只向区域发送与其内部并行性相匹配的请求数量,避免发送过多请求,引起性能下降。并且,将读、写请求分开,避免相互干扰。
重要结论:针对固态盘内部丰富的并行性,优化设计块层I/O调度器PASS,有针对性地在内核I/O调度层进行优化,充分利用了固态盘内部并行操作单元之间和单元之内的并行性。基于多种工作负载的实验表明,PASS在性能上优于Linux内核中现有的四种I/O调度器。

关键词:固态盘;I/O调度器;并行性

Darkslateblue:Affiliate; Royal Blue:Author; Turquoise:Article

Reference

[1]Agrawal, N., Prabhakaran, V., Wobber, T., et al., 2008. Design tradeoffs for SSD performance. Proc. USENIX Annual Technical Conf., p.57-70.

[2]Andersen, D., Franklin, J., Kaminsky, M., et al., 2009. Fawn: a fast array of wimpy nodes. Proc. 22nd ACM Symp. on Operating Systems Principles, p.1-14.

[3]Badam, A., Pai, V.S., 2011. SSDAlloc: hybrid SSD/RAM memory management made easy. Proc. 8th USENIX Symp. on Networked Systems Design and Implementation, p.16.

[4]Bhadkamkar, M., Guerra, J., Useche, L., et al., 2009. BORG: block-reorganization for self-optimizing storage systems. Proc. 7th Conf. on File and Storage Technologies, p.183-196.

[5]Boboila, S., Desnoyers, P., 2010. Write endurance in flash drives: measurements and analysis. Proc. 8th USENIX Conf. on File and Storage Technologies, p.115-128.

[6]Caulfield, A.M., Grupp, L.M., Swanson, S., 2009. Gordon: using flash memory to build fast, power-efficient clusters for data-intensive applications. Proc. 14th Int. Conf. on Architectural Support for Programming Languages and Operating Systems, p.217-228.

[7]Caulfield, A.M., de Arup, Coburn, J., et al., 2010. Moneta: a high-performance storage array architecture for next-generation, non-volatile memories. Proc. 43rd Annual IEEE/ACM Int. Symp. on Microarchitecture, p.385-395.

[8]Caulfield, A.M., Mollov, T.I., Eisner, L.A., 2012. Providing safe, user space access to fast, solid state disks. Proc. 17th Int. Conf. on Architectural Support for Programming Languages and Operating Systems, p.387-400.

[9]Chen, F., Koufaty, D.A., Zhang, X., 2009. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. Proc. 11th Int. Joint Conf. on Measurement and Modeling of Computer Systems, p.181-192.

[10]Chen, F., Lee, R., Zhang X., 2011a. Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. Proc. 17th IEEE Int. Symp. on High Performance Computer Architecture, p.266-277.

[11]Chen, F., Luo, T., Zhang, X., 2011b. CAFTL: a content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives. Proc. 9th USENIX Conf. on File and Storage Technologies, p.1-14.

[12]Dunn, M., Reddy, A.L.N., 2009. A New I/O Scheduler for Solid State Devices. PhD Thesis, Texas A&M University, Texas, USA.

[13]Gal, E., Toledo, S., 2005. Algorithms and data structures for flash memories. ACM Comput. Surv., 37(2):138-163.

[14]Grupp, L.M., Davis, J.D., Swanson, S., 2012. The bleak future of NAND flash memory. Proc. 10th USENIX Conf. on File and Storage Technologies, p.2.

[15]Gupta, A., Pisolkar, R., Urgaonkar, B., et al., 2011. Leveraging value locality in optimizing NAND flash-based SSDs. Proc. 9th USENIX Conf. on File and Storage Technologies, p.91-103.

[16]Hu, X.Y., Eleftheriou, E., Haas, R., et al., 2009. Write amplification analysis in flash-based solid state drives. Proc. SYSTOR: the Israeli Experimental Systems Conf., p.10.

[17]Hu, Y., Jiang, H., Feng, D., et al., 2011. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. Proc. 25th Int. Conf. on Supercomputing, p.96-107.

[18]Huang, H., Hung, W., Shin, K.G., 2005. FS2: dynamic data replication in free disk space for improving disk performance and energy consumption. Proc. 20th ACM Symp. on Operating Systems Principles, p.263-276.

[19]Iyer, S., Druschel, P., 2001. Anticipatory scheduling: a disk scheduling framework to overcome deceptive idleness in synchronous I/O. Proc. 18th ACM Symp. on Operating Systems Principles, p.117-130.

[20]Kim, J., Oh, Y., Kim, E., et al., 2009. Disk schedulers for solid state drives. Proc. 7th ACM Int. Conf. on Embedded Software, p.295-304.

[21]Koller, R., Rangaswami, R., 2010. I/O deduplication: utilizing content similarity to improve I/O performance. Proc. 8th USENIX Conf. on File and Storage Technologies, p.16.

[22]Liu, R.S., Yang, C.L., Wu, W., 2012. Optimizing NAND flash-based SSDs via retention relaxation. Proc. 10th USENIX Conf. on File and Storage Technologies, p.11.

[23]Lu, Y., Shu, J., Zheng, W., 2013. Extending the lifetime of flash-based storage through reducing write amplification from file systems. Proc. 11th USENIX Conf. on File and Storage Technologies, p.257-270.

[24]Mina, C., Kimb, K., Choc, H., et al., 2012. SFS: random write considered harmful in solid state drives. Proc. 10th USENIX Conf. on File and Storage Technologies, p.12.

[25]Park, S., Shen, K., 2012. FIOS: a fair, efficient flash I/O scheduler. Proc. 10th USENIX Conf. on File and Storage Technologies, p.13.

[26]Ren, J., Yang, Q., 2011. I-CASH: intelligently coupled array of SSDs and HDDs. Proc. 17th IEEE Int. Symp. on High Performance Computer Architecture, p.278-289.

[27]Rosenblum, M., Ousterhout, J.K., 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst., 10(1):26-52.

[28]Saxena, M., Swift, M.M., Zhang, Y., 2012. Flashtier: a lightweight, consistent and durable storage cache. Proc. European Conf. on Computer Systems, p.267-280.

[29]Schindler, J., Shete, S., Smith, K.A., 2011. Improving throughput for small disk requests with proximal I/O. Proc. 9th USENIX Conf. on File and Storage Technologies, p.133-147.

[30]Wachs, M., Abd-El-Malek, M., Thereska, E., et al., 2007. Argon: performance insulation for shared storage servers. Proc. 5th USENIX Conf. on File and Storage Technologies, p.61-76.

[31]Wu, G., He, X., 2012a. Reducing SSD read latency via NAND flash program and erase suspension. Proc. 10th USENIX Conf. on File and Storage Technologies, p.117-123.

[32]Wu, G., He, X., 2012b. Delta-FTL: improving SSD lifetime via exploiting content locality. Proc. 7th European Conf. on Computer Systems, p.253-266.

[33]Wu, G., He, X., Xie, N., et al., 2010. DiffECC: improving SSD read performance using differentiated error correction coding schemes. Proc. 18th Annual Meeting of the IEEE/ACM Int. Symp. on Modeling, Analysis and Simulation of Computer and Telecommunications Systems, p.57-66.

[34]Xu, Y., Jiang, S., 2011. A scheduling framework that makes any disk schedulers non-work-conserving solely based on request characteristics. Proc. 9th USENIX Conf. on File and Storage Technologies, p.119-132.

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?

Please provide your name, email address and a comment





Journal of Zhejiang University-SCIENCE, 38 Zheda Road, Hangzhou 310027, China
Tel: +86-571-87952783; E-mail: cjzhang@zju.edu.cn
Copyright © 2000 - 2024 Journal of Zhejiang University-SCIENCE