Reimplementing the Cedar file system using logging and group commit

The workstation file system for the Cedar programming environment was modified to improve its robustness and performance. Previously, the file system used hardware-provided labels on disk blocks to increase robustness against hardware and software errors. The new system does not require hardware disk labels, yet is more robust than the old system. Recovery is rapid after a crash. The performance of operations on file system metadata, e.g., file creation or open, is greatly improved. The new file system has two features that make it atypical. The system uses a log, as do most database systems, to recover metadata about the file system. To gain performance, it uses group commit, a concept derived from high performance database systems. The design of the system used a simple, yet detailed and accurate, analytical model to choose between several design alternatives in order to provide good disk performance.

[1]  Ken Thompson,et al.  The UNIX time-sharing system , 1974, The Bell System Technical Journal.

[2]  Robert Metcalfe,et al.  Ethernet: distributed packet switching for local computer networks , 1988, CACM.

[3]  Butler W. Lampson,et al.  Crash Recovery in a Distributed Data Storage System , 1981 .

[4]  A. Retrospective,et al.  The UNIX Time-sharing System , 1977 .

[5]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[6]  Brian Randell,et al.  Operating Systems, An Advanced Course , 1978 .

[7]  Butler W. Lampson,et al.  An open operating system for a single-user machine , 1979, SOSP '79.

[8]  J. Mitchell,et al.  Issues in the design and use of a distributed file system , 1980, OPSR.

[9]  Yogen K. Dalal,et al.  Pilot: an operating system for a personal computer , 1980, CACM.

[10]  Eric Emerson Schmidt Controlling large software development in a distributed environment , 1982 .

[11]  Kenneth A. Pier A retrospective on the Dorado, a high-performance personal computer , 1983, ISCA '83.

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

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

[14]  Michael Stonebraker,et al.  Implementation techniques for main memory database systems , 1984, SIGMOD '84.

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

[16]  David K. Gifford,et al.  A caching file system for a programmer's workstation , 1985, SOSP 1985.

[17]  David K. Gifford,et al.  A caching file system for a programmer's workstation , 1985, SOSP '85.

[18]  Maurice J. Bach The Design of the UNIX Operating System , 1986 .

[19]  Richard J. Beach,et al.  A structural view of the Cedar programming environment , 1986, TOPL.