Skip to content
🍁 MAPLE: Memory Access ProfiLEr
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
heatmap.png
heatmap_ocean_ncp.png
hrc.png
hrc_ocean_ncp.png
makefile
makefile.config
makefile.debug.rules
makefile.default.rules
makefile.rules
makefile.tmpl
makefile.unix.config
maple.cpp
unix.vars

README.md

🍁 MAPLE: Memory Access ProfiLEr

MAPLE is a Pin-based profiler to provide dumping memory access traces of applications at page-level. Currently, it records the accessed virtual page number, timestamp and r/w.

The supported output format is only csv at the moment; binary and vscsi will be added soon.

MAPLE has a built-in LRU cache helping to eliminate redundant items which may get answered by front layer caches.

[1] Install the Pin tool on your Linux machine. Download, unpack a kit and cd to the directory.

$ tar zxf pin-3.2-81205-gcc-linux.tar.gz
$ cd pin-3.2-81205-gcc-linux

[2] Clone the MAPLE! 🍁

$ git clone https://github.com/0xreza/maple-profiler.git

[3] Make the module:

$ cd maple-profiler
$ make obj-intel64/maple.so TARGET=intel64

[4] Run the experiment:

$ pin -t obj-intel64/maple.so -- [target_program]

[5] Feed your trace into Mimircache!. Get insightful heat-maps and hit-ratio curves!


Example:
mimircache maple hit-ratio curve mimircache maple heatmap
plotted using traces gathered from PARSEC, ocean_ncp benchmark.
mimircache maple hit-ratio curve mimircache maple heatmap
plotted using traces gathered from PARSEC, streamcluster benchmark.

Work in Progress

  • Supporting compact output formats
  • Supporting spatio/temporal sampling

Credits

Maple is released on public domain under GPLv3, created by Reza Karimi, PhD student at SimBioSysLab, Emory University, interning at INESC-ID, Lisbon (Summer 2018)! with invaluable help of (and base code from) David Gureya (PhD student at Instituto Superior Técnico); and coaching by Joao Barreto, my internship advisor.

Contributions and suggestions are welcome!

You can’t perform that action at this time.