Visualizing Hierarchical Performance Profiles of Parallel Codes Using CallFlow

Calling context trees (CCTs) couple performance metrics with call paths, helping understand the execution and performance of parallel programs. To identify performance bottlenecks, programmers and performance analysts visually explore CCTs to form and validate hypotheses regarding degraded performance. However, due to the complexity of parallel programs, existing visual representations do not scale to applications running on a large number of processors. We present CALLFLOW, an interactive visual analysis tool that provides a high-level overview of CCTs together with semantic refinement operations to progressively explore the CCTs. Using a flow-based metaphor, we visualize a CCT by treating execution time as a resource spent during a call chain, and demonstrate the effectiveness of our design with case studies on large-scale, production simulation codes.

[1]  Katherine E. Isaacs,et al.  CFGExplorer: Designing a Visual Control Flow Analytics System around Basic Program Analysis Operations , 2018, Comput. Graph. Forum.

[2]  Philippe Castagliola,et al.  On the Readability of Graphs Using Node-Link and Matrix-Based Representations: A Controlled Experiment and Statistical Analysis , 2005, Inf. Vis..

[3]  P Beatty,et al.  Bridging the gaps. , 1990, Hospital trustee.

[4]  David Grove,et al.  A framework for call graph construction algorithms , 2001, TOPL.

[5]  David Grove,et al.  Call graph construction in object-oriented languages , 1997, OOPSLA '97.

[6]  Stephen C. North,et al.  Incremental Layout in DynaDAG , 1995, GD.

[7]  Hansjörg Schmauder,et al.  Visualizing Dynamic Call Graphs , 2012, VMV.

[8]  Kim Marriott,et al.  IPSep-CoLa: An Incremental Procedure for Separation Constraint Layout of Graphs , 2006, IEEE Transactions on Visualization and Computer Graphics.

[9]  Tamara Munzner,et al.  Design Study Methodology: Reflections from the Trenches and the Stacks , 2012, IEEE Transactions on Visualization and Computer Graphics.

[10]  James Abello,et al.  ASK-GraphView: A Large Scale Graph Visualization System , 2006, IEEE Transactions on Visualization and Computer Graphics.

[11]  Valerio Pascucci,et al.  Interactive Investigation of Traffic Congestion on Fat‐Tree Networks Using TreeScope , 2018, Comput. Graph. Forum.

[12]  Francoise Balmas Displaying dependence graphs: a hierarchical approach , 2004, J. Softw. Maintenance Res. Pract..

[13]  Ivan Herman,et al.  Graph Visualization and Navigation in Information Visualization: A Survey , 2000, IEEE Trans. Vis. Comput. Graph..

[14]  Nathan R. Tallent,et al.  Effectively Presenting Call Path Profiles of Application Performance , 2010, 2010 39th International Conference on Parallel Processing Workshops.

[15]  Ondrej Lhoták,et al.  Application-Only Call Graph Construction , 2012, ECOOP.

[16]  John T. Stasko,et al.  Knowledge precepts for design and evaluation of information visualizations , 2005, IEEE Transactions on Visualization and Computer Graphics.

[17]  Ben Shneiderman,et al.  Strategies for evaluating information visualization tools: multi-dimensional in-depth long-term case studies , 2006, BELIV '06.

[18]  James R. Larus,et al.  Exploiting hardware performance counters with flow and context sensitive profiling , 1997, PLDI '97.

[19]  Wes McKinney,et al.  Data Structures for Statistical Computing in Python , 2010, SciPy.

[20]  Jock D. Mackinlay,et al.  Cone Trees: animated 3D visualizations of hierarchical information , 1991, CHI.

[21]  Walter Binder,et al.  Visualizing and exploring profiles with calling context ring charts , 2010, Softw. Pract. Exp..

[22]  Susan L. Graham,et al.  Gprof: A call graph execution profiler , 1982, SIGPLAN '82.

[23]  Bin Su,et al.  Sankey diagram framework for energy and exergy flows , 2014 .

[24]  Laxmikant V. Kalé,et al.  Performance evaluation of adaptive MPI , 2006, PPoPP '06.

[25]  Brian Johnson,et al.  TreeViz: treemap visualization of hierarchically structured information , 1992, CHI.

[26]  Ben Shneiderman,et al.  Temporal Event Sequence Simplification , 2013, IEEE Transactions on Visualization and Computer Graphics.

[27]  Daniel E. Laney,et al.  Large-eddy simulation of Rayleigh–Taylor instability , 1997 .

