Frangipani: a scalable distributed file system

The ideal distributed file system would provide all its users with coherent, shared access to the same set of files, yet would be arbitrarily scalable to provide more storage space and higher performance to a growing user community. It would be highly available in spite of component failures. It would require minimal human administration, and administration would not become more complex as more components were added. Frangipani is a new file system that approximates this ideal, yet was relatively easy to build because of its two-layer structure. The lower layer is Petal (described in an earlier paper), a distributed storage service that provides incrementally scalable, highly available, automatically managed virtual disks. In the upper layer, multiple machines run the same Frangipani file system code on top of a shared Petal virtual disk, using a distributed lock service to ensure coherence. Frangipani is meant to run in a cluster of machines that are under a common administration and can communicate securely. Thus the machines trust one another and the shared virtual disk approach is practical. Of course, a Frangipani file system can be exported to untrusted machines using ordinary network file access protocols. We have implemented Frangipani on a collection of Alphas running DIGITAL Unix 4.0. Initial measurements indicate that Frangipani has excellent single-server performance and scales well as servers are added.

[1]  G. D. Liveing,et al.  The University of Cambridge , 1897, British medical journal.

[2]  Roger M. Needham,et al.  A Universal File Server , 1980, IEEE Transactions on Software Engineering.

[3]  James G. Mitchell,et al.  A comparison of two network-based file servers , 1981, SOSP.

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

[5]  Andrew S. Tanenbaum,et al.  Immediate files , 1984, Softw. Pract. Exp..

[6]  Dan Walsh,et al.  Design and implementation of the Sun network filesystem , 1985, USENIX Conference Proceedings.

[7]  Nancy P. Kronenberg,et al.  VAXcluster: a closely-coupled distributed system , 1986, TOCS.

[8]  Robert B. Hagmann,et al.  Reimplementing the Cedar file system using logging and group commit , 1987, SOSP '87.

[9]  Michael Burrows Efficient data sharing , 1988 .

[10]  Scale and performance in a distributed file system , 1988, TOCS.

[11]  Michael N. Nelson,et al.  Caching in the Sprite network file system , 1988, TOCS.

[12]  David R. Cheriton,et al.  Leases: an efficient fault-tolerant mechanism for distributed file cache consistency , 1989, SOSP '89.

[13]  Sailesh Chutani,et al.  DEcorum File System Architectural Overview , 1990, USENIX Summer.

[14]  Michael Williams,et al.  Replication in the harp file system , 1991, SOSP '91.

[15]  Anupam Bhide,et al.  A Highly Available Network File Server , 1991, USENIX Winter.

[16]  RosenblumMendel,et al.  The design and implementation of a log-structured file system , 1991 .

[17]  Jang-Ping Sheu,et al.  Design and implementation of a distributed file system , 1991, Softw. Pract. Exp..

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

[19]  Sailesh Chutani,et al.  The Episode File System , 1992 .

[20]  Wilson C. Hsieh,et al.  The logical disk: a new approach to improving file systems , 1994, SOSP '93.

[21]  Carl Smith,et al.  NFS Version 3: Design and Implementation , 1994, USENIX Summer.

[22]  Garret Swart,et al.  A coherent distributed file cache with directory write-behind , 1994, TOCS.

[23]  Martín Abadi,et al.  Authentication in the Taos operating system , 1994, TOCS.

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

[25]  Murthy V. Devarakonda,et al.  Evaluation of Design Alternatives for a Cluster File System , 1995, USENIX.

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

[27]  Murthy V. Devarakonda,et al.  Recovery in the Calypso file system , 1996, TOCS.

[28]  Garret Swart,et al.  The Echo Distributed File System , 1996 .

[29]  Garret Swart,et al.  Availability in the Echo File System , 1996 .

[30]  Edward W. Felten,et al.  Simplifying Distributed File Systems Using a Shared Logical Disk , 1996 .

[31]  Garret Swart,et al.  New-value Logging in the Echo Replicated File System , 1996 .

[32]  James E. Johnson,et al.  Overview of the Spiralog File System , 1996, Digit. Tech. J..

[33]  Thomas Anderson,et al.  Experience with a distributed file system implementation , 1997 .

[34]  Jim Zelenka,et al.  File server scaling with network-attached secure disks , 1997, SIGMETRICS '97.

[35]  Alexander A. Stepanov,et al.  Mime: a high performance parallel storage device with strong recovery guarantees , 1997 .

[36]  P. Bernstein RRENCY CONTROL AND RECOVERY IN DATABASE SYSTEMS , 1998 .

[37]  Thomas Anderson,et al.  Experience with a Distributed File System Implementation with Adaptive , 1998 .

[38]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.