Cuckoo: Layered clustering for NFS
Carnegie Mellon School of Computer Science Technical Report CMU-CS-02-183, October 2002.
Andrew J. Klosterman, Gregory Gangerhttp://www.pdl.cmu.edu/
Layered clustering allows unmodified distributed file systems to enjoy many of the benefits of cluster-based file ser-vices. By interposing between clients and servers, layered clustering requires no changes to clients, servers, or the client-server protocol. Cuckoo demonstrates one particular use of layered clustering: spreading load among a set of otherwise independent NFS servers. Specifically, Cuckoo replicates frequently-read, rarely-updated files from each server onto others. When one server has a queue of requests, read requests to its replicated files are offloaded to other servers. No client-server protocol changes are involved. Sitting between clients and servers, the Cuckoo interposer simply modifies selected fields of NFS requests and responses. Cuckoo provides this load shedding with about 2000 semicolons of C code. Further, analyses of NFS traces indicate that replicating only 1000 - 10,000 objects allows 42 - 77% of all operations to be offloaded.