Cooperative caching in local-area and wide-area networks
Voelker, Geoffrey Michael, 1970-
MetadataShow full item record
This dissertation extends cooperative caching systems in three new directions: (1) I study the performance tradeoffs of using load balancing techniques to reduce the contention of remote page requests at memory servers, (2) I develop a novel combined prefetching and cooperative caching system to further reduce disk stall time for I/O-bound applications, and (3) I explore the effectiveness of using cooperative caching techniques among World Wide Web proxy caches at large-scale client populations. I use analytic, simulation, and measurement techniques to explore the performance of these new directions in cooperative caching systems.First, I develop an analytic queueing network model to evaluate the effectiveness of load balancing memory requests, and then use trace-driven simulation to study the potential harm of deviating from the replacement policy when balancing load. I find that deviating from the strict replacement policy does not significantly degrade overall application performance. Based upon these results, I conclude that cooperative caching systems can benefit considerably from load balancing requests with little harm from suboptimal replacement decisions.Second, I present the design of a combined cooperative prefetching and caching algorithm and its implementation in a prototype system called Prefetching Global Memory System (PGMS). I measure the performance of the PGMS implementation on a workstation cluster using both synthetic and real application benchmarks and conclude that, by using available global memory, disk, and CPU resources, cooperative prefetching and caching can obtain significant speedups for I/O-bound programs.Lastly, I introduce a novel analytic model of Web accesses to explore the effectiveness of cooperative caching among World Wide Web proxies. This model evaluates the steady-state performance of proxy caches based upon server, object popularity, and document modification distributions. I use the model to evaluate cooperative Web proxy caching at population sizes that range from a single organization to millions of clients, explore the tradeoffs among various cooperative caching schemes, and speculate on the performance implications of future trends in Web workloads. Overall, I demonstrate that the utility of cooperative Web proxy caching is most effective among groups of small organizations, and only marginally useful for very large client populations.