OBFS: A File System for Object-Based Storage Devices

The object-based storage model, in which files are made up of o ne or more data objects stored on self-contained Object-Based Storage Devices (OSDs), is em erging as an architecture for distributed storage systems. The workload presented to the OSDs will be q uite different from that of generalpurpose file systems, yet many distributed file systems employ general-purpose file systems as their underlying file system. We present OBFS, a small and highly ef ficient file system designed for use in OSDs. Our experiments show that our user-level implement ation of OBFS outperforms Linux Ext2 and Ext3 by a factor of two or three, and while OBFS is 1/25 the size of XFS, it provides only slightly lower read performance and 10%‐40% higher write pe rformance.

[1]  Cary G. Gray,et al.  Metadata Logging in an NFS Server , 1995, USENIX.

[2]  James Lau,et al.  File System Design for an NFS File Server Appliance , 1994, USENIX Winter.

[3]  Chandramohan A. Thekkath,et al.  Petal: distributed virtual disks , 1996, ASPLOS VII.

[4]  Sara McMains,et al.  File System Logging versus Clustering: A Performance Comparison , 1995, USENIX.

[5]  Randy H. Katz,et al.  RAMA: An Easy-to-Use, High-Performance Parallel File System , 1997, Parallel Comput..

[6]  M. Frans Kaashoek,et al.  Embedded Inodes and Explicit Grouping: Exploiting Disk Bandwidth for Small Files , 1997, USENIX Annual Technical Conference.

[7]  Margo I. Seltzer,et al.  File system aging—increasing the relevance of file system benchmarks , 1997, SIGMETRICS '97.

[8]  Margo I. Seltzer,et al.  Heuristic Cleaning Algorithms in Log-Structured File Systems , 1995, USENIX.

[9]  Gregory R. Ganger,et al.  Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem , 1999, USENIX Annual Technical Conference, FREENIX Track.

[10]  Frank B. Schmuck,et al.  GPFS: A Shared-Disk File System for Large Computing Clusters , 2002, FAST.

[11]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

[12]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[13]  Jim Zelenka,et al.  A cost-effective, high-bandwidth storage architecture , 1998, ASPLOS VIII.

[14]  Steven Levine,et al.  Porting the SGI XFS File System to Linux , 2000, USENIX Annual Technical Conference, FREENIX Track.

[15]  Robert S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[16]  Mahadev Satyanarayanan,et al.  Andrew: a distributed personal computing environment , 1986, CACM.

[17]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[18]  Thomas E. Anderson,et al.  A Comparison of File System Workloads , 2000, USENIX Annual Technical Conference, General Track.

[19]  Ray Bryant,et al.  Filesystem Performance and Scalability in Linux 2.4.17 , 2002, USENIX Annual Technical Conference, FREENIX Track.

[20]  John H. Hartman,et al.  The Zebra striped network file system , 1995, TOCS.

[21]  Wei Hu,et al.  Scalability in the XFS File System , 1996, USENIX Annual Technical Conference.

[22]  Mahadev Satyanarayanan,et al.  Disconnected operation in the Coda File System , 1992, TOCS.

[23]  Darrell D. E. Long,et al.  Swift: Using Distributed Disk Striping to Provide High I/O Data Rates , 1991, Comput. Syst..

[24]  Samuel J. Leffler,et al.  A Fast File System for UNIX (Revised July 27, 1983) , 1983 .

[25]  Amin Vahdat,et al.  Interposed request routing for scalable network storage , 2000, TOCS.

[26]  Steve R. Kleiman,et al.  Extent-like Performance from a UNIX File System , 1991, USENIX Winter.

[27]  Margo I. Seltzer,et al.  A Comparison of FFS Disk Allocation Policies , 1996, USENIX Annual Technical Conference.

[28]  Matthew T. O'Keefe,et al.  The Global File System , 1996 .

[29]  Stephen Tweedie,et al.  Planned Extensions to the Linux Ext2/Ext3 Filesystem , 2002, USENIX Annual Technical Conference, FREENIX Track.