Petal/Frangipani Petal Frangipani NFS Untrusted OS-agnostic FS semantics Sharing/coordination Disk aggregation (“bricks”) Filesystem-agnostic Recovery and reconfiguration Load balancing Chained declustering Snapshots Does not control sharing Each “cloud” may resize or reconfigure independently. What indirection is required to make this happen, and where is it?
Remaining Slides The following slides have been borrowed from the Petal and Frangipani presentations, which were available on the Web until Compaq SRC dissolved. This material is owned by Ed Lee, Chandu Thekkath, and the other authors of the work. The Frangipani material is still available through Chandu Thekkath’s site at www.thekkath.org.www.thekkath.org For CPS 212, several issues are important: Understand the role of each layer in the previous slides, and the strengths and limitations of each layer as a basis for innovating behind its interface (NAS/SAN). Understand the concepts of virtual disks and a cluster file system embodied in Petal and Frangipani. Understand the similarities/differences between Petal and the other reconfigurable cluster service work we have studied: DDS and Porcupine. Understand how the features of Petal simplify the design of a scalable cluster file system (Frangipani) above it. Understand the nature, purpose, and role of the three key design elements added for Frangipani: leased locks, a write-ownership consistent caching protocol, and server logging for recovery.
5 Petal: Distributed Virtual Disks Systems Research Center Digital Equipment Corporation Edward K. Lee Chandramohan A. Thekkath 4/26/2015
6 Logical System View /dev/vdisk1/dev/vdisk2/dev/vdisk3 /dev/vdisk4/dev/vdisk5 AdvFSNT FS PC FSUFS Scalable Network Petal
7 Physical System View Scalable Network Petal Server Parallel Database or Cluster File System /dev/shared1
8 Virtual Disks Each disk provides 2^64 byte address space. Created and destroyed on demand. Allocates disk storage on demand. Snapshots via copy-on-write. Online incremental reconfiguration.
9 Virtual to Physical Translation PMap0 vdiskID offset (disk, diskOffset) PMap1 Virtual Disk Directory GMap PMap2PMap3 (server, disk, diskOffset) (vdiskID, offset) Server 0Server 1Server 2Server 3
10 Global State Management Based on Leslie Lamport’s Paxos algorithm. Global state is replicated across all servers. Consistent in the face of server & network failures. A majority is needed to update global state. Any server can be added/removed in the presence of failed servers.
12 Data Placement & Redundancy Supports non-redundant and chained-declustered virtual disks. Parity can be supported if desired. Chained-declustering tolerates any single component failure. Tolerates many common multiple failures. Throughput scales linearly with additional servers. Throughput degrades gracefully with failures.
18 Virtual Disk Reconfiguration 6 servers 8 servers virtual disk w/ 1GB of allocated storage 8KB reads & writes
Frangipani: A Scalable Distributed File System C. A. Thekkath, T. Mann, and E. K. Lee Systems Research Center Digital Equipment Corporation
Why Not An Old File System on Petal? Traditional file systems (e.g., UFS, AdvFS) cannot share a block device The machine that runs the file system can become a bottleneck
Frangipani Behaves like a local file system multiple machines cooperatively manage a Petal disk users on any machine see a consistent view of data Exhibits good performance, scaling, and load balancing Easy to administer
Ease of Administration Frangipani machines are modular can be added and deleted transparently Common free space pool users don’t have to be moved Automatically recovers from crashes Consistent backup without halting the system
Components of Frangipani File system core implements the Digital Unix vnode interface uses the Digital Unix Unified Buffer Cache exploits Petal’s large virtual space Locks with leases Write-ahead redo log
Locks Multiple reader/single writer Locks are moderately coarse-grained protects entire file or directory Dirty data is written to disk before lock is given to another machine Each machine aggressively caches locks uses lease timeouts for lock recovery
Logging Frangipani uses a write ahead redo log for metadata log records are kept on Petal Data is written to Petal on sync, fsync, or every 30 seconds on lock revocation or when the log wraps Each machine has a separate log reduces contention independent recovery
Recovery Recovery is initiated by the lock service Recovery can be carried out on any machine log is distributed and available via Petal