skip to main content
research-article

Filesystem Fragmentation on Modern Storage Systems

Authors Info & Claims
Published:18 December 2023Publication History
Skip Abstract Section

Abstract

Filesystem fragmentation has been one of the primary reasons for computer systems to get slower over time. However, there have been rapid changes in modern storage systems over the past decades, and modern storage devices such as solid state drives have different mechanisms to access data, compared with traditional rotational ones. In this article, we revisit filesystem fragmentation on modern computer systems from both performance and fairness perspectives. According to our extensive experiments, filesystem fragmentation not only degrades I/O performance of modern storage devices, but also incurs various problems related to I/O fairness, such as performance interference. Unfortunately, conventional defragmentation tools are designed primarily for hard disk drives and thus generate an unnecessarily large amount of I/Os for data migration. To mitigate such problems, this article present FragPicker, a new defragmentation tool for modern storage devices. FragPicker analyzes the I/O behaviors of each target application and defragments only necessary pieces of data whose migration can contribute to performance improvement, thereby effectively minimizing the I/O amount for defragmentation. Our evaluation with YCSB workload-C shows FragPicker reduces the total amount of I/O for defragmentation by around 66% and the elapsed time by around 84%, while showing a similar level of defragmentation effect.

REFERENCES

  1. [1] 2008. filefrag. Retrieved from https://linux.die.net/man/8/filefragGoogle ScholarGoogle Scholar
  2. [2] 2009. disk-defrag. Retrieved from https://www.auslogics.com/en/software/disk-defrag/Google ScholarGoogle Scholar
  3. [3] 2012. fallocate. Retrieved from https://man7.org/linux/man-pages/man2/fallocate.2.htmlGoogle ScholarGoogle Scholar
  4. [4] 2013. Flexible I/O Tester. Retrieved from https://github.com/axboe/fioGoogle ScholarGoogle Scholar
  5. [5] 2013. iotop. Retrieved from https://linux.die.net/man/1/iotopGoogle ScholarGoogle Scholar
  6. [6] 2014. CFQ (Complete Fairness Queueing). Retrieved from https://www.kernel.org/doc/Documentation/block/cfq-iosched.txtGoogle ScholarGoogle Scholar
  7. [7] 2014. How to defrag your drives the right way. Retrieved from https://www.auslogics.com/en/articles/how-to-defrag/Google ScholarGoogle Scholar
  8. [8] 2017. Consumer SSD Performance. Retrieved from https://www.samsung.com/semiconductor/minisite/ssd/support/faqs-03/Google ScholarGoogle Scholar
  9. [9] 2017. Linux Extended BPF (eBPF) Tracing Tools. Retrieved from http://www.brendangregg.com/ebpf.htmlGoogle ScholarGoogle Scholar
  10. [10] 2018. Defraggler. Retrieved from https://www.ccleaner.com/defragglerGoogle ScholarGoogle Scholar
  11. [11] 2018. e4defrag. Retrieved from http://manpages.ubuntu.com/manpages/bionic/man8/e4defrag.8.htmlGoogle ScholarGoogle Scholar
  12. [12] 2019. BFQ (Budget Fair Queueing). Retrieved from https://www.kernel.org/doc/html/latest/block/bfq-iosched.htmlGoogle ScholarGoogle Scholar
  13. [13] 2019. defrag.f2fs. Retrieved from https://manpages.debian.org/testing/f2fs-tools/defrag.f2fs.8.en.htmlGoogle ScholarGoogle Scholar
  14. [14] 2020. DebugFS. Retrieved from https://www.kernel.org/doc/html/latest/filesystems/debugfs.htmlGoogle ScholarGoogle Scholar
  15. [15] 2020. How to defrag hard drive. Retrieved from https://www.crucial.com/articles/pc-users/how-to-defrag-hard-driveGoogle ScholarGoogle Scholar
  16. [16] 2020. The Linux Journaling API. Retrieved from https://www.kernel.org/doc/html/v5.7/filesystems/journalling.htmlGoogle ScholarGoogle Scholar
  17. [17] 2021. blktrace. Retrieved from https://linux.die.net/man/8/blktraceGoogle ScholarGoogle Scholar
  18. [18] 2022. btrfs-filesystem. Retrieved from https://btrfs.readthedocs.io/en/latest/btrfs-filesystem.htmlGoogle ScholarGoogle Scholar
  19. [19] 2022. Frequently Asked Questions for Intel® Solid State Drives. Retrieved from https://www.intel.com/content/www/us/en/support/articles/000006110/memory-and-storage.htmlGoogle ScholarGoogle Scholar
  20. [20] Asuero A Garcia, Sayago Ana, and Gonzalez AG. 2007. The correlation coefficient: An overview. Critical Reviews in Analytical Chemistry 36, 1 (Jan. 2007), 4159.Google ScholarGoogle ScholarCross RefCross Ref
  21. [21] Birrell Andrew, Isard Michael, Thacker Chuck, and Wobber Ted. 2007. A design for high-performance flash disks. SIGOPS Operating Systems Review 41, 2 (April 2007), 8893.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Bjørling Matias, Gonzalez Javier, and Bonnet Philippe. 2017. LightNVM: The linux open-Channel ssd subsystem. In Proceedings of the USENIX FAST. 359374.Google ScholarGoogle Scholar
  23. [23] Chen Feng, Koufaty David A., and Zhang Xiaodong. 2009. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. In Proceedings of the ACM SIGMETRICS. 181192.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Conway Alex, Bakshi Ainesh, Jiao Yizheng, Jannen William, Zhan Yang, Yuan Jun, Bender Michael A., Johnson Rob, Kuszmaul Bradley C., Porter Donald E., and Farach-Colton Martin. 2017. File systems fated for senescence? Nonsense, says science!. In Proceedings of the USENIX FAST. 4558.Google ScholarGoogle Scholar
  25. [25] Conway Alex, Knorr Eric, Jiao Yizheng, Bender Michael A., Jannen William, Johnson Rob, Porter Donald, and Farach-Colton Martin. 2019. Filesystem aging: It’s more usage than fullness. In Proceedings of the USENIX HotStorage. 17.Google ScholarGoogle Scholar
  26. [26] Gao Congming, Shi Liang, Liu Kai, Xue Chun Jason, Yang Jun, and Zhang Youtao. 2020. Boosting the performance of ssds via fully exploiting the plane level parallelism. IEEE Transactions on Parallel and Distributed Systems 31, 9 (April 2020), 21852200.Google ScholarGoogle ScholarCross RefCross Ref
  27. [27] Guo Jiayang, Hu Yiming, Mao Bo, and Wu Suzhen. 2017. Parallelism and garbage collection aware i/o scheduler with improved ssd performance. In Proceedings of the IEEE IPDPS. 11841193.Google ScholarGoogle ScholarCross RefCross Ref
  28. [28] Hady Frank T., Foong Annie, Veal Bryan, and Williams Dan. 2017. Platform storage performance with 3d xpoint technology. Proceedings of the IEEE 105, 9 (Aug. 2017), 18221833.Google ScholarGoogle ScholarCross RefCross Ref
  29. [29] Hahn Sangwook Shane, Lee Sungjin, Ji Cheng, Chang Li-Pin, Yee Inhyuk, Shi Liang, Xue Chun Jason, and Kim Jihong. 2017. Improving file system performance of mobile storage systems using a decoupled defragmenter. In Proceedings of the USENIX ATC. 759771.Google ScholarGoogle Scholar
  30. [30] Harris Bryan and Altiparmak Nihat. 2020. Ultra-low latency ssds’ impact on overall energy efficiency. In Proceedings of the USENIX HotStorage. 18.Google ScholarGoogle Scholar
  31. [31] He Dan, Wang Fang, Jiang Hong, Feng Dan, Liu Jing Ning, Tong Wei, and Zhang Zheng. 2014. Improving hybrid ftl by fully exploiting internal ssd parallelism with virtual blocks. ACM Transactions on Architecture and Code Optimization 11, 43 (Dec. 2014), 119.Google ScholarGoogle Scholar
  32. [32] Hedayati Mohammad, Shen Kai, Scott Michael L, and Marty Mike. 2019. Multi-queue fair queuing. In Proceedings of the USENIX ATC. 301314.Google ScholarGoogle Scholar
  33. [33] Heo Tejun, Schatzberg Dan, Newell Andrew, Liu Song, Dhakshinamurthy Saravanan, Narayanan Iyswarya, Bacik Josef, Mason Chris, Tang Chunqiang, and Skarlatos Dimitrios. 2022. Iocost: Block io control for containers in datacenters. In Proceedings of the ACM ASPLOS. 595608.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Hu Yang, Jiang Hong, Feng Dan, Tian Lei, Luo Hao, and Ren Chao. 2013. Exploring and exploiting the multilevel parallelism inside ssds for improved performance and endurance. IEEE Transactions on Computers 62, 6 (March 2013), 11411155.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. [35] Ji Cheng, Chang Li-Pin, Hahn Sangwook Shane, Lee Sungjin, Pan Riwei, Shi Liang, Kim Jihong, and Xue Chun Jason. 2018. File fragmentation in mobile devices: Measurement, evaluation, and treatment. IEEE Transactions on Mobile Computing 18, 9 (Sept. 2018), 20622076.Google ScholarGoogle ScholarCross RefCross Ref
  36. [36] Ji Cheng, Chang Li-Pin, Shi Liang, Wu Chao, Li Qiao, and Xue Chun Jason. 2016. An empirical study of file-system fragmentation in mobile storage systems. In Proceedings of the USENIX HotStorage. 15.Google ScholarGoogle Scholar
  37. [37] Jung Myoungsoo and Kandemir Mahmut. 2013. Revisiting widely held ssd expectations and rethinking system-level implications. SIGMETRICS Performance Evaluation Review 41, 1 (June 2013), 203216.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. [38] Kadekodi Rohan, Kadekodi Saurabh, Ponnapalli Soujanya, Shirwadkar Harshad, Ganger Gregory R., Kolli Aasheesh, and Chidambaram Vijay. 2021. WineFS: A hugepage-aware file system for persistent memory that ages gracefully. In Proceedings of the ACM SOSP. 804818.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. [39] Kadekodi Rohan, Lee Se Kwon, Kashyap Sanidhya, Kim Taesoo, Kolli Aasheesh, and Chidambaram Vijay. 2019. SplitFS: Reducing software overhead in file systems for persistent memory. In Proceedings of the ACM SOSP. 494508.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Kadekodi Saurabh, Nagarajan Vaishnavh, and Ganger Gregory R.. 2018. Geriatrix: Aging what you see and what you don’t see. A file system aging approach for modern storage systems. In Proceedings of the USENIX ATC. 691703.Google ScholarGoogle Scholar
  41. [41] V. Aneesh Kumar K., Cao Mingming, Santos Jose R., and Dilger Andreas. 2008. Ext4 block and inode allocator improvements. In Proceedings of the OLS. 263274.Google ScholarGoogle Scholar
  42. [42] Lee Changman, Sim Dongho, Hwang Jooyoung, and Cho Sangyeun. 2015. F2FS: A new file system for flash storage. In Proceedings of the USENIX FAST. 273286.Google ScholarGoogle Scholar
  43. [43] Montgomery Douglas C., Peck Elizabeth A., and Vining G. Geoffrey. 2021. Introduction to Linear Regression Analysis. Wiley, New York.Google ScholarGoogle Scholar
  44. [44] Park Jonggyu and Eom Young Ik. 2020. Anti-aging lfs: Self-defragmentation with fragmentation-aware cleaning. IEEE ACCESS 8 (Aug. 2020), 151474151486.Google ScholarGoogle ScholarCross RefCross Ref
  45. [45] Park Jonggyu and Eom Young Ik. 2021. Fragpicker: A new defragmentation tool for modern storage devices. In Proceedings of the ACM SOSP. 280294.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. [46] Park Jonggyu and Eom Young Ik. 2022. File fragmentation from the perspective of i/o control. In Proceedings of the ACM HotStorage. 126132.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. [47] Seol Jinho, Shim Hyotaek, Kim Jaegeuk, and Maeng Seungryoul. 2009. A buffer replacement algorithm exploiting multi-chip parallelism in solid state disks. In Proceedings of the CASES. 137146.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. [48] Standard JEDEC. 2012. Embedded multimedia card (eMMC), electrical standard 4.51. JEDEC Solid State Technology Association 6, 1 (2012), 35–39.Google ScholarGoogle Scholar
  49. [49] Taylor Richard. 1990. Interpretation of the correlation coefficient: A basic review. Journal of Diagnostic Medical Sonography 6, 1 (Jan. 1990), 3539.Google ScholarGoogle ScholarCross RefCross Ref
  50. [50] Wu Kan, Arpaci-Dusseau Andrea, and Arpaci-Dusseau Remzi. 2019. Towards an unwritten contract of intel optane SSD. In Proceedings of the USENIX HotStorage. 18.Google ScholarGoogle Scholar
  51. [51] Yang Jinfeng, Li Bingzhe, and Lilja David J.. 2020. Exploring performance characteristics of the optane 3d xpoint storage technology. ACM Transactions on Modeling and Performance Evaluation of Computing Systems 5, 1 (Feb. 2020), 128.Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. [52] Yang Lihua, Wang Fang, Tan Zhipeng, Feng Dan, Qian Jiaxing, and Tu Shiyun. 2020. ARS: Reducing fragmentation for smartphones using decision trees. In Proceedings of the DATE. 10611066.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Filesystem Fragmentation on Modern Storage Systems

      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

      Full Access

      • Published in

        cover image ACM Transactions on Computer Systems
        ACM Transactions on Computer Systems  Volume 41, Issue 1-4
        November 2023
        188 pages
        ISSN:0734-2071
        EISSN:1557-7333
        DOI:10.1145/3637801
        • Editor:
        • Michael Swift
        Issue’s Table of Contents

        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 the author(s) 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: 18 December 2023
        • Online AM: 2 August 2023
        • Accepted: 10 July 2023
        • Revised: 20 February 2023
        • Received: 1 September 2022
        Published in tocs Volume 41, Issue 1-4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
      • Article Metrics

        • Downloads (Last 12 months)646
        • Downloads (Last 6 weeks)109

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      View Full Text