[28]  Ian Karlin,et al.  LULESH Programming Model and Performance Ports Overview , 2012 .

[29]  Mario Schmidt,et al.  The Sankey Diagram in Energy and Material Flow Management , 2008 .

[30]  Kwan-Liu Ma,et al.  VIPACT: A Visualization Interface for Analyzing Calling Context Trees , 2016, 2016 Third Workshop on Visual Performance Analysis (VPA).

[31]  Jarke J. van Wijk,et al.  What Does the User Want to See? What do the Data Want to Be? , 2009, Inf. Vis..

[32]  Ben Shneiderman,et al.  Tree-maps: a space-filling approach to the visualization of hierarchical information structures , 1991, Proceeding Visualization '91.

[33]  Tamara Munzner,et al.  A Nested Model for Visualization Design and Validation , 2009, IEEE Transactions on Visualization and Computer Graphics.

[34]  Bernd Hamann,et al.  State of the Art of Performance Visualization , 2014, EuroVis.

[35]  Mao Lin Huang,et al.  A space-optimized tree visualization , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

[36]  Nathan R. Tallent,et al.  HPCTOOLKIT: tools for performance analysis of optimized parallel programs , 2010, Concurr. Comput. Pract. Exp..

[37]  Bernd Mohr,et al.  The Scalasca performance toolset architecture , 2010, Concurr. Comput. Pract. Exp..

[38]  Georg Sander,et al.  Graph Layout through the VCG Tool , 1994, GD.

[39]  Tamara Munzner,et al.  Visualizing the structure of the World Wide Web in 3D hyperbolic space , 1995, VRML '95.

[40]  Kwan-Liu Ma,et al.  A visual analysis approach to cohort study of electronic patient records , 2014, 2014 IEEE International Conference on Bioinformatics and Biomedicine (BIBM).

[41]  Mohammad Ghafari,et al.  A systematic literature review of software visualization evaluation , 2018, J. Syst. Softw..

[42]  Jason Dykes,et al.  Human-Centered Approaches in Geovisualization Design: Investigating Multiple Methods Through a Long-Term Case Study , 2011, IEEE Transactions on Visualization and Computer Graphics.

[43]  Jürgen Döllner,et al.  Visual exploration of function call graphs for feature location in complex software systems , 2006, SoftVis '06.

[44]  Matthias S. Müller,et al.  The Vampir Performance Analysis Tool-Set , 2008, Parallel Tools Workshop.

[45]  Klaus Mueller,et al.  A Visual Analytics Framework for the Detection of Anomalous Call Stack Trees in High Performance Computing Applications , 2019, IEEE Transactions on Visualization and Computer Graphics.

[46]  J. B. Kruskal,et al.  Icicle Plots: Better Displays for Hierarchical Clustering , 1983 .

[47]  Faramarz F. Samavati,et al.  EnergyViz: an interactive system for visualization of energy systems , 2015, The Visual Computer.

[48]  Peter J. Stuckey,et al.  Optimal Sankey Diagrams Via Integer Programming , 2018, 2018 IEEE Pacific Visualization Symposium (PacificVis).

[49]  Thomas D. LaToza,et al.  Visualizing call graphs , 2011, 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[50]  Bernd Mohr,et al.  KOJAK - A Tool Set for Automatic Performance Analysis of Parallel Programs , 2003, Euro-Par.

[51]  Catherine Plaisant,et al.  SpaceTree: supporting exploration in large node link tree, design evolution and empirical evaluation , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

[52]  Allen D. Malony,et al.  The Tau Parallel Performance System , 2006, Int. J. High Perform. Comput. Appl..

[53]  Luiz De Rose,et al.  Detecting Application Load Imbalance on High End Massively Parallel Systems , 2007, Euro-Par.

[54]  Matthias Hauswirth,et al.  Trevis: a context tree visualization & analysis framework and its use for classifying performance failure reports , 2010, SOFTVIS '10.

[55]  Krist Wongsuphasawat,et al.  Outflow : Visualizing Patient Flow by Symptoms and Outcome , 2011 .

[56]  Ben Shneiderman,et al.  Ordered treemap layouts , 2001, IEEE Symposium on Information Visualization, 2001. INFOVIS 2001..

[57]  Tamara Munzner,et al.  Matches, Mismatches, and Methods: Multiple-View Workflows for Energy Portfolio Analysis , 2016, IEEE Transactions on Visualization and Computer Graphics.