skip to main content
article

hFS: a hybrid file system prototype for improving small file and metadata performance

Published:21 March 2007Publication History
Skip Abstract Section

Abstract

Two oft-cited file systems, the Fast File System (FFS) and the Log-Structured File System (LFS), adopt two sharply different update strategies---update-in-place and update-out-of-place. This paper introduces the design and implementation of a hybrid file system called hFS, which combines the strengths of FFS and LFS while avoiding their weaknesses. This is accomplished by distributing file system data into two partitions based on their size and type. In hFS, data blocks of large regular files are stored in a data partition arranged in a FFS-like fashion, while metadata and small files are stored in a separate log partition organized in the spirit of LFS but without incurring any cleaning overhead. This segregation makes it possible to use more appropriate layouts for different data than would otherwise be possible. In particular, hFS has the ability to perform clustered I/O on all kinds of data---including small files, metadata, and large files. We have implemented a prototype of hFS on FreeBSD and have compared its performance against three file systems, including FFS with Soft Updates, a port of NetBSD's LFS, and our lightweight journaling file system called yFS. Results on a number of benchmarks show that hFS has excellent small file and metadata performance. For example, hFS beats FFS with Soft Updates in the range from 53% to 63% in the PostMark benchmark.

References

  1. Marshall Kirk McKusick, William N. Joy, Samuel J. Leffler, and Robert S. Fabry. A Fast File System for UNIX. ACM Transactions on Computer Systems, Vol. 2, No. 3, pp. 181--197, August 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. The IBM JFS project. http://oss.software.ibm.com/developerworks/opensource/jfs/.Google ScholarGoogle Scholar
  3. The SGI XFS project. http://oss.sgi.com/projects/xfs/.Google ScholarGoogle Scholar
  4. The ReiserFS project, http://www.namesys.com/.Google ScholarGoogle Scholar
  5. Stephen C. Tweedie. Journaling the Linux ext2fs Filesystem. LinuxExpo'98, May 1998.Google ScholarGoogle Scholar
  6. Mendel Rosenblum and John K. Ousterhout. The Design and Implementation of a Log-Structured File System. ACM Transactions on Computer Systems, pp. 26--52, February 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Margo I. Seltzer, Keith Bostic, Marshall Kirk McKusick, and Carl Staelin. An Implementation of a Log-Structured File System for UNIX. USENIX Winter Technical Conference, pp. 307--326, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Dave Hitz, James Lau and Michael Malcolm. File System Design for a NFS File Server Appliance. Tech. Report TR 3002, Network Appliance Inc, updated 2005.Google ScholarGoogle Scholar
  9. Keith Muller and Joseph Pasquale. A High Performance Multi-Structured File System Design. Proceedings of 13th ACM Symposium on Operating Systems Principles, pp. 56--67. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Keith A. Smith and Margo I. Seltzer. A Comparison of FFS Disk Allocation Policies. In USENIX Annual Technical Conference, pp. 15--26, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Steve D. Pate. Unix Filesystems: Evolution, Design, and Implementation. Wiley Publishing, Inc., 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gregory R. Ganger and M. Frans Kaashoek. Embedded Inodes and Explicit Grouping: Exploiting Disk Bandwidth for Small Files. USENIX Annual Technical Conference, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Gregory R. Ganger, Yale N. Patt. Metadata Update Performance in File Systems. USENIX Symposium on Operating Systems Design and Implementation, pp. 49--60, November 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Marshall Kirk McKusick and Gregory R. Ganger. Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem, USENIX Annual Technical Conference, FREENIX Track, pp. 1--17, June 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Margo I. Seltzer, et al. Journaling versus Soft Updates: Asynchronous Meta-data Protection in File Systems. USENIX Annual Technical Conference, pp. 71--84, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jun Wang and Yiming Hu, WOLF---A Novel Reordering Write Buffer to Boost the Performance of Log-Structured File Systems. 1st Conference on File and Storage Technologies, pp. 47--60, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Trevor Blackwell, Jeffrey Harris, Margo I. Seltzer, Heuristic Cleaning Algorithms in Log-Structured File Systems, USENIX Annual Technical Conference, pp. 277--288, January 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Jeanne Neefe Matthews, et al. Improving the Performance of Log-Structured File Systems with Adaptive Methods. 16th ACM Symposium on Operating Sys. Principles, pp. 238--251, October 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Drew Roselli, Jacob R. Lorch, and Thomas E. Anderson. A Comparison of File System Workloads. USENIX Annual Technical Conference, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Ian Dowse and David Malone. Recent Filesystem Optimisations on FreeBSD. USENIX Annual Technical Conference, FREENIX Track, pp. 245--258, June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Sape J. Mullender and Andrew S. Tanenbaum. Immediate Files. Software---Practice and Experience, Volume 14, pp. 365--368, April 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. The FreeBSD Project. http://www.freebsd.org.Google ScholarGoogle Scholar
  23. The NetBSD Project. http://www.netbsd.org.Google ScholarGoogle Scholar
  24. Zhihui Zhang and Kanad Ghose. yFS: A Journaling File System Design for Handling Large Data Sets with Reduced Seeking. 2nd Conference on File and Storage Technologies, pp. 59--72, March 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Keith A. Smith and Margo I. Seltzer. File System Aging---Increasing the Relevance of File System Benchmarks. Proceedings of the ACM SIGMETRICS, pp. 203--213, June 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Jeffrey Katcher. PostMark: A New File System Benchmark. Technical Report TR3022. Network Appliance Inc., October 1997.Google ScholarGoogle Scholar
  27. Paul Barford and Mark Crovella. Generating Representative Web Workloads for Network and Server Performance Evaluation. Proceedings of the ACM SIGMETRICS, pp. 151--160, June 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Juan Piernas, Toni Cortes, and José M. García. DualFS: A New Journaling File System without Meta-data Duplication. Proceedings of the 16th international conference on Supercomputing, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Marshall Kirk McKusick. Running "fsck" in the Background. In Proceedings of BSDCON 2002, pp. 55--64, February, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Michael Stonebraker. Operating System Support for Database Management. Communications of the ACM, Vol. 24, No. 7, July, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Wenguang Wang, Yanping Zhao, and Rick Bunt. HyLog: A High Performance Approach to Managing Disk Layout, Proc. USENIX FAST 04 pp. 145--158. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. hFS: a hybrid file system prototype for improving small file and metadata performance

    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 SIGOPS Operating Systems Review
      ACM SIGOPS Operating Systems Review  Volume 41, Issue 3
      EuroSys'07 Conference Proceedings
      June 2007
      386 pages
      ISSN:0163-5980
      DOI:10.1145/1272998
      Issue’s Table of Contents
      • cover image ACM Conferences
        EuroSys '07: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
        March 2007
        431 pages
        ISBN:9781595936363
        DOI:10.1145/1272996

      Copyright © 2007 ACM

      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 ACM 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: 21 March 2007

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader