High-Speed NFS

Ivo Sele

Diploma Thesis Winter 1998/99
Supervisors: F. Rauch, Prof. T. Stricker
Institute for Computer Systems, ETH Zürich


Due to the constantly increasing performance of standard PCs, we can observe a growing interest in Clusters of PCs (CoPs). The distributed file system, which provides access to most of the data is an important part of a CoPs. Often the Network File System (NFS) is used for this purpose. With the NFS implementation in Linux modern PCs are far from being able to fully take advantage of modern high-speed networks like Gigabit Ethernet. The main reason is that the improvement in local area network bandwidth achieved in recent years is far greater than the increase in memory bandwidth of computers.

In this thesis we analyze the performance of NFS for CoPs running the Linux operating system to show improvement possibilities. Because the implementation of the underlying network software strongly affects the speed of data transfers via NFS, critical functions within the Linux kernel were instrumented. This allows the processing time for various operations performed during data transfers to be measured. The gathered information is used to locate weak points and bottlenecks. Additionally the effect of different hardware and software configurations on throughput and latency of NFS data transfers was examined.


The measurements of operation times revealed that both the NFS client and server are idle for a large proportion of the time needed for NFS transfers. We came to the conclusion that the flow control algorithm employed by the Linux client for asynchronous requests is one of the main reasons for the relatively low CPU utilization. This should definitely be researched further because finding and eliminating the causes for the large idle times could potentially result in vast performance improvements. We also noticed large fluctuations in the time needed for certain network and file system layer operations and especially in total time for file transfers.

The author can be reached at isele@gmx.net

[ CS-Department | Up ]
ETH Zürich: Department of Computer Science
Comments to Felix Rauch <rauch@inf.ethz.ch>
March 1, 1999