M. D. Dahlin, C. J. Mather, R. Y. Wang, T. E. Anderson, D. A. Patterson. A Quantitative Analysis of Cache Policies for Scalable Network File Systems. Proc. 1994 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems pp. 150-160. May 1994. Also appeared as University of California Technical Report CSD-94-798.
Current network file system protocols rely heavily on a central server to coordinate file activity among client work stations. This central server can become a bottleneck that limits scalability for environments with large numbers of clients. In central server systems such as NFS and AFS, all client writes, cache misses, and coherence messages are handled by the server. To keep up with this workload, expensive server machines are needed, configured with high-performance CPUs, memory systems, and I/O channels. Since the server stores all data, it must be physically capable of connecting to many disks. This reliance on a central server also makes current systems inappropriate for wide area network use where the network bandwidth to the server may be limited. In this paper, we investigate the quantitative performance effect of moving as many of the server responsibilities as possible to client workstations to reduce the need for high-performance server machines. We have devised a cache protocol in which all data reside on clients and all data transfers proceed directly from client to client. The server is used only to coordinate these data transfers. This protocol is being incorporated as part of our experimental file system, xFS. We present results from a trace-driven simulation study of the protocol using traces from a 237 client NFS installation. We find that the xFS protocol reduces server load by more than a factor of six compared to AFS without significantly affecting response time or file availability.