Frangipani: a Scalable Distributed File System

Frangipani: a Scalable Distributed File System

Frangipani: A Scalable Distributed File System Chandramohan A. Thekkath Timothy Mann Edward K. Lee Systems Research Center Digital Equipment Corporation 130 Lytton Ave, Palo Alto, CA 94301 Abstract Frangipani is a new scalable distributed file system that manages a collection of disks on multiple machines as a single shared pool The ideal distributed file system would provide all its users with co- of storage. The machines are assumed to be under a common herent, shared access to the same set of files,yet would be arbitrarily administration and to be able to communicate securely. There have scalable to provide more storage space and higher performance to been many earlier attempts at building distributed file systems that a growing user community. It would be highly available in spite of scale well in throughput and capacity [1, 11, 19, 20, 21, 22, 26, component failures. It would require minimal human administra- 31, 33, 34]. One distinguishing feature of Frangipani is that it has tion, and administration would not become more complex as more a very simple internal structure—a set of cooperating machines components were added. use a common store and synchronize access to that store with Frangipani is a new file system that approximates this ideal, yet locks. This simple structure enables us to handle system recovery, was relatively easy to build because of its two-layer structure. The reconfiguration, and load balancing with very little machinery. lower layer is Petal (described in an earlier paper), a distributed Another key aspect of Frangipani is that it combines a set of features storage service that provides incrementally scalable, highly avail- that makes it easier to use and administer Frangipani than existing able, automatically managed virtual disks. In the upper layer, file systems we know of. multiple machines run the same Frangipani file system code on top of a shared Petal virtual disk, using a distributed lock service to 1. All users are given a consistent view of the same set of files. ensure coherence. 2. More servers can easily be added to an existing Frangipani Frangipani is meant to run in a cluster of machines that are under installation to increase its storage capacity and throughput, a common administration and can communicate securely. Thus the without changing the configuration of existing servers, or machines trust one another and the shared virtual disk approach is interrupting their operation. The servers can be viewed as practical. Of course, a Frangipani file system can be exported to “bricks” that can be stacked incrementally to build as large a untrusted machines using ordinary network file access protocols. file system as needed. We have implemented Frangipani on a collection of Alphas running DIGITAL Unix 4.0. Initial measurements indicate that 3. A system administrator can add new users without concern Frangipani has excellent single-server performance and scales well for which machines will manage their data or which disks as servers are added. will store it. 4. A system administrator can make a full and consistent backup 1 Introduction of the entire file system without bringing it down. Backups can optionally be kept online, allowing users quick access to File system administration for a large, growing computer installa- accidentally deleted files. tion built with today’s technology is a laborious task. To hold more 5. The file system tolerates and recovers from machine,network, files and serve more users, one must add more disks, attached to and disk failures without operator intervention. more machines. Each of these components requires human admin- istration. Groups of files are often manually assigned to particular Frangipani is layered on top of Petal [24], an easy-to-administer disks, then manually moved or replicated when components fill distributed storage system that provides virtual disks to its clients. up, fail, or become performance hot spots. Joining multiple disk Like a physical disk, a Petal virtual disk provides storage that can drives into one unit using RAID technology is only a partial so- be read or written in blocks. Unlike a physical disk, a virtual lution; administration problems still arise once the system grows disk provides a sparse 264 byte address space, with physical stor- large enough to require multiple RAIDs and multiple server ma- age allocated only on demand. Petal optionally replicates data for chines. high availability. Petal also provides efficient snapshots [7, 10] to support consistent backup. Frangipani inherits much of its scala- Permission to make digital/hard copy of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed bility, fault tolerance, and easy administration from the underlying for profit or commercial advantage, the copyright notice, the title of the publication storage system, but careful design was required to extend these and its date appear, and notice is given that copying is by permission of ACM, Inc. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires properties to the file system level. The next section describes the prior specific permission and/or a fee. structure of Frangipani and its relationship to Petal in greater detail. User User User program program program User programs User programs Frangipani Frangipani file server file server File system switch File system switch Distributed Frangipani Frangipani Petal lock service file server module file server module distributed virtual disk service Petal Petal device driver device driver Physical disks Network Figure 1: Frangipani layering. Several interchangeable Frangi- pani servers provide access to one set of files on one Petal virtual disk. Petal virtual disk Figure 1 illustrates the layering in the Frangipani system. Multi- Lock Lock Lock ple interchangeable Frangipani servers provide access to the same server server server Petal Petal Petal files by running on top of a shared Petal virtual disk, coordinat- server server server ing their actions with locks to ensure coherence. The file system layer can be scaled up by adding Frangipani servers. It achieves fault tolerance by recovering automatically from server failures and continuing to operate with the servers that survive. It provides improved load balancing over a centralized network file server by splitting up the file system load and shifting it to the machines that are using the files. Petal and the lock service are also distributed for scalability, fault tolerance, and load balancing. Figure 2: Frangipani structure. In one typical Frangipani con- Frangipani servers trust one another, the Petal servers, and the figuration, some machines run user programs and the Frangipani lock service. Frangipani is designed to run well in a cluster of file server module; others run Petal and the distributed lock ser- workstations within a single administrative domain, although a vice. In other configurations, the same machines may play both Frangipani file system may be exported to other domains. Thus, roles. Frangipani can be viewed as a cluster file system. We have implemented Frangipani under DIGITAL Unix 4.0. Due to Frangipani’s clean layering atop the existing Petal service, are immediately visible on all others. Programs get essentially the we were able to implement a working system in only a few months. same semantic guarantees as on a local Unix file system: changes Frangipani is targeted for environments with program develop- to file contents are staged through the local kernel buffer pool ment and engineering workloads. Our tests indicate that on such and are not guaranteed to reach nonvolatile storage until the next workloads, Frangipani has excellent performance and scales up to applicable fsync or sync system call, but metadata1 changes the limits imposed by the network. are logged and can optionally be guaranteed non-volatile by the time the system call returns. In a small departure from local file 2 System Structure system semantics, Frangipani maintains a file’s last-accessed time only approximately, to avoid doing a metadata write for every data Figure 2 depicts one typical assignment of functions to machines. read. The machines shown at the top run user programs and the Frangi- The Frangipani file server module on each machine runs within pani file server module; they can be diskless. Those shown at the the operating system kernel. It registers itself with the kernel’s file bottom run Petal and the distributed lock service. system switch as one of the available file system implementations. The components of Frangipani do not have to be assigned to The file server module uses the kernel’s buffer pool to cache data machines in exactly the way shown in Figure 2. The Petal and from recently used files. It reads and writes Petal virtual disks using Frangipani servers need not be on separate machines; it would the local Petal device driver. All the file servers read and write the make sense for every Petal machine to run Frangipani as well, same file system data structures on the shared Petal disk, but each particularly in an installation where the Petal machines are not server keeps its own redo log of pending changes in a distinct heavily loaded. The distributed lock service is independent of the section of the Petal disk. The logs are kept in Petal so that when rest of the system; we show one lock server as running on each Petal a Frangipani server crashes, another server can access the log and server machine, but they could just as well run on the Frangipani run recovery. The Frangipani servers have no need to communicate hosts or any other available machines. directly with one another; they communicate only with Petal and the lock service. This keeps server addition, deletion, and recovery simple. 2.1 Components The Petal device driver hides the distributed nature of Petal, As shown in Figure 2, user programs access Frangipani through making Petal look like an ordinary local disk to higher layers of the standard operating system call interface.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us