Visualizing Dynamic Memory Allocations

We present a visualization tool/or dynamic memory allocation information obtained from instrumenting the runtime allocator used by C programs. The goal of the presented visualization techniques is to convey insight in the dynamic behavior of the allocator. The purpose is to help the allocator designers understand how the performance and working of the allocator depend on the actual allocation scenarios in order to optimize its functionality by decreasing fragmentation and improving response lime. We use an orthogonal dense pixel layout of time versus memory space which can show tens of thousands of allocation events on a single screen. We enhance the basic idea with several new techniques: antialiased metric bars for detecting high and low activity areas; cushion cursors for checking correlations of multiple views; and a view to show correlation between program structure (functions) and memory allocations. The presented techniques are demonstrated on data from a real application.

[1]  Ralph E. Griswold,et al.  The Visualization of Dynamic Memory Management in the Icon Programming Language , 1989 .

[2]  Bowen Alpern,et al.  Visualizing computer memory architectures , 1990, Proceedings of the First IEEE Conference on Visualization: Visualization `90.

[3]  John Stasko Animating algorithms with XTANGO , 1992, SIGA.

[4]  Eileen Kraemer,et al.  A Methodology for Building Application-Specific Visualizations of Parallel Programs , 1993, J. Parallel Distributed Comput..

[5]  Clinton L. Jeffery,et al.  A framework for execution monitoring in icon , 1994, Softw. Pract. Exp..

[6]  Jarke J. van Wijk,et al.  Cushion Treemaps: Visualization of Hierarchical Information , 1999, INFOVIS.

[7]  Pat Hanrahan,et al.  Rivet: a flexible environment for computer systems visualization , 2000, SIGGRAPH 2000.

[8]  Mendel Rosenblum,et al.  Using visualization to understand the behavior of computer systems , 2001 .

[9]  Richard E. Jones,et al.  GCspy: an adaptable heap visualisation framework , 2002, OOPSLA '02.

[10]  Josef Weidendorfer,et al.  A Tool Suite for Simulation Based Analysis of Memory Access Behavior , 2004, International Conference on Computational Science.

[11]  Tony Field,et al.  Visualising dynamic memory allocators , 2006, ISMM '06.

[12]  Lucian Voinea,et al.  Multiscale and multivariate visualizations of software evolution , 2006, SoftVis '06.

[13]  Erik-Jan van der Linden,et al.  Visualizing Business Data with Generalized Treemaps , 2006, IEEE Transactions on Visualization and Computer Graphics.

[14]  Alexandru Telea,et al.  Multiscale Visualization of Dynamic Software Logs , 2007, EuroVis.