C:\IBM\CONF_PAPERS\Distributed Proxy Cash Cluster Optimization Simulation System_WMAN_04.doc Page 1 11/10/2003 1:25 PM Distributed Proxy Cash Cluster Optimization Simulation System Khaled E. A. Negm Etisalat College of Engineering Sharjah, POB 980 UAE Abstract We consider the problem of proxy cache management in a demand paging different scenarios that run different caching algorithms. We build a simulation system for benchmarking different proxy cluster algorithms. This is in order to test several different pruning methods and parameters to find the optimal parameters for controlling the cache proxy systems. We tested several pruning algorithms from the literature as well as the traditional Least Recently Used and Least Frequently Used and found that under certain conditions, these algorithms show better results than the Least Recently Used and Least Frequently Used methods. We aimed at trying to find the optimal combination of each pruning method along with its pruning parameters. 1. Introduction The gap between CPU speeds and the speed of the technologies providing the data is increasing. As a result, latency and bandwidth to needed data is limited by the performance of the storage devices and the networks that connect them to the CPU. Distributed caching techniques are often used to reduce the penalties associated with such caching; however, such techniques need further development to be truly integrated into the network. Web proxy caches are used to improve performance of the WWW. Since the majority of Web documents are static documents, caching them at WWW proxies reduces both network traffic and request response time. One of the keys to better proxy cache performance is an efficient caching policy which intends to keep in the cache popular documents and replace rarely used ones. The first level cache is usually built into the browser, which allocates a small amount of memory and disk space to store frequently accessed documents. A second level cache is provided by caching proxy servers which retrieve documents from the original site (or another proxy) on behalf of the client. When a proxy server (assuming it is also a cache server) receives a request for an Internet service, it passes filtering requirements, the proxy server looks in its local cache of previously downloaded Web pages. If it finds the page, it returns it to the proxy administrator without needing to forward the request to the Internet. WWW proxy caching attempts to improve performance in three ways. First, caching attempts to reduce the proxy administrator-perceived latency associated with obtaining Web documents. Second, reducing the service demands on content providers since cache hits need not involve the content provider. Third, lowering transit costs for access providers [1-3]. 2. Cache Replacement Algorithms Table 1 lists some very popular and some recently proposed criteria and the policies that use these criteria to make local replacement decisions. Random, First-In-First-Out (FIFO) and Last-In-First-Out (LIFO) do not require any information about the objects to be replaced. Time, frequency and object size are the most commonly used criteria for local replacement decisions. Least Recently Used (LRU) uses recency of access as the sole criteria for replacement, while Least Frequently Used (LFU) uses frequency or popularity of access. Most Recently Used (MRU) and Most Frequently Used (MFU) are not successful when used alone, but may be beneficial in mixtures of policies. Table 1, shows an extended taxonomy of some existing and current (under development) cache replacement policies. Table 1: Cache Replacement Algorithms’ Taxonomy criteria algorithm - - time frequency size retrieval Random, FIFO, LIFO LRU, MRU, GDS, GDSF, LFUDA LFU, MFU, GDSF, LRV, LFUDA SIZE, GDS, GDSF, LRV GDS, GDSF, LFUDA