Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The Alpine file system
Brown M., Kolling K., Taft E. ACM Transactions on Computer Systems3 (4):261-293,1985.Type:Article
Date Reviewed: Sep 1 1986

This paper presents Alpine, a distributed file system which supports atomic transactions. Alpine was built to aid database research efforts at Xerox PARC; but, once available and reliable, Alpine also became a general-purpose file server for the utilitarian storage of databases, documents, and programs. It is written in Cedar, an advanced PARC programming language and support environment.

The paper is particularly interesting for three reasons: (1) Alpine was built to assist other research and was not itself a research effort per se. It thus exhibits the robustness of careful engineering: its builders, reducing theory to practice, had to make the hard decisions which can be deferred when experimenting and prototyping. Alpine works. (2) Despite a conservative design, Alpine inherits unusual and curious properties from Cedar, an efficient, strongly typed compiled language running on specialized PARC hardware. Helpful Cedar features included garbage collection, lightweight processes, remote procedure calls, run-time type discrimination, and package interfaces kept distinct from their implementations. (3) Alpine differs from most server file systems in two respects: atomic file update is supported using a redo log, rather than shadow pages; and client access is provided through Cedar’s Remote Procedure Call (RPC) facility--which exports a locally transparent package interface--rather than through a communications protocol.

The paper contains eight sections: 1–3 describe Alpine’s background, motivations, and goals; 4 discusses the two guiding design choices (the use of logs and RPC); 5 and 6 present Alpine’s interfaces and implementation; 7 assesses system results and performance; 8 reviews Cedar’s influence. The interface and implementation sections (5 and 6) are useful but unclear; they read like lightly edited program documentation. Nevertheless, the paper as a whole is plausible and enlightening. Alpine tests a key design strategy: placing support for atomic transactions within the file system rather than in file system clients. This approach offers both conceptual and practical benefits, including Alpine’s tenfold performance improvement over its predecessor.

The paper will be of interest to scholars, and it is quite important for implementors of database systems, file servers, operating systems, and distributed applications.

Reviewer:  T. R. Hanson Review #: CR110953
Bookmark and Share
 
Alpine (D.4.0 ... )
 
 
Backup Procedures (D.4.5 ... )
 
 
Cedar (D.3.2 ... )
 
 
Checkpoint/ Restart (D.4.5 ... )
 
 
Distributed Databases (H.2.4 ... )
 
 
Distributed Systems (D.4.7 ... )
 
  more  
Would you recommend this review?
yes
no

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy