The paper “Visual Exploration of Memory Traces and Call Stacks” was honoured with the VISSOFT Best Paper Award.

At the software visualization conference VISSOFT, we presented a tool for tracing memory access patterns of arbitrary applications at runtime and then doing post-mortem visual analysis. The purpose of this visualization is to help developers finding hints for optimization of their code regarding memory usage. This is important for many applications in the area of high-performance computing, especially because the gap between processor and memory speeds continues to grow. Thus, memory accesses pose a bottleneck for performance-critical applications.

Analyzing memory accesses in the high-level source code is difficult and requires knowledge about compiler optimizations, vectorization, or different cache layers. At machine code level, it is clearer which instructions access memory. Therefore, we developed a tracing tool based on the DynamoRIO framework to instrument machine code at runtime. We trace not only information such as addresses and sizes of accessed memory, but also function calls to provide source code context to relate memory accesses to user code. The traced information is processed and presented within the MegaMol framework. We depict each individual memory access as a point in a scatterplot with the accessed address plotted over execution time. Here, the difficulty is the 64-bit address range, which exceeds the number of pixels available by several magnitudes. Moreover, the address range is only sparsely occupied. Thus, we use a clustering algorithm to identify empty address ranges, which we collapse in the plot. We decorate the x-axis of the scatterplot, representing execution time, with a flamegraph depicting the call stack evolution. It enables the user to relate individual memory accesses to the source code.

Our tool running on a large, high-resolution display (IEEE copyright).

In summary, our approach shows that access patterns of typical algorithms are clearly visible. Thus, users can reason about the quality of memory usage, such as cache efficiency, of their algorithms, and use our tool to identify opportunities for performance optimization.


Reference:
Gralka, Patrick; Schulz, Christoph; Reina, Guido; Weiskopf, Daniel; Ertl, Thomas: “Visual Exploration of Memory Traces and Call Stacks, 2017 IEEE Working Conference on Software Visualization (VISSOFT), Shanghai, 2017, pp. 54-63.

 

VISSOFT 2017 Best Paper: Visual Exploration of Memory Traces and Call Stacks

Patrick Gralka is a PhD student at the Visualization Research Center at the University of Stuttgart, currently working in the research project SFB 716 D.3 (Visualization of Systems with Large Numbers of Particles). His main research areas are the interactive visualization of large particle systems and the application-specific visual analysis/exploration of datasets from particle-based simulations.

Leave a Reply

Mit dem Eintrag in das nachstehende Feld können Sie unter Angabe eines Namens einen Kommentar hinterlassen.

Personenbezogene Daten
Sie haben die Möglichkeit die Kommentarfunktion ohne Angabe von personenbezogenen Daten unter einem Pseudonym zu nutzen.
Name - Bei dieser Angabe handelt es sich um eine Pflichtangabe. Der von Ihnen gewählte Name wird mit dem von Ihnen verfassten Kommentar veröffentlicht.
E–Mailadresse - Bitte beachten Sie, dass die Angabe Ihrer E–Mailadresse zur Nutzung der Kommentarfunktion nicht erforderlich ist. Auch im Falle einer Eingabe wird die E-Mailadresse nicht verwendet, auch nicht veröffentlicht. Bitte lassen Sie dieses Feld unausgefüllt.
Webseite - Die Angabe Ihrer Webseite ist freiwillig. Die von Ihnen angegebene Webseite wird zusammen mit Ihrem Kommentar veröffentlicht.

Nach den §§ 21, 22 LDSG haben Sie das Recht, auf Antrag unentgeltlich Auskunft über die von der Universität Stuttgart und Universität Konstanz über Sie gespeicherten Daten zu erhalten und bei unrichtig gespeicherten Daten deren Berichtigung zu verlangen (Auskunfts- und Berichtigungsrecht). Ein Auskunfts- oder Berichtigungsersuchen richten Sie bitte schriftlich an die Geschäftsstellen des SFB-TRR 161 an der Universität Stuttgart (E-Mail: sfbtrr161[at]visus.uni-stuttgart.de) bzw. der Universität Konstanz (E-Mail: sfbtrr161[at]uni-konstanz.de).