- a high-performance cache simulator for running cache simulations.
- runs in 2-Level so can set different replacement algorithm and cache size for each level.
libCachesim supports the following algorithms:
- FIFO, LRU, Clock, SLRU
- LFU, LFU with dynamic aging
- ARC, TwoQ
- Belady, BeladySize
- GDSF
- Hyperbolic
- LeCaR
- Cacheus
- LHD
- LRB
- GLCache
- WTinyLFU
- QD-LP
- S3-FIFO
- Sieve
We provide some scripts for quick installation of libCacheSim.
cd scripts && bash install_dependency.sh && bash install_libcachesim.shcmake recommends out-of-source build, so we do it in a new directory:
git clone https://github.com/gws8820/2-Level-libCacheSim
pushd libCacheSim
mkdir _build && cd _build
cmake .. && make -j
[sudo] make install
popdAfter building and installing libCacheSim, cachesim should be in the _build/bin/ directory.
./bin/cachesim trace_path trace_type l1_eviction_algo l1_cache_size l2_eviction_algo l2_cache_size
use ./bin/cachesim --help to get more information.
# Note that no space between the cache size and the unit, and the unit is not case-sensitive
./bin/cachesim ../data/trace.vscsi vscsi lru 128mb fifo 1gbThis project uses libCacheSim developed by 1a1a11a.
See LICENSE for details.