Skip to content

cacheMon/cache_mrc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Cache MRC

Cache Miss Ratio Curves (MRC) is a tool to generate MRCs for a given cache configuration. The tool is implemented in Rust and can be built using Cargo.

To enhance simulation performance, we implemented the SHARDS idea, which applies sampling techniques to both the data stream and cache size.

Make sure you have installed Rust and Cargo. If not, please follow the instructions here.

Install gnuplot, which is used to generate the MRC graph.

# Ubuntu
sudo apt install gnuplot
# MacOS
brew install gnuplot

Running the MRC Generator

You can run the MRC Generator using either a configuration file or command-line arguments.

Using a Configuration File

cargo run -r -- --config-file config.toml

Using Command Line Arguments

cargo run -r -- --trace "./data/twitter_cluster52.csv" --output "./twitter_52_mrc.png" --policies lru,fifo --sample-rate 0.01 --cache-size=10mb --timestamp 0 --key 1 --size 2

Options

  • --trace: Path to the input trace file
  • --output: Path for the output MRC graph
  • --policies: Comma-separated list of cache policies to evaluate (Currently only LRU and FIFO are supported)
  • --sample-rate: Sampling rate
  • --cache-size: Maximum cache size to simulate

Followings are the column indices in the trace file.

  • -1: means use the default value, the column may be missing in the trace file
  • other: Column index for the column to use

Roadmap

  • Implement the basic MRC generation tool
  • Incorporate sampling method based on SHARDS
  • Add compatibility with more trace file formats (e.g., bin, vscsi)
  • Add support for large trace files (e.g., 100GB+), chunk the trace file and process it in parallel
  • Expand support for additional cache policies (e.g., LFU, TwoQueue)
  • Optimize the performance of simulating large cache sizes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages