![]() |
We implemented CacheSim (Figure 7), a framework
which allows us to benchmark various algorithms
for a wide range of cache sizes, real-life traces, and any single and multi-path
hierarchy. CacheSim is instantiated with a given cache size and
one of the following policies: LRU, ARC, DEMOTE-LRU, DEMOTE-ARC,
PROMOTE-LRU, and PROMOTE-ARC. One instance of CacheSim simulates one level of
cache in a multi-level cache hierarchy, while communicating to the higher and lower
caches over a TCP/IP network.
The highest level reads requests from a trace file one I/O (size bytes) at a time, with no thinktime, while the lowest level simulates disk responses with a fixed response time.
Apart from the traditional read interfaces, CacheSim also implements two special interfaces:
CacheSim simulates the following realistic
roundtrip response times for storage system hierarchies (based on our knowledge):
For two-level scenarios: =
ms,
=
ms,
=
.
For three-level scenarios:
=
ms,
=
ms,
=
ms,
=
ms. The results in this paper are applicable for any set of values where
.