Scalable Comparative Visualization of Ensembles of Call Graphs

Optimizing the performance of large-scale parallel codes is critical for efficient utilization of computing resources. Code developers often explore various execution parameters, such as hardware configurations, system software choices, and application parameters, and are interested in detecting and understanding bottlenecks in different executions. They often collect hierarchical performance profiles represented as call graphs, which combine performance metrics with their execution contexts. The crucial task of exploring multiple call graphs together is tedious and challenging because of the many structural differences in the execution contexts and significant variability in the collected performance metrics (e.g., execution runtime). In this paper, we present an enhanced version of CallFlow to support the exploration of ensembles of call graphs using new types of visualizations, analysis, graph operations, and features. We introduce ensemble-Sankey, a new visual design that combines the strengths of resource-flow (Sankey) and box-plot visualization techniques. Whereas the resource-flow visualization can easily and intuitively describe the graphical nature of the call graph, the box plots overlaid on the nodes of Sankey convey the performance variability within the ensemble. Our interactive visual interface provides linked views to help explore ensembles of call graphs, e.g., by facilitating the analysis of structural differences, and identifying similar or distinct call graphs. We demonstrate the effectiveness and usefulness of our design through case studies on large-scale parallel codes.

[1]  Eduard Gröller,et al.  Comparative Visualization for Parameter Studies of Dataset Series , 2010, IEEE Transactions on Visualization and Computer Graphics.

[2]  Tobias Schreck,et al.  Interactive visual comparison of multiple trees , 2011, 2011 IEEE Conference on Visual Analytics Science and Technology (VAST).

[3]  Peer-Timo Bremer,et al.  A massively parallel infrastructure for adaptive multiscale simulations: modeling RAS initiation pathway for cancer , 2019, SC.

[4]  Todd Gamblin,et al.  Preserving Command Line Workflow for a Package Management System Using ASCII DAG Visualization , 2019, IEEE Transactions on Visualization and Computer Graphics.

[5]  Jonathan C. Roberts,et al.  Visual comparison for information visualization , 2011, Inf. Vis..

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

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

[8]  Emden R. Gansner,et al.  Graphviz and Dynagraph – Static and Dynamic Graph Drawing Tools , 2003 .

[9]  Todd Gamblin,et al.  Visualizing Hierarchical Performance Profiles of Parallel Codes Using CallFlow , 2019, IEEE Transactions on Visualization and Computer Graphics.

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

[11]  Martin Schulz,et al.  Scalable temporal order analysis for large scale debugging , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[12]  Tamara Munzner,et al.  Aggregated Dendrograms for Visual Comparison between Many Phylogenetic Trees , 2020, IEEE Transactions on Visualization and Computer Graphics.

[13]  Jeremy C. Smith,et al.  Repurposing Therapeutics for COVID-19: Supercomputer-Based Docking to the SARS-CoV-2 Viral Spike Protein and Viral Spike Protein-Human ACE2 Interface , 2020 .

[14]  P. Alam ‘T’ , 2021, Composites Engineering: An A–Z Guide.

[15]  Alex Bigelow,et al.  Visualizing a Moving Target: A Design Study on Task Parallel Programs in the Presence of Evolving Data and Concerns , 2019, IEEE Transactions on Visualization and Computer Graphics.

[16]  Alexandre Bergel,et al.  Visual Analytics Challenges in Analyzing Calling Context Trees , 2017, ESPT/VPA@SC.

[17]  P. Riehmann,et al.  Interactive Sankey diagrams , 2005, IEEE Symposium on Information Visualization, 2005. INFOVIS 2005..

[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]  Jian Zhao,et al.  How Do Ancestral Traits Shape Family Trees Over Generations? , 2018, IEEE Transactions on Visualization and Computer Graphics.

[21]  Tamara Munzner,et al.  MizBee: A Multiscale Synteny Browser , 2009, IEEE Transactions on Visualization and Computer Graphics.

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

[23]  Kevin Harms,et al.  Run-to-run Variability on Xeon Phi based Cray XC Systems , 2017, SC17: International Conference for High Performance Computing, Networking, Storage and Analysis.

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

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

[26]  Nancy M. Amato,et al.  Quantifying the effectiveness of load balance algorithms , 2012, ICS '12.

[27]  Tapasya Patki,et al.  Performance optimality or reproducibility: that is the question , 2019, SC.

[28]  Yu Zhang,et al.  BarcodeTree: Scalable Comparison of Multiple Hierarchies , 2020, IEEE Transactions on Visualization and Computer Graphics.

[29]  Jeremy C. Smith,et al.  Repurposing Therapeutics for COVID-19: Supercomputer-Based Docking to the SARS-CoV-2 Viral Spike Protein and Viral Spike Protein-Human ACE2 Interface , 2020 .

[30]  Alexandru Telea,et al.  Code Flows: Visualizing Structural Evolution of Source Code , 2008, Comput. Graph. Forum.

[31]  B. Gregg The Flame Graph , 2016, ACM Queue.

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

[33]  Michael Gleicher,et al.  Considerations for Visualizing Comparison , 2018, IEEE Transactions on Visualization and Computer Graphics.

[34]  Nina Amenta,et al.  Case study: visualizing sets of evolutionary trees , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

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

[36]  Jian Zhao,et al.  Facilitating Discourse Analysis with Interactive Visualization , 2012, IEEE Transactions on Visualization and Computer Graphics.

[37]  Jarke J. van Wijk,et al.  Visual Comparison of Hierarchically Organized Data , 2008, Comput. Graph. Forum.

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

[39]  J. Kruskal Multidimensional scaling by optimizing goodness of fit to a nonmetric hypothesis , 1964 .

[40]  Kieran Campbell,et al.  Supplementary Materials for , 2016 .

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

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

[43]  Katherine E. Isaacs,et al.  There goes the neighborhood: Performance degradation due to nearby jobs , 2013, 2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[44]  Heidrun Schumann,et al.  A Design Space of Visualization Tasks , 2013, IEEE Transactions on Visualization and Computer Graphics.

[45]  Todd Gamblin,et al.  Hatchet: pruning the overgrowth in parallel profiles , 2019, SC.

[46]  Martin Graham,et al.  A Survey of Multiple Tree Visualisation , 2010, Inf. Vis..

[47]  Martin Schulz,et al.  Caliper: Performance Introspection for HPC Software Stacks , 2016, SC16: International Conference for High Performance Computing, Networking, Storage and Analysis.

[48]  Valerio Pascucci,et al.  A Study of the Trade-off Between Reducing Precision and Reducing Resolution for Data Analysis and Visualization , 2019, IEEE Transactions on Visualization and Computer Graphics.

[49]  Rainer Groh,et al.  Visualizing uncertainty in flow diagrams: a case study in product costing , 2017, VINCI.

[50]  Keith Andrews,et al.  Visual Graph Comparison , 2009, 2009 13th International Conference Information Visualisation.

[51]  Miss A.O. Penney (b) , 1974, The New Yale Book of Quotations.

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

[53]  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..

[54]  Nicholas J. Wright,et al.  Measuring and Understanding Variation in Benchmark Performance , 2009, 2009 DoD High Performance Computing Modernization Program Users Group Conference.

[55]  Serdar Tasiran,et al.  TreeJuxtaposer: scalable tree comparison using Focus+Context with guaranteed visibility , 2003, ACM Trans. Graph..

[56]  Jin Young Hong,et al.  Zoomology: ComparingTwo Large Hierarchical Trees , 2003 .