mimircache: a cache trace analysis platform — mimircache 0.0.2.69 documentation

# mimircache: a cache trace analysis platform

Release v0.0.2.69.

Welcome to the documentation of mimircache, a python3 cache trace analysis platform.

The power of mimircache::

      >>> import mimircache as m
      >>> c = m.cachecow()
      >>> c.open("trace.txt")
      >>> p = c.profiler('LRU')
      >>> p.get_reuse_dist()
      [-1 -1 -1 -1 -1 -1 11  7 11  8  8  8 -1  8]
      >>> p.plotMRC()
      >>> c.heatmap('r', "hit_rate_start_time_end_time", time_interval=10000000)

An example of MRC plot and hit rate heatmap.

## The User Guide

- Introduction
  - Our progress on mimircache
- Installation
  - General Installation(Pip)
  - Install From Source
  - Special Instructions for Installing on Ubuntu
- Quick Start
  - Get Prepared
  - Open Trace File
  - Get Basic Statistics
- How to Open Different Traces
  - Supported Trace File Type
  - How to Open a Trace File
- Get Profiler/Do Profiling
  - Profiling with LRU
  - Profiling with non-LRU
- Basic Plotting
  - Basic Plotting
  - Hit Ratio Curve Plotting
- Heatmap Plotting
  - Plotting Heatmaps
  - Plotting Differential Heatmaps
- Algorithms
- Advanced Usages
  - mimircache and its components
  - Write your own cacheReader
  - Write your own cache replacement algorithm
- API

## Supported Features

- Cache replacement algorithms simulation and trace visualization.
- A variety of cache replacement algorithms support, including LRU, LFU, MRU, FIFO, Clock, Random, ARC, SLRU, optimal and etc.
- Hit/miss ratio curve(HRC/MRC) plotting.
- Efficient reuse distance calculation for LRU.
- Heatmap plotting for visulizing hit/miss ratio change over time, average reuse distance over time, etc.
- Reuse distance distribution plotting.
- Cache replacement algorithm comparison.

## Customization

Now you can customize mimircache to fit your own need, you can

- provide your own cache reader for reading your special cache trace files.
- write your own profiling method for different cache replacement algorithms.
- write a middleware for sampling your cache traces for analysis.

# Indices and tables

- Index
- Module Index
- Search Page