Check out the new USENIX Web site.

Implementation and Performance of Application-Controlled File Caching

Pei Cao, Edward W. Felten, and Kai Li
Department of Computer Science
Princeton University
Princeton, NJ 08544 USA


Traditional file system implementations do not allow applications to control file caching replacement decisions. We have implemented two-level replacement, a scheme that allows applications to control their own cache replacement, while letting the kernel control the allocation of cache space among processes. We designed an interface to let applications exert control on replacement via a set of directives to the kernel. This is effective and requires low overhead.

We demonstrate that for applications that do not perform well under traditional caching policies, the combination of good application-chosen replacement strategies, and our kernel allocation policy LRU-SP, can reduce the number of block I/Os by up to 80 , and can reduce the elapsed time by up to 45 . We also show that LRU-SP is crucial to the performance improvement for multiple concurrent applications: LRU-SP fairly distributes cache blocks and offers protection against foolish applications.

Download the full text of this paper in ASCII (52,637 bytes) and POSTSCRIPT (704,127 bytes) form.

To Become a USENIX Member, please see our Membership Information.