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.
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- David G Andersen and Steven Swanson. 2010. Rethinking flash in the data center. IEEE micro 30, 04 (2010), 52--54.Google ScholarDigital Library
- Jens Axboe. 2019. Flexible I/O Tester. https://github.com/axboe/fio.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Daniel P Bovet and Marco Cesati. 2005. Understanding the Linux Kernel: from I/O ports to process management. " O'Reilly Media, Inc.".Google ScholarDigital Library
- Neil Brown. 2001. Software RAID in 2.4. In Proceedings of linux. conf. au, Sydney, Australia.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Pierre-Jacques Courtois, Frans Heymans, and David Lorge Parnas. 1971. Concurrent control with "readers" and "writers". Commun. ACM 14, 10 (1971), 667--668.Google ScholarDigital Library
- 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 ScholarDigital Library
- Arnaldo Carvalho De Melo. 2010. The new linux'perf'tools. In Slides from Linux Kongress, Vol. 18. 1--42.Google Scholar
- Timothy E Denehy, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. 2005. Journal-guided Resynchronization for Software RAID.. In FAST.Google Scholar
- Brian Hickmann and Kynan Shook. 2007. ZFS and RAID-Z: The Über-FS? University of Wisconsin-Madison (2007).Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Linux kernel v5.11.0. 2021. https://www.kernel.org/doc/html/v5.11/.Google Scholar
- 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 ScholarDigital Library
- Mdadm. 2018. http://www.kernel.org/pub/linux/utils/raid/mdadm/.Google Scholar
- mdraid layer. 2022. https://github.com/torvalds/linux/tree/master/drivers/md.Google Scholar
- 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 ScholarDigital Library
- mmap. 2021. https://man7.org/linux/man-pages/man2/mmap.2.html.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Western Digital Black SN850. 2021. https://www.westerndigital.com/products/internal-drives/wd-black-sn850-nvme-ssd.Google Scholar
- Greg Wong. 2013. SSD market overview. In Inside Solid State Drives (SSDs). Springer, 1--17.Google Scholar
Index Terms
- ScalaRAID: optimizing linux software RAID system for next-generation storage
Recommendations
HerpRap: A Hybrid Array Architecture Providing Any Point-in-Time Data Tracking for Datacenter
CLUSTER '12: Proceedings of the 2012 IEEE International Conference on Cluster ComputingBoth physical disk failure and logical errors such as software error, user abuse and virus attacks may cause data lose. The risk of logical errors is far greater than physical disk failure. Moreover, existing RAID solution cannot satisfy the reliability ...
HPDA: A hybrid parity-based disk array for enhanced performance and reliability
Flash-based Solid State Drive (SSD) has been productively shipped and deployed in large scale storage systems. However, a single flash-based SSD cannot satisfy the capacity, performance and reliability requirements of the modern storage systems that ...
Higher reliability redundant disk arrays: Organization, operation, and coding
Parity is a popular form of data protection in redundant arrays of inexpensive/independent disks (RAID). RAID5 dedicates one out of N disks to parity to mask single disk failures, that is, the contents of a block on a failed disk can be reconstructed by ...
Comments