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.
Publications
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.
Effective use of CPU data caches is critical to good performance, but
poor cache use patterns are often hard to spot using existing execution
profiling tools. Typical profilers attribute costs to specific code
locations. The costs due to frequent cache misses on a given piece of
data, however, may be spread over instructions throughout the
application. The resulting individually small costs at a large number of
instructions can easily appear insignificant in a code profiler's output.
DProf helps programmers understand cache miss costs by attributing misses
to data types instead of code. Associating cache misses with data helps
programmers locate data structures that experience misses in many places
in the application's code. DProf introduces a number of new views of
cache miss data, including a data profile, which reports the data types
with the most cache misses, and a data flow graph, which summarizes how
objects of a given type are accessed throughout their lifetime, and which
accesses incur expensive cross-CPU cache loads. We present two case
studies of using DProf to find and fix cache performance bottlenecks in
Linux. The improvements provide a 16--57% throughput improvement on a
range of memcached and Apache workloads.
Software
- Linux Patches
- Coming Soon
- Set of Analysis Tools
- Coming Soon