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.