Aleksey Pesterev, Nickolai Zeldovich, Robert T. Morris

DProf is a statistical profiler that helps programmers understand cache miss costs by attributing misses to data types instead of code.


Locating Cache Performance Bottlenecks Using Data Profiling Abstract  BibTeX  PDF
Aleksey Pesterev, Nickolai Zeldovich, and Robert T. Morris. In the Proceedings of the ACM EuroSys Conference (EuroSys 2010), Paris, France, April 2010.


Beware that the code is rough and it may not work on your machine. This code requires an AMD processor with IBS support.

$ git clone https://pdos.csail.mit.edu/dprof/dprof-linux.git
This is the Linux kernel to be used with DProf. The repository is composed of multiple branches; each branch contains changes to make data collection possible. The master branch is a merge of all branches. The .config we use is also available from the mosbench page.
$ git clone https://pdos.csail.mit.edu/dprof/slab_data_profile.git
This module allows DProf to collect IBS samples annotated with type information.
$ git clone https://pdos.csail.mit.edu/dprof/object_flow_profile.git
This module allows DProf to collect the set of instructions that access a particulars kernel object.
$ git clone https://pdos.csail.mit.edu/dprof/dprof.git
This is a set of Ruby scripts to aggregate the collected data.