Skip to main content
Log in

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

  • Published:
Journal of Zhejiang University SCIENCE C Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

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

    Google Scholar 

  • 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. [doi:10.1145/1629575.1629577]

    Chapter  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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. [doi:10.1145/1508284.1508270]

    Google Scholar 

  • 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. [doi:10.1109/MICRO.2010.33]

    Google Scholar 

  • 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. [doi:10.1145/2150976.2151017]

    Google Scholar 

  • 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. [doi:10.1145/1555349.1555371]

    Google Scholar 

  • 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. [doi:10.1109/HPCA.2011.5749735]

    Google Scholar 

  • 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.

    Google Scholar 

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

    Google Scholar 

  • Gal, E., Toledo, S., 2005. Algorithms and data structures for flash memories. ACM Comput. Surv., 37(2):138–163. [doi:10.1145/1089733.1089735]

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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. [doi:10.1145/1534530.1534544]

    Google Scholar 

  • 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. [doi:10.1145/1995896.1995912]

    Google Scholar 

  • 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. [doi:10.1145/1095810.1095836]

    Google Scholar 

  • 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. [doi:10.1145/502059.502046]

    Google Scholar 

  • 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. [doi:10.1145/1629335.1629375]

    Chapter  Google Scholar 

  • 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. [doi:10.1145/10.1145/1837915.1837921]

    Google Scholar 

  • 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. [doi:10.1145/FAST.2010.1837921]

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

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

    Google Scholar 

  • 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. [doi:10.1109/HPCA.2011.5749736]

    Google Scholar 

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

    Article  Google Scholar 

  • 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. [doi:10. 1145/2168836.2168863]

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

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

    Google Scholar 

  • 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. [doi:10.1109/MASCOTS.2010.15]

    Google Scholar 

  • 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hong-yan Li.

Additional information

Project supported by the National Basic Research Program (973) of China (No. 2004CB318203), the National High-Tech R&D Program (863) of China (No. 2009AA01A402), the Natural Science Foundation of Hubei Province, China (No. 2013CFB035), and the Key Science Research Project of Hubei Education Office in China (No. D20141301)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Li, Hy., Xiong, Nx., Huang, P. et al. PASS: a simple, efficient parallelism-aware solid state drive I/O scheduler. J. Zhejiang Univ. - Sci. C 15, 321–336 (2014). https://doi.org/10.1631/jzus.C1300258

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1631/jzus.C1300258

Key words

CLC number

Navigation