The Linux NFS client suffers from poor performance. As Linux has become
more popular, its primitive NFS client implementation has outgrown its
usefulness. We describe numerous enhancements to the Linux NFS client
that improve performance. Specifically, we discuss better lookup and
attribute caching, asynchronous writing of data, and local disk caching
of data file reads. We describe our implementation, and benchmark its
performance against both the existing stable Linux NFS client and the
local-disk filesystem,
ext2fs. Our implementation outperforms
the 2.0.x kernel's NFS client in all but one benchmark, and improves on
the basic client by up to a factor of 14 when reading from files that
are cached locally.