Skip to content

Cache Performance Insight is a framework designed to evaluate the performance of different cache policies with different workloads and configurations.

License

Notifications You must be signed in to change notification settings

liyunfan1223/cache-performance-insight

Repository files navigation

Cache Performance Insight

Cache Performance Insight is a framework designed to evaluate the performance of different cache policies with different workloads and configurations.

Build

mkdir build && cd build
cmake .. && make

Usage

./src/main <cache_policy> <buffer_size> <trace_file> <params>?

Example

./src/main -h
usage: ./src/main <cache_policy> <buffer_size> <trace_file> <param_0>
       <cache_policy> -- cache policy in {LRU, LFU, ARC, ARC_2, ARC_3, OPT}
       <buffer_size>  -- buffer size
       <trace_file>   -- path of trace_file
./src/main LRU 65536 ../traces/P1.lis
LRU_CACHE_MANAGER:  buffer_size:65536 hit_count:11011495 miss_count:21043978 hit_rate:34.3514%

Unittest & Coverage

ctest && make coverage

Scripts & Visualization

Install

pip install -r requirement

Run

./scripts/test_runner.py

Find plot in local/plot.png:

TODO

Cache policies

  • LRU
  • LFU
  • ARC
  • OPT
  • ARC-2
  • ARC-3
  • MRF
  • hybrid LRU-LFU
  • ...

Features

  • cmake build
  • unittest & code coverage
  • test scripts
  • result visualization
  • log
  • more parameters (e.g. scales, policies, unique keys)
  • ...

Metrics

  • cache hit rate
  • runtime
  • actual memory allocation
  • concurrency
  • real time cache distribution
  • ...

About

Cache Performance Insight is a framework designed to evaluate the performance of different cache policies with different workloads and configurations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages