Abstract
As a file system ages, it can experience multiple forms of fragmentation. Fragmentation of the free space in the file system can lower write performance and subsequent read performance. Client operations as well as internal operations, such as deduplication, can fragment the layout of an individual file, which also impacts file read performance. File systems that allow sub-block granular addressing can gather intra-block fragmentation, which leads to wasted free space. Similarly, wasted space can also occur when a file system writes a collection of blocks out to object storage as a single large object, because the constituent blocks can become free at different times. The impact of fragmentation also depends on the underlying storage media. This article studies each form of fragmentation in the NetApp® WAFL®file system, and explains how the file system leverages a storage virtualization layer for defragmentation techniques that physically relocate blocks efficiently, including those in read-only snapshots. The article analyzes the effectiveness of these techniques at reducing fragmentation and improving overall performance across various storage media.
- Woo Hyun Ahn, Kyungbaek Kim, Yongjin Choi, and Daeyeon Park. 2002. DFS: A de-fragmented file system. In Proceedings of the 10th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunications Systems (MASCOTS’02). 71--80.Google Scholar
- Wendy Bartlett and Lisa Spainhower. 2004. Commercial fault tolerance: A tale of two systems. IEEE Trans. Depend. Sec. Comput. 1, 1 (2004).Google Scholar
Digital Library
- Matias Bjørling, Javier González, and Philippe Bonnet. 2017. LightNVM: The Linux open-channel SSD subsystem. In Proceedings of the Conference on File and Storage Technologies (FAST’17).Google Scholar
- Alexander Conway, Ainesh Bakshi, Yizheng Jiao, William Jannen, Yang Zhan, Jun Yuan, Michael A. Bender, Rob Johnson, Bradley C. Kuszmaul, Donald E. Porter et al. 2017. File systems fated for senescence? Nonsense, says science! In Proceedings of the Conference on File and Storage Technologies (FAST’17).Google Scholar
- Fernando J. Corbato. 1968. A Paging Experiment with the Multics System. Technical Report. Massachusetts Institute of Technology, Cambridge, MA, Project MAC.Google Scholar
- Peter Corbett, Bob English, Atul Goel, Tomislav Grcanac, Steven Kleiman, James Leong, and Sunitha Sankar. 2004. Row-diagonal parity for double disk failure correction. In Proceedings of the Conference on File and Storage Technologies (FAST’04).Google Scholar
- Matthew Curtis-Maury, Vinay Devadas, Vania Fang, and Aditya Kulkarni. 2016. To waffinity and beyond: A scalable architecture for incremental parallelization of file system code. In Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI’16).Google Scholar
- Matthew Curtis-Maury, Ram Kesavan, and Mrinal Bhattacharjee. 2017. Scalable write allocation in the WAFL file system. In Proceedings of the Internal Conference on Parallel Processing (ICPP’17).Google Scholar
Cross Ref
- John K. Edwards, Daniel Ellard, Craig Everhart, Robert Fair, Eric Hamilton, Andy Kahn, Arkady Kanevsky, James Lentini, Ashish Prakash, Keith A. Smith et al. 2008. FlexVol: Flexible, efficient file volume virtualization in WAFL. In Proceedings of the USENIX Annual Technical Conference (ATC’08).Google Scholar
- Atul Goel and Peter Corbett. 2012. RAID triple parity. In ACM SIGOPS Operat. Syst. Rev., Vol. 46. 41--49.Google Scholar
Digital Library
- Sangwook Shane Hahn, Sungjin Lee, Cheng Ji, Li-Pin Chang, Inhyuk Yee, Liang Shi, Chun Jason Xue, and Jihong Kim. 2017. Improving file system performance of mobile storage systems using a decoupled defragmenter. In Proceedings of the USENIX Annual Technical Conference (ATC’17).Google Scholar
- Jun He, Sudarsun Kannan, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2017. The unwritten contract of solid state drives. In Proceedings of the European Conference on Computer Systems (EuroSys’17).Google Scholar
- Weiping He and David H. C. Du. 2017. SMaRT: An approach to shingled magnetic recording translation. In Proceedings of the Conference on File and Storage Technologies (FAST’17).Google Scholar
- Dave Hitz, James Lau, and Michael Malcolm. 1994. File system design for an NFS file server appliance. In Proceedings of the USENIX Winter Technical Conference.Google Scholar
- Cheng Ji, Li-Pin Chang, Liang Shi, Chao Wu, Qiao Li, and Chun Jason Xue. 2016. An empirical study of file-system fragmentation in mobile storage systems. In Proceedings of the USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage’16).Google Scholar
- Saurabh Kadekodi, Vaishnavh Nagarajan, Gregory R. Ganger, and Garth A. Gibson. 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 Annual Technical Conference (ATC’18).Google Scholar
- Ram Kesavan, Matthew Curtis-Maury, and Mrinal Bhattacharjee. 2018. Efficient search for free blocks in the WAFL file system. In Proceedings of the Internal Conference on Parallel Processing (ICPP’18).Google Scholar
Digital Library
- Ram Kesavan, Matthew Curtis-Maury, Vinay Devadas, and Kesari Mishra. 2019. Storage gardening: Using a virtualization layer for efficient defragmentation in the WAFL file system. In Proceedings of the Conference on File and Storage Technologies (FAST’19).Google Scholar
- Ram Kesavan, Rohit Singh, Travis Grusecki, and Yuvraj Patel. 2017. Algorithms and data structures for efficient free space reclamation in WAFL. In Proceedings of the Conference on File and Storage Technologies (FAST’17).Google Scholar
- Ram Kesavan, Rohit Singh, Travis Grusecki, and Yuvraj Patel. 2017. Efficient free space reclamation in WAFL. ACM Trans. Stor. 13, 3 (Oct. 2017).Google Scholar
- Hyukjoong Kim, Dongkun Shin, Yunho Jeong, and Kyung Ho Kim. 2017. SHRD: Improving spatial locality in flash storage accesses by sequentializing in host and randomizing in device. In Proceedings of the Conference on File and Storage Technologies (FAST’17).Google Scholar
- John Lantz. 2018. Enable Cloud-Connected All-Flash Arrays with ONTAP 9.4 and FabricPool. Retrieved from https://blog.netapp.com/cloud-connected-flash-new-fabricpool-capabilities-ontap-9-4/.Google Scholar
- Changman Lee, Dongho Sim, Joo Young Hwang, and Sangyeun Cho. 2015. F2FS: A new file system for flash storage. In Proceedings of the Conference on File and Storage Technologies (FAST’15).Google Scholar
- Youngjae Lee, Jin-Soo Kim, and Seungryoul Maeng. 2010. ReSSD: A software layer for resuscitating SSDs from poor small random write performance. In Proceedings of the ACM Symposium on Applied Computing.Google Scholar
Digital Library
- Youyou Lu, Jiwu Shu, Wei Wang et al. 2014. ReconFS: A reconstructable file system on flash storage. In Proceedings of the Conference on File and Storage Technologies (FAST’14).Google Scholar
- Avantika Mathur, Mingming Cao, Suparna Bhattacharya, Andreas Dilger, Alex Tomas, and Laurent Vivier. 2007. The new ext4 filesystem: Current status and future plans. In Proceedings of the Linux Symposium.Google Scholar
- Marshall K. McKusick, William N. Joy, Samuel J. Leffler, and Robert S. Fabry. 1984. A fast file system for UNIX. Trans. Comput. Syst. 2, 3 (1984), 181--197. DOI:https://doi.org/10.1145/989.990Google Scholar
Digital Library
- Dutch T. Meyer and William J. Bolosky. 2011. A study of practical deduplication. In Proceedings of the 9th USENIX Conference on File and Storage.Google Scholar
- SUN Microsystems. 2008. ZFS at OpenSolaris Community. Retrieved from http://opensolaris.org/os/community/zfs/.Google Scholar
- Sparsh Mittal and Jeffrey S. Vetter. 2015. A survey of software techniques for using non-volatile memories for storage and main memory systems. IEEE Trans. Parallel Distrib. Syst. 30, 5 (2015).Google Scholar
- NetApp, Inc.2019. Volume Move Express Guide. Retrieved from https://library.netapp.com/ecm/ecm_download_file/ECMLP2496251.Google Scholar
- David A. Patterson, Garth Gibson, and Randy H. Katz. 1988. A case for redundant arrays of inexpensive disks (RAID). In Proceedings of the International Conference on Management of Data (SIGMOD’88).Google Scholar
- Hugo Patterson, Stephen Manley, Mike Federwisch, Dave Hitz, Steve Kleiman, and Shane Owara. 2002. SnapMirror: File system based asynchronous mirroring for disaster recovery. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’02).Google Scholar
Digital Library
- Ohad Rodeh, Josef Bacik, and Chris Mason. 2013. BTRFS: The Linux B-tree filesystem. ACM Trans. Stor. 9, 3 (2013), 9.Google Scholar
Digital Library
- Mendel Rosenblum and John K. Ousterhout. 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst. 10 (1992), 1--15.Google Scholar
Digital Library
- Takashi Sato. 2007. ext4 online defragmentation. In Proceedings of the Linux Symposium, Vol. 2. 179--186.Google Scholar
- Margo Seltzer, Keith A. Smith, Hari Balakrishnan. Jacqueline Chang, Sara McMains, and Venkata Padmanabhan. 1995. File system logging versus clustering: A performance comparison. In Proceedings of the USENIX Annual Technical Conference (ATC’95).Google Scholar
- Keith A. Smith and Margo I. Seltzer. 1997. File system aging-Increasing the relevance of file system benchmarks. In ACM SIGMETRICS Performance Evaluation Review, Vol. 25. ACM, 203--213.Google Scholar
- Storage Performance Council. 2018. Storage Performance Council-1 Benchmark. Retrieved from www.storageperformance.org.Google Scholar
- Rajesh Sundaram. 2006. The Private Lives of Disk Drives. Retrieved from: https://atg.netapp.com/?p=13640.Google Scholar
- Technical Committee T10. 2016. SCSI Storage Interfaces. Retrieved from: www.t10.org/lists/2op.htm.Google Scholar
- Technical Committee T13. 2007. TRIM Specification. ATA/ATAPI Command Set-2 (ACS2). www.t13.org.Google Scholar
- Sage A. Weil, Scott A. Brandt, Ethan L. Miller, Darrell D. E. Long, and Carlos Maltzhan. 2006. Ceph: A scalable, high-performance distributed file system. In Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI’06).Google Scholar
- Wikipedia. 2017. ReiserFS. Wikipedia, The Free Encyclopedia. Retrieved from: https://en.wikipedia.org/wiki/ReiserFS.Google Scholar
- Jian Xu and Steven Swanson. 2016. NOVA: A log-structured file system for hybrid volatile/non-volatile main memories. In Proceedings of the Conference on File and Storage Technologies (FAST’16).Google Scholar
- Qiumin Xu, Huzefa Siyamwala, Mrinmoy Ghosh, Manu Awasthi, Tameesh Suri, Zvika Guz, Anahita Shayesteh, and Vijay Balakrishnan. 2015. Performance characterization of hyperscale applications on NVMe SSDs. In ACM SIGMETRICS Performance Evaluation Review, Vol. 43. ACM.Google Scholar
- Qiumin Xu, Huzefa Siyamwala, Mrinmoy Ghosh, Tameesh Suri, Manu Awasthi, Zvika Guz, Anahita Shayesteh, and Vijay Balakrishnan. 2015. Performance analysis of NVMe SSDs and their implication on real world databases. In Proceedings of the 8th ACM International Systems and Storage Conference (SYSTOR’15). ACM.Google Scholar
Digital Library
- Jingpei Yang, Ned Plasson, Greg Gillis, Nisha Talagala, and Swaminathan Sundararaman. 2014. Don’t stack your log on my log. In Proceedings of the Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW’14).Google Scholar
- Zhihui Zhang and Kanad Ghose. 2003. yFS: A journaling file system design for handling large data sets with reduced seeking. In Proceedings of the Conference on File and Storage Technologies (FAST’03).Google Scholar
- Aviad Zuck, Oren Kishon, and Sivan Toledo. 2014. LSDM: Improving the performance of mobile storage with a log-structured address remapping device driver. In Proceedings of the 8th International Conference on Next Generation Mobile Apps, Services and Technologies (NGMAST’14).Google Scholar
Digital Library
Index Terms
Countering Fragmentation in an Enterprise Storage System
Recommendations
Efficient Free Space Reclamation in WAFL
Special Issue on FAST 2017 and Regular PapersNetApp®WAFL® is a transactional file system that uses the copy-on-write mechanism to support fast write performance and efficient snapshot creation. However, copy-on-write increases the demand on the file system to find free blocks quickly, which makes ...
LSM-tree managed storage for large-scale key-value store
SoCC '17: Proceedings of the 2017 Symposium on Cloud ComputingKey-value stores are increasingly adopting LSM-trees as their enabling data structure in the backend storage, and persisting their clustered data through a file system. A file system is expected to not only provide file/directory abstraction to organize ...
Chunk Fragmentation Level: An Effective Indicator for Read Performance Degradation in Deduplication Storage
HPCC '11: Proceedings of the 2011 IEEE International Conference on High Performance Computing and CommunicationsData deduplication has recently become commonplace in most secondary storage and even in some primary storage for the capacity optimization purpose. Aside from its write performance, read performance of the deduplication storage has been gaining in ...






Comments