Abstract
NetApp®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 rapid free space reclamation essential. Inability to find free blocks quickly may impede allocations for incoming writes. Efficiency is also important, because the task of reclaiming free space may consume CPU and other resources at the expense of client operations. In this article, we describe the evolution (over more than a decade) of the WAFL algorithms and data structures for reclaiming space with minimal impact to the overall performance of the storage appliance.
- Michael A. Bender, Martin Farach-Colton, Jeremy T. Fineman, Yonatan R. Fogel, Bradley C. Kuszmaul, and Jelani Nelson. 2007. Cache-oblivious streaming b-trees. In Proceedings of ACM Symposium on Parallel Algorithms and Architectures. 81--92. Google Scholar
Digital Library
- Jeff Bonwick. 2007. Space Maps. Retrieved from https://blogs.oracle.com/bonwick/en/entry/space_maps.Google Scholar
- Mingming Cao, Jose R. Santos, and Andreas Dilger. 2008. Ext4 block and inode allocator improvements. In Linux Symposium. 263.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. Proceedings of USENIX Conference on File and Storage Technologies (FAST’04).Google Scholar
- Standard Performance Evaluation Corporation. SPEC SFS 2014. Retrieved from https://www.spec.org/sfs2014/.Google Scholar
- Storage Performance Council. Storage Performance Council-1 Benchmark. Retrieved from www.storageperformance.org/results/#spc1_overview.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 Symposium on Operating Systems Design and Implementation (OSDI’16).Google Scholar
- Matthew Curtis-Maury, Ram Kesavan, and Mrinal K. Bhattacharjee. 2017. Scalable write allocation in the WAFL file system. In Proceedings of International Conference on Parallel Processing (ICPP’17). Google Scholar
Cross Ref
- Peter R. Denz, Matthew Curtis-Maury, and Vinay Devadas. 2016. Think global, act local: A buffer cache design for global ordering and parallel processing in the WAFL file system. In Proceeding of 45th International Conference on Parallel Processing (ICPP’16). 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, and Edward Zayas. 2008. FlexVol: Flexible, efficient file volume virtualization in WAFL. In Proceedings of the 2008 USENIX Annual Technical Conference. 129--142.Google Scholar
- Travis R. Grusecki. 2012. Improving block sharing in the Write Anywhere File Layout file system. http://hdl.handle.net/1721.1/76818.Google Scholar
- Christopher Hertel. 2003. Implementing CIFS: The Common Internet File System. Prentice Hall Professional Technical Reference.Google Scholar
- Dave Hitz, James Lau, and Michael Malcolm. 1994. File system design for an NFS file server appliance. In Proceedings of USENIX Winter 1994 Technical Conference. 235--246.Google Scholar
Digital Library
- NetApp Inc. 2010. Data ONTAP 8. Retrieved from http://www.netapp.com/us/products/platform-os/ontap/.Google Scholar
- Ram Kesavan, Rohit Singh, Travis Grusecki, and Yuvraj Patel. 2017. Algorithms and data structures for efficient free space reclamation in WAFL. In 15th USENIX Conference on File and Storage Technologies (FAST’17), Geoff Kuenning and Carl A. Waldspurger (Eds.). USENIX Association, 1--14.Google Scholar
Digital Library
- Ram Kesavan, Sriram Venketaraman, Mohit Gupta, and Subramaniam Periyagaram. 2014. Systems and methods for instantaneous cloning. Patent US8812450 (2014). Retrieved from https://www.google.com/patents/US8812450.Google Scholar
- Harendra Kumar, Yuvraj Patel, Ram Kesavan, and Sumith Makam. 2017. High performance metadata integrity protection in the WAFL copy-on-write file system. In Proceedings of Conference on File and Storage Technologies (FAST’17).Google Scholar
- Avantika Mathur, Mingming Cao, and Andreas Dilger. 2007. Ext4: The Next Generation of the Ext3 File System. Usenix Association.Google Scholar
- Marshall K. McKusick, William N. Joy, Samuel J. Leffler, and Robert S. Fabry. 1984. A fast file system for UNIX. ACM Trans. Comput. Syst. 2, 3 (Aug. 1984), 181--197. DOI:http://dx.doi.org/10.1145/989.990 Google Scholar
Digital Library
- Marshall Kirk McKusick, Willian N. Joy, Samuel J. Leffler, and Robert S. Fabry. 1986. Fsck - The UNIX File System Check Program. Unix System Manager’s Manual - 4.3 BSD Virtual VAX-11 Version.Google Scholar
- Sun Microsystems. ZFS at OpenSolaris community. Retrieved from http://opensolaris.org/os/community/zfs/.Google Scholar
- Hugo Patterson, Stephen Manley, Mike Federwisch, Dave Hitz, Steve Kleiman, and Shane Owara. 2002. SnapMirror: File system based asychronous mirroring for disaster recovery. Proceedings of USENIX Conference on File and Storage Technologies (FAST’02).Google Scholar
Digital Library
- Peter M. Ridge and David Deming. 1995. The Book of SCSI. No Starch Press, San Francisco, CA.Google Scholar
- Ohad Rodeh, Josef Bacik, and Chris Mason. 2013. BTRFS: The Linux b-tree filesystem. Trans. Storage 9, 3, Article 9 (Aug. 2013), 32 pages. DOI:http://dx.doi.org/10.1145/2501620.2501623 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
- Russel Sandberg, David Goldberg, Steve Kleiman, Dan Walsh, and Bob Lyon. 1985. Design and Implementation of the Sun Network File System. In Proceedings of the Summer 1985 USENIX Technical Conference, 19–130.Google Scholar
- Ananthan Subramanian, Rimas Svarcas, Ram Kesavan, Srishylam Simharajan, and John Frederick DeStefano. 2017. Incremental transfer with unused block reclamation. Patent US20170031772. https://www.google.com/patents/US20170031772.Google Scholar
- Adam Sweeney, Doug Doucette, Wei Hu, Curtis Anderson, Mike Nishimoto, and Geoff Peck. 1996. Scalability in the XFS file system. In USENIX Annual Technical Conference.Google Scholar
- Ralph H. Thornburgh and Barry Schoenborn. 2000. Storage Area Networks. Prentice Hall PTR, Upper Saddle River, NJ.Google Scholar
- Stephen C. Tweedie. 1998. Journaling the linux ext2fs filesystem. In Proceedings of the 4th Annual Linux Expo (LinuxExpo’98).Google Scholar
- David D. Wright. 2014. Data deletion in a distributed data storage system. Patent US8819208. Retrieved from www.google.com/patents/US8819208.Google Scholar
Index Terms
Efficient Free Space Reclamation in WAFL
Recommendations
Countering Fragmentation in an Enterprise Storage System
Usenix Fast 2019 Special Section and Regular PapersAs 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 ...
CosaFS: A Cooperative Shingle-Aware File System
Special Issue on MSST 2017 and Regular PapersIn this article, we design and implement a cooperative shingle-aware file system, called CosaFS, on heterogeneous storage devices that mix solid-state drives (SSDs) and shingled magnetic recording (SMR) technology to improve the overall performance of ...
The design and implementation of a log-structured file system
This paper presents a new technique for disk storage management called a log-structured file system. A log-structured file system writes all modifications to disk sequentially in a log-like structure, thereby speeding up both file writing and crash ...






Comments