skip to main content
10.1145/3538643.3539740acmconferencesArticle/Chapter ViewAbstractPublication PageshotstorageConference Proceedingsconference-collections
research-article

ScalaRAID: optimizing linux software RAID system for next-generation storage

Published:27 June 2022Publication History

ABSTRACT

RAID has been widely adopted to enhance the performance, capacity, and reliability of the existing storage systems. However, we observe that the Linux software RAID (mdraid) suffers from its poor implementation of the lock mechanism. To address this, we propose ScalaRAID, which refines the role domain of locks and designs a new data structure to prevent different threads from preempting the RAID resources. By doing so, ScalaRAID can maximize the thread-level parallelism and reduce the time consumption of I/O request handling. Our evaluation results reveal that ScalaRAID can improve throughput by 89.4% while decreasing 99.99th percentile latency by 85.4% compared to mdraid.

References

  1. Samsung 870EVO. 2021. https://www.samsung.com/us/computing/memory-storage/solid-state-drives/870-evo-sata-2-5-ssd-250gb-mz-77e250b-am/.Google ScholarGoogle Scholar
  2. Samsung 980Pro. 2020. https://www.samsung.com/us/computing/memory-storage/solid-state-drives/980-pro-pcie-4-0-nvme-ssd-1tb-mz-v8p1t0b-am/.Google ScholarGoogle Scholar
  3. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D Davis, Mark Manasse, and Rina Panigrahy. 2008. Design Tradeoffs for {SSD} Performance. In 2008 USENIX Annual Technical Conference (USENIX ATC 08).Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. David G Andersen and Steven Swanson. 2010. Rethinking flash in the data center. IEEE micro 30, 04 (2010), 52--54.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Jens Axboe. 2019. Flexible I/O Tester. https://github.com/axboe/fio.Google ScholarGoogle Scholar
  6. Mahesh Balakrishnan, Asim Kadav, Vijayan Prabhakaran, and Dahlia Malkhi. 2010. Differential raid: Rethinking raid for ssd reliability. ACM Transactions on Storage (TOS) 6, 2 (2010), 1--22.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Suparna Bhattacharya, Steven Pratt, Badari Pulavarty, and Janet Morgan. 2003. Asynchronous I/O support in Linux 2.5. In Proceedings of the Linux Symposium. 371--386.Google ScholarGoogle Scholar
  8. Jeff Bonwick and Bill Moore. 2008. ZFS: The Last Word in File Systems. https://www.snia.org/sites/default/orig/sdc_archives/2008_presentations/monday/JeffBonwick-BillMoore_ZFS.pdf.Google ScholarGoogle Scholar
  9. Daniel P Bovet and Marco Cesati. 2005. Understanding the Linux Kernel: from I/O ports to process management. " O'Reilly Media, Inc.".Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Neil Brown. 2001. Software RAID in 2.4. In Proceedings of linux. conf. au, Sydney, Australia.Google ScholarGoogle Scholar
  11. Yu Cai, Yixin Luo, Erich F Haratsch, Ken Mai, and Onur Mutlu. 2015. Data retention in MLC NAND flash memory: Characterization, optimization, and recovery. In 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA). IEEE, 551--563.Google ScholarGoogle ScholarCross RefCross Ref
  12. Feng Chen, David A Koufaty, and Xiaodong Zhang. 2009. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. ACM SIGMETRICS Performance Evaluation Review 37, 1 (2009), 181--192.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Peter M Chen, Edward K Lee, Garth A Gibson, Randy H Katz, and David A Patterson. 1994. RAID: High-performance, reliable secondary storage. ACM Computing Surveys (CSUR) 26, 2 (1994), 145--185.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. John Colgrove, John D Davis, John Hayes, Ethan L Miller, Cary Sandvig, Russell Sears, Ari Tamches, Neil Vachharajani, and Feng Wang. 2015. Purity: Building fast, highly-available enterprise flash storage from commodity components. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. 1683--1694.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Pierre-Jacques Courtois, Frans Heymans, and David Lorge Parnas. 1971. Concurrent control with "readers" and "writers". Commun. ACM 14, 10 (1971), 667--668.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Matthew L Curry, H Lee Ward, Anthony Skjellum, and Ron Brightwell. 2010. A lightweight, gpu-based software raid system. In 2010 39th International Conference on Parallel Processing. IEEE, 565--572.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Arnaldo Carvalho De Melo. 2010. The new linux'perf'tools. In Slides from Linux Kongress, Vol. 18. 1--42.Google ScholarGoogle Scholar
  18. Timothy E Denehy, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. 2005. Journal-guided Resynchronization for Software RAID.. In FAST.Google ScholarGoogle Scholar
  19. Brian Hickmann and Kynan Shook. 2007. ZFS and RAID-Z: The Über-FS? University of Wisconsin-Madison (2007).Google ScholarGoogle Scholar
  20. Soojun Im and Dongkun Shin. 2010. Flash-aware RAID techniques for dependable and high-performance flash memory SSD. IEEE Trans. Comput. 60, 1 (2010), 80--92.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Nikolaus Jeremic, Helge Parzyjegla, and Gero Muehl. 2016. Improving random write performance in homogeneous and heterogeneous erasure-coded drive arrays. ACM SIGAPP Applied Computing Review 15, 4 (2016), 31--53.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Tianyang Jiang, Guangyan Zhang, Zican Huang, Xiaosong Ma, Junyu Wei, Zhiyue Li, and Weimin Zheng. 2021. {FusionRAID}: Achieving Consistent Low Latency for Commodity {SSD} Arrays. In 19th USENIX Conference on File and Storage Technologies (FAST 21). 355--370.Google ScholarGoogle Scholar
  23. Linux kernel v5.11.0. 2021. https://www.kernel.org/doc/html/v5.11/.Google ScholarGoogle Scholar
  24. Aleksandr Khasymski, M Mustafa Rafique, Ali R Butt, Sudharshan S Vazhkudai, and Dimitrios S Nikolopoulos. 2012. On the use of GPUs in realizing cost-effective distributed RAID. In 2012 IEEE 20th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. IEEE, 469--478.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Mdadm. 2018. http://www.kernel.org/pub/linux/utils/raid/mdadm/.Google ScholarGoogle Scholar
  26. mdraid layer. 2022. https://github.com/torvalds/linux/tree/master/drivers/md.Google ScholarGoogle Scholar
  27. Justin Meza, Qiang Wu, Sanjev Kumar, and Onur Mutlu. 2015. A large-scale study of flash memory failures in the field. ACM SIGMETRICS Performance Evaluation Review 43, 1 (2015), 177--190.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. mmap. 2021. https://man7.org/linux/man-pages/man2/mmap.2.html.Google ScholarGoogle Scholar
  29. Iyswarya Narayanan, Di Wang, Myeongjae Jeon, Bikash Sharma, Laura Caulfield, Anand Sivasubramaniam, Ben Cutler, Jie Liu, Badriddine Khessib, and Kushagra Vaid. 2016. SSD failures in datacenters: What? when? and why?. In Proceedings of the 9th ACMInternational on Systems and Storage Conference. 1--11.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. David A Patterson, Garth Gibson, and Randy H Katz. 1988. A case for redundant arrays of inexpensive disks (RAID). In Proceedings of the 1988 ACM SIGMOD international conference on Management of data. 109--116.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Bianca Schroeder, Raghav Lagisetty, and Arif Merchant. 2016. Flash reliability in production: The expected and the unexpected. In 14th USENIX Conference on File and Storage Technologies (FAST 16). 67--80.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Xuanhua Shi, Ming Li, Wei Liu, Hai Jin, Chen Yu, and Yong Chen. 2017. Ssdup: a traffic-aware ssd burst buffer for hpc systems. In Proceedings of the international conference on supercomputing. 1--10.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Western Digital Black SN850. 2021. https://www.westerndigital.com/products/internal-drives/wd-black-sn850-nvme-ssd.Google ScholarGoogle Scholar
  34. Greg Wong. 2013. SSD market overview. In Inside Solid State Drives (SSDs). Springer, 1--17.Google ScholarGoogle Scholar

Index Terms

  1. ScalaRAID: optimizing linux software RAID system for next-generation storage

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      HotStorage '22: Proceedings of the 14th ACM Workshop on Hot Topics in Storage and File Systems
      June 2022
      141 pages
      ISBN:9781450393997
      DOI:10.1145/3538643

      Copyright © 2022 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 27 June 2022

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      HotStorage '22 Paper Acceptance Rate19of47submissions,40%Overall Acceptance Rate34of87submissions,39%

      Upcoming Conference

      HOTSTORAGE '24
    • Article Metrics

      • Downloads (Last 12 months)148
      • Downloads (Last 6 weeks)9

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader