UCSC-CRL-03-02: The Multicache Simulation Environment Version 1.0 Reference Manual

06/02/2003 09:00 AM
Computer Science
Multicache is a trace-driven cache simulator developed to make the design, analysis, and comparison of cache replacement algorithms in multi-level caching systems practical. To make the simulator generic and flexible architectural specifics (such as those found in processor caches) or protocol (HTTP, TCP/IP) details were excluded. The simulator is best for quick implementation, analysis and comparison of new cache replacement algorithms that deal with web-proxy objects, file system files, disk blocks, memory pages, and other fixed or variable size objects. The simulator is easy to learn and expand. It provides many building blocks for wellknown replacement algorithms (LRU, LFU), space management routines, container data structures, and simple topologies. Topologies like client-server, server-storage pairs, web proxy hierarchies, and peer-to-peer networks can be implemented. Modern caching related concepts such as using heterogeneous algorithms, filtering effects, demotions are also evaluated. The structure of the simulator allows multiple algorithms to have control over one cache space, allowing adaptive techniques to be tested. The code is open source and is written in C++.