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