User's Guide for the Cache Visualizer

  1. Download a demo for the cache simulator + visualization implemented as a pure Java application
  2. Extract the files into a subdirectory, namely "foo/cacheviz"
  3. Change the path of the Java executable in the "test.bat" or "test.sh"
  4. The only parameter needed for test is "foo.is.bz2", which is the trace data generated from the corresponding "foo.f".
A more advanced visualizer is available upon request through Prof. Erik D'Hollander. Currently we shall distribute it through email with consent that this tool is under the research license of ELIS, Ghent University. Major new features include:
  1. Faster cache simulation has been re-implemented in C++ which links directly with the instrumentation tools in the FPT or the ORC compilers. The profiler has been successfully preparing data for the runtime loop dependence analyzer, the reuse distance simulator and also the cache simulator. (Kristof and Yijun)
  2. Thus the raw trace file is not necessary now. The trace is preprocessed by the C++ cache simulator to get the simulation result into a trace file into plain text, then processed through Perl script into XML. The Java application consumes the XML file to show the graphics. (Yijun)
  3. The Java application places focus on the graphic features for both Trace and Histogram views, such as Zooming, Filtering, Overlapping, and hyperlink back to the exact hotspots in an editor of the original source code. The GUI is implemented in JDK/Swing. (Bart and Yijun)
  4. A still faster presentation is made through Eclipse/SWT as a resource plugin, see the recent presentation for thesis defense of Joachim Vermeir (in Dutch) for a glimpse of the latest development. Charts has been integrated to visualize performance counters (Joachim, Kristof and Yijun)
A more recent development to visualizing cache behavior is hosted by Kristof Beyls as the reuse distance visualizer. The new tool is able to analyze the platform-independent reuse distance metric to pinpoint the capacity miss behavior for program executions.
Erik D'Hollander
Kristof Beyls
Bart Kerkhof
Joachim Vermeir
Yijun Yu