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.
- [1] 2008. filefrag. Retrieved from https://linux.die.net/man/8/filefragGoogle Scholar
- [2] 2009. disk-defrag. Retrieved from https://www.auslogics.com/en/software/disk-defrag/Google Scholar
- [3] 2012. fallocate. Retrieved from https://man7.org/linux/man-pages/man2/fallocate.2.htmlGoogle Scholar
- [4] 2013. Flexible I/O Tester. Retrieved from https://github.com/axboe/fioGoogle Scholar
- [5] 2013. iotop. Retrieved from https://linux.die.net/man/1/iotopGoogle Scholar
- [6] 2014. CFQ (Complete Fairness Queueing). Retrieved from https://www.kernel.org/doc/Documentation/block/cfq-iosched.txtGoogle Scholar
- [7] 2014. How to defrag your drives the right way. Retrieved from https://www.auslogics.com/en/articles/how-to-defrag/Google Scholar
- [8] 2017. Consumer SSD Performance. Retrieved from https://www.samsung.com/semiconductor/minisite/ssd/support/faqs-03/Google Scholar
- [9] 2017. Linux Extended BPF (eBPF) Tracing Tools. Retrieved from http://www.brendangregg.com/ebpf.htmlGoogle Scholar
- [10] 2018. Defraggler. Retrieved from https://www.ccleaner.com/defragglerGoogle Scholar
- [11] 2018. e4defrag. Retrieved from http://manpages.ubuntu.com/manpages/bionic/man8/e4defrag.8.htmlGoogle Scholar
- [12] 2019. BFQ (Budget Fair Queueing). Retrieved from https://www.kernel.org/doc/html/latest/block/bfq-iosched.htmlGoogle Scholar
- [13] 2019. defrag.f2fs. Retrieved from https://manpages.debian.org/testing/f2fs-tools/defrag.f2fs.8.en.htmlGoogle Scholar
- [14] 2020. DebugFS. Retrieved from https://www.kernel.org/doc/html/latest/filesystems/debugfs.htmlGoogle Scholar
- [15] 2020. How to defrag hard drive. Retrieved from https://www.crucial.com/articles/pc-users/how-to-defrag-hard-driveGoogle Scholar
- [16] 2020. The Linux Journaling API. Retrieved from https://www.kernel.org/doc/html/v5.7/filesystems/journalling.htmlGoogle Scholar
- [17] 2021. blktrace. Retrieved from https://linux.die.net/man/8/blktraceGoogle Scholar
- [18] 2022. btrfs-filesystem. Retrieved from https://btrfs.readthedocs.io/en/latest/btrfs-filesystem.htmlGoogle Scholar
- [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 Scholar
- [20] . 2007. The correlation coefficient: An overview. Critical Reviews in Analytical Chemistry 36, 1 (
Jan. 2007), 41–59.Google ScholarCross Ref - [21] . 2007. A design for high-performance flash disks. SIGOPS Operating Systems Review 41, 2 (
April 2007), 88–93.Google ScholarDigital Library - [22] . 2017. LightNVM: The linux open-Channel ssd subsystem. In Proceedings of the USENIX FAST. 359–374.Google Scholar
- [23] . 2009. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. In Proceedings of the ACM SIGMETRICS. 181–192.Google ScholarDigital Library
- [24] . 2017. File systems fated for senescence? Nonsense, says science!. In Proceedings of the USENIX FAST. 45–58.Google Scholar
- [25] . 2019. Filesystem aging: It’s more usage than fullness. In Proceedings of the USENIX HotStorage. 1–7.Google Scholar
- [26] . 2020. Boosting the performance of ssds via fully exploiting the plane level parallelism. IEEE Transactions on Parallel and Distributed Systems 31, 9 (
April 2020), 2185–2200.Google ScholarCross Ref - [27] . 2017. Parallelism and garbage collection aware i/o scheduler with improved ssd performance. In Proceedings of the IEEE IPDPS. 1184–1193.Google ScholarCross Ref
- [28] . 2017. Platform storage performance with 3d xpoint technology. Proceedings of the IEEE 105, 9 (
Aug. 2017), 1822–1833.Google ScholarCross Ref - [29] . 2017. Improving file system performance of mobile storage systems using a decoupled defragmenter. In Proceedings of the USENIX ATC. 759–771.Google Scholar
- [30] . 2020. Ultra-low latency ssds’ impact on overall energy efficiency. In Proceedings of the USENIX HotStorage. 1–8.Google Scholar
- [31] . 2014. Improving hybrid ftl by fully exploiting internal ssd parallelism with virtual blocks. ACM Transactions on Architecture and Code Optimization 11, 43 (
Dec. 2014), 1–19.Google Scholar - [32] . 2019. Multi-queue fair queuing. In Proceedings of the USENIX ATC. 301–314.Google Scholar
- [33] . 2022. Iocost: Block io control for containers in datacenters. In Proceedings of the ACM ASPLOS. 595–608.Google ScholarDigital Library
- [34] . 2013. Exploring and exploiting the multilevel parallelism inside ssds for improved performance and endurance. IEEE Transactions on Computers 62, 6 (
March 2013), 1141–1155.Google ScholarDigital Library - [35] . 2018. File fragmentation in mobile devices: Measurement, evaluation, and treatment. IEEE Transactions on Mobile Computing 18, 9 (
Sept. 2018), 2062–2076.Google ScholarCross Ref - [36] . 2016. An empirical study of file-system fragmentation in mobile storage systems. In Proceedings of the USENIX HotStorage. 1–5.Google Scholar
- [37] . 2013. Revisiting widely held ssd expectations and rethinking system-level implications. SIGMETRICS Performance Evaluation Review 41, 1 (
June 2013), 203–216.Google ScholarDigital Library - [38] . 2021. WineFS: A hugepage-aware file system for persistent memory that ages gracefully. In Proceedings of the ACM SOSP. 804–818.Google ScholarDigital Library
- [39] . 2019. SplitFS: Reducing software overhead in file systems for persistent memory. In Proceedings of the ACM SOSP. 494–508.Google ScholarDigital Library
- [40] . 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. 691–703.Google Scholar
- [41] . 2008. Ext4 block and inode allocator improvements. In Proceedings of the OLS. 263–274.Google Scholar
- [42] . 2015. F2FS: A new file system for flash storage. In Proceedings of the USENIX FAST. 273–286.Google Scholar
- [43] . 2021. Introduction to Linear Regression Analysis. Wiley, New York.Google Scholar
- [44] . 2020. Anti-aging lfs: Self-defragmentation with fragmentation-aware cleaning. IEEE ACCESS 8 (
Aug. 2020), 151474–151486.Google ScholarCross Ref - [45] . 2021. Fragpicker: A new defragmentation tool for modern storage devices. In Proceedings of the ACM SOSP. 280–294.Google ScholarDigital Library
- [46] . 2022. File fragmentation from the perspective of i/o control. In Proceedings of the ACM HotStorage. 126–132.Google ScholarDigital Library
- [47] . 2009. A buffer replacement algorithm exploiting multi-chip parallelism in solid state disks. In Proceedings of the CASES. 137–146.Google ScholarDigital Library
- [48] . 2012. Embedded multimedia card (eMMC), electrical standard 4.51. JEDEC Solid State Technology Association 6, 1 (2012), 35–39.Google Scholar
- [49] . 1990. Interpretation of the correlation coefficient: A basic review. Journal of Diagnostic Medical Sonography 6, 1 (
Jan. 1990), 35–39.Google ScholarCross Ref - [50] . 2019. Towards an unwritten contract of intel optane SSD. In Proceedings of the USENIX HotStorage. 1–8.Google Scholar
- [51] . 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), 1–28.Google ScholarDigital Library - [52] . 2020. ARS: Reducing fragmentation for smartphones using decision trees. In Proceedings of the DATE. 1061–1066.Google ScholarCross Ref
Index Terms
- Filesystem Fragmentation on Modern Storage Systems
Recommendations
Storage systems for movies-on-demand video servers
MSS '95: Proceedings of the 14th IEEE Symposium on Mass Storage SystemsWe evaluate storage system alternatives for movies-on-demand video servers. We begin by characterizing the movies-on-demand workload. We briefly discuss performance in disk arrays. First, we study disk farms in which one movie is stored per disk. This ...
Read-Performance Optimization for Deduplication-Based Storage Systems in the Cloud
Data deduplication has been demonstrated to be an effective technique in reducing the total data transferred over the network and the storage space in cloud backup, archiving, and primary storage systems, such as VM (virtual machine) platforms. However, ...
RAPID-Cache-A Reliable and Inexpensive Write Cache for High Performance Storage Systems
Modern high performance disk systems make extensive use of nonvolatile RAM (NVRAM) write caches. A single-copy NVRAM cache creates a single point of failure while a dual-copy NVRAM cache is very expensive because of the high cost of NVRAM. This paper ...
Comments