In this paper, we propose a new paradigm for network file system design,
serverless network file systems. While traditional network file systems rely on
a central server machine, a serverless system utilizes workstations cooperating
as peers to provide all file system services. Any machine in the system can
store, cache, or control any block of data. Our approach uses this location
independence, in combination with fast local area networks, to provide better
performance and scalability than traditional file systems. Further, because any
machine in the system can assume the responsibilities of a failed component, our
serverless design also provides high availability via redundant data storage. To
demonstrate our approach, we have implemented a prototype serverless network
file system called xFS. Preliminary performance measurements suggest that our
architecture achieves its goal of scalability. For instance, in a 32-node xFS
system with 32 active clients, each client receives nearly as much read or write
throughput as it would see if it were the only active client.