Efficient NFS caches are particularly useful in order to increase the scalability of a distributed NFS environment as a whole. In this paper, we will apply graybox techniques and build a NFS cache that can intelligently remove blocks from its cache, instead of simply relying on a global replacement policy. The cache can do this by inferring from the NFS network traffic which data the NFS client is caching. The space saved in removing this data can then be used to store other data a client may request, thereby increasing the overall utility of the caches. It is our goal that this "middlebox cache" will have as little overlap as possible with the client cache. While we have had some success in applying these graybox techniques to reduce the cache overlap, we feel more work needs to be done in order to obtain results needed for these ideas to be adopted in NFS environments on a wide scale
Available as: Postscript or PDF
Click here to download our software.