Given the increasing performance of network connections and the slow nature of disk drives, the authors propose a new file system for web proxy servers that cache files on a local disk. This file system, referred to as the cache file system (CFS), utilizes the facts that cached web pages do not change in size once they are cached, do not have changing permissions, and do have a back-up version at the original server. Immutable files allow all data in a file to be written in contiguous blocks on disk. Reading and writing to contiguous blocks allows the best utilization of a disk’s bandwidth and results in the lowest possible seek times. The fact that all data is backed up on remote disks allows CFS to store all meta information in memory and not checkpoint. Should the system crash and this data be lost, users will still get the correct data – it will just be coming from the remote server until the cache is reloaded. By taking advantage of these invariants, CFS is able to out perform a Unix file system by at least 50% on several benchmarks.
[1]
Robbert van Renesse,et al.
Amoeba A Distributed Operating System for the 1990 s Sape
,
1990
.
[2]
R. S. Fabry,et al.
A fast file system for UNIX
,
1984,
TOCS.
[3]
Calton Pu,et al.
Optimistic incremental specialization: streamlining a commercial operating system
,
1995,
SOSP.
[4]
Li Fan,et al.
Summary cache: a scalable wide-area web cache sharing protocol
,
2000,
TNET.
[5]
Mendel Rosenblum,et al.
The design and implementation of a log-structured file system
,
1991,
SOSP '91.
[6]
Robbert van Renesse,et al.
The design of a high-performance file server
,
1989,
[1989] Proceedings. The 9th International Conference on Distributed Computing Systems.