The Zebra Striped Network File System

Zebra is a network file system that increases throughput by striping file data across multiple servers. Rather than striping each file separately, Zebra forms all the new data from each client into a single stream, which it then stripes using an approach similar to a log-structured file system. This provides high performance for writes of small files as well as for reads and writes of large files. Zebra also writes parity information in each stripe in the style of RAID disk arrays; this increases storage costs slightly but allows the system to continue operation even while a single storage server is unavailable. A prototype implementation of Zebra, built in the Sprite operating system, provides 4-5 times the throughput of the standard Sprite file system or NFS for large files and a 15% to 300% improvement for writing small files.

[1]  Bruce Walker,et al.  The LOCUS distributed operating system , 1983, SOSP '83.

[2]  David E. Culler,et al.  A case for NOW (networks of workstation) , 1995, PODC '95.

[3]  John S. Heidemann,et al.  Implementation of the Ficus Replicated File System , 1990, USENIX Summer.

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

[5]  Brent B. Welch,et al.  The Sprite Remote Procedure Call System , 1986 .

[6]  John Wilkes,et al.  UNIX Disk Access Patterns , 1993, USENIX Winter.

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

[8]  Andrew R. Cherenson,et al.  The Sprite network operating system , 1988, Computer.

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

[10]  Amr El Abbadi,et al.  An Overview of the Isis Project , 1984 .

[11]  Mary Baker,et al.  Non-volatile memory for fast, reliable file systems , 1992, ASPLOS V.

[12]  Gregory R. Andrews,et al.  Distributed filaments: efficient fine-grain parallelism on a cluster of workstations , 1994, OSDI '94.

[13]  Mark R. Brown,et al.  The Alpine file system , 1985, TOCS.

[14]  Srinivasan Seshan,et al.  RAID-II: a high-bandwidth network file server , 1994, ISCA '94.

[15]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[16]  H KatzRandy,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988 .

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

[18]  Kenneth P. Birman,et al.  Deceit: a flexible distributed file system , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

[19]  Hector Garcia-Molina,et al.  Disk striping , 1986, 1986 IEEE Second International Conference on Data Engineering.

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

[21]  Carl Staelin,et al.  An Implementation of a Log-Structured File System for UNIX , 1993, USENIX Winter.

[22]  J. Wilkes DataMeshTM — scope and objectives : a commentary , 1989 .

[23]  Mary Baker Fast crash recovery in distributed file systems , 1994 .

[24]  John K. Ousterhout,et al.  Why Aren't Operating Systems Getting Faster As Fast as Hardware? , 1990, USENIX Summer.

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

[26]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

[27]  Chris Ruemmler,et al.  DataMesh research project , phase 1 , 1997 .

[28]  Mary Baker,et al.  The Recovery Box: Using Fast Recovery to Provide High Availability in the UNIX Environment , 1992, USENIX Summer.

[29]  Gerald J. Popek,et al.  Name Service Locality and Cache Design in a Distributed Operating System , 1986, ICDCS.

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

[31]  John S. Heidemann,et al.  Management of Replicated Volume Location Data in the Ficus Replicated File System , 1991, USENIX Summer.

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

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

[34]  Peter Dibble,et al.  A parallel interleaved file system , 1990 .

[35]  O.G. Johnson,et al.  Three-dimensional wave equation computations on vector computers , 1984, Proceedings of the IEEE.

[36]  Carla Schlatter Ellis,et al.  Bridge: a high performance file system for parallel processors , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[37]  Anupam Bhide,et al.  A comparison of two approaches to build reliable distributed file servers , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[38]  Philip D. L. Koch Disk file allocation based on the buddy system , 1987, TOCS.

[39]  Garret Swart,et al.  Availability and consistency tradeoffs in the Echo distributed file system , 1989, Proceedings of the Second Workshop on Workstation Operating Systems.

[40]  Garth A. Gibson,et al.  RAID-II: a high-bandwidth network file server , 1994, Proceedings of 21 International Symposium on Computer Architecture.

[41]  K OusterhoutJohn,et al.  Caching in the Sprite network file system , 1988 .

[42]  John K. Ousterhout,et al.  A trace-driven analysis of name and attribute caching in a distributed system , 1992 .

[43]  Michael Stonebraker,et al.  Highly redundant management of distributed data , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

[44]  Shivakumar Venkataraman,et al.  The TickerTAIP parallel RAID architecture , 1993, ISCA '93.

[45]  Roger M. Needham,et al.  Grapevine: an exercise in distributed computing , 1982, CACM.

[46]  Darrell D. E. Long,et al.  Swift/RAID: A Distributed RAID System , 1994, Comput. Syst..

[47]  Margo I. Seltzer,et al.  Disk Scheduling Revisited , 1990 .

[48]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

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

[50]  Mary Baker,et al.  Measurements of a distributed file system , 1991, SOSP '91.

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

[52]  Carla Schlatter Ellis,et al.  Directory Reference Patterns in Hierarchical File Systems , 1989, IEEE Trans. Knowl. Data Eng..

[53]  Randy H. Katz,et al.  Raid-ii: a scalable storage architecture for high-bandwidth network file service , 1992 .

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

[55]  Robbert van Renesse,et al.  The design of a high-performance file server , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

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

[57]  David A. Patterson,et al.  Maximizing performance in a striped disk array , 1990, ISCA '90.

[58]  Richard Wheeler,et al.  it/sfs: A Parallel File System for the CM-5 , 1993, USENIX Summer.

[59]  Mahadev Satyanarayanan,et al.  Coda: A Highly Available File System for a Distributed Workstation Environment , 1990, IEEE Trans. Computers.

[60]  J. Wilkes DataMesh-parallel storage systems for the 1990s , 1991, [1991] Digest of Papers Eleventh IEEE Symposium on Mass Storage Systems.