Simplifying Decentralized File Systems Using a Coherent Shared Logical Disk Robert A Shillner Edward W Felten ras@cs.princeton.edu felten@cs.princeton.edu Princeton University Computer Science Department Decentralized ("serverless") distributed file systems scale to large numbers of clients by eliminating central performance bottlenecks. However, previous implementations of decentralized file systems have been complex, requiring multiple in-memory and on-disk data structures to ensure safety and reliability in the presence of failures. To simplify the construction of decentralized file systems, we introduce the coherent shared logical disk. The coherent shared logical disk provides the abstraction of a cache-coherent, fault-tolerant, entry-consistent, shared array of persistent data blocks. To implement a decentralized file system on a multicomputer or network of workstations, each node runs a local file system which stores data in a coherent shared logical disk. Using locking and cache coherence services provided by the shared logical disk, the independent file systems cooperate to provide a decentralized file system. The key feature of this system is the separation of concerns between the two layers. The coherent shared logical disk layer handles the details of communication, caching, locking, coherence and fault tolerance, leaving the file system to handle higher-level entities such as files, directories and inodes. The result is that the local file system itself is simple, closely resembling an ordinary single-node file system. This property contrasts with earlier monolithic implementations, in which the file system handles all aspects of distribution, and which require complex data structures to keep track of system state and guard against node failures. It also contrasts with other shared logical disk systems, which do not provide coherence or locking and thus require these features to be integrated into the higher-level file system. We will describe the design of the coherent shared logical disk and distributed file system, as well as a prototype implementation for the Princeton SHRIMP multicomputer.