SDI Seminar

Speaker: Geoffrey M. Voelker, University of Washington

Date: April 29, 1999
Time: Noon
Place: Hammerschlag Hall 1112

Cooperative Caching in Local-Area and Wide-Area Networks


Cooperative caching systems manage a set of distributed caches as a single, global resource. Managed globally, these caches can be significantly more effective than the collection of independently operated caches. In this talk, I will describe work on cooperative caching systems for two interesting, although fundamentally different, network domains: workstation clusters and the Internet.

In the workstation cluster environment, the cooperative caching system manages the primary memories of all cluster nodes, providing a cluster-wide cache for virtual memory and file data. When there is idleness in the cluster, processes running on active nodes can use the memories of idle nodes as a new level of backing store, instead of (or in addition to) the local disk. With network speeds greatly outpacing disk speeds, a fault handled over the network from such a "remote memory" can be up to 50 times faster than a local disk fault. Even with this difference, however, some applications remain heavily I/O bound. In the first half of this talk, I will describe the design and implementation of a new system that combines cooperative caching with file prefetching to further reduce the disk I/O bottleneck for these applications.

In the context of the Web, the standard mechanism for improving performance is the proxy cache, which sits between multiple clients and the Internet. A number of wide-area cooperative proxy caching systems have been proposed in an attempt to improve the cache performance. However, the effectiveness of such schemes ultimately depends upon the degree of document sharing among clients, as well as the cost of communication among proxies. In the second half of the talk, I will describe a study of document sharing among clients that we have conducted to understand the potentials of proxy cache organizations. The study is based on traces of Web traffic from all clients in the University of Washington to servers in the Internet that we have been collecting since October, 1998. I will present initial results of UW as a case study for cooperative Web caching, and will describe the implications of scaling cooperative Web caching systems to millions of clients.


Geoff Voelker is pursuing a PhD in Computer Science at the University of Washington. His research interests include distributed systems, binary rewriting systems, and mobile computing. He received a BS in Electrical Engineering and Computer Science from the University of California at Berkeley in 1992, and a Masters Degree in Computer Science and Engineering from the University of Washington in 1995. When not squashing bugs in NT Emacs, he enjoys soccer, backpacking, running, and mountain climbing.