VIPACT

A visualization interface for analyzing calling context trees

Huu Tan Nguyen, Lai Wei, Abhinav Bhatele, Todd Gamblin, David Boehme, Martin Schulz, Kwan-Liu Ma, Peer Timo Bremer

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

Profiling tools are indispensable for performance optimization of parallel codes. They allow users to understand where a code spends its time, and to focus optimization efforts on the most time consuming regions. However, two sources of complexity make them difficult to use on large-scale parallel applications. First, the code complexity of parallel applications is increasingly, and identifying the problematic regions in the code is difficult. Traditional profilers show either a flat view or a calling context tree view. Second, most tools average performance data across processes, losing per-process behavior. Diagnosing problems like load imbalance requires profiles from many processes, and manually analyzing profiles from hundreds or thousands of processes is infeasible. We introduce VIPACT, a visualization tool to identify different behaviors in multiple processes. VIPACT introduces "halo nodes" that concisely encode the distributions of runtimes from all processes, and a hybrid tree view that combines the advantages of calling context trees with those of flat profiles. We combine these with approaches such as ring charts, as well as the filtering and subselection of nodes, and we apply these techniques to a production multi-physics code.

Original languageEnglish (US)
Title of host publicationProceedings of VPA 2016
Subtitle of host publication3rd Workshop on Visual Performance Analysis - Held in conjunction with SC 2016: The International Conference for High Performance Computing, Networking, Storage and Analysis
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages25-28
Number of pages4
ISBN (Electronic)9781509052264
DOIs
StatePublished - Jan 30 2017
Event3rd Workshop on Visual Performance Analysis, VPA 2016 - Salt Lake City, United States
Duration: Nov 18 2016 → …

Other

Other3rd Workshop on Visual Performance Analysis, VPA 2016
CountryUnited States
CitySalt Lake City
Period11/18/16 → …

Fingerprint

Visualization
Parallel Applications
Physics
Performance Optimization
Multiphysics
Vertex of a graph
Profiling
Chart
Context
Filtering
Ring
Optimization
Profile

ASJC Scopus subject areas

  • Modeling and Simulation
  • Software

Cite this

Nguyen, H. T., Wei, L., Bhatele, A., Gamblin, T., Boehme, D., Schulz, M., ... Bremer, P. T. (2017). VIPACT: A visualization interface for analyzing calling context trees. In Proceedings of VPA 2016: 3rd Workshop on Visual Performance Analysis - Held in conjunction with SC 2016: The International Conference for High Performance Computing, Networking, Storage and Analysis (pp. 25-28). [7836553] Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/VPA.2016.9

VIPACT : A visualization interface for analyzing calling context trees. / Nguyen, Huu Tan; Wei, Lai; Bhatele, Abhinav; Gamblin, Todd; Boehme, David; Schulz, Martin; Ma, Kwan-Liu; Bremer, Peer Timo.

Proceedings of VPA 2016: 3rd Workshop on Visual Performance Analysis - Held in conjunction with SC 2016: The International Conference for High Performance Computing, Networking, Storage and Analysis. Institute of Electrical and Electronics Engineers Inc., 2017. p. 25-28 7836553.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Nguyen, HT, Wei, L, Bhatele, A, Gamblin, T, Boehme, D, Schulz, M, Ma, K-L & Bremer, PT 2017, VIPACT: A visualization interface for analyzing calling context trees. in Proceedings of VPA 2016: 3rd Workshop on Visual Performance Analysis - Held in conjunction with SC 2016: The International Conference for High Performance Computing, Networking, Storage and Analysis., 7836553, Institute of Electrical and Electronics Engineers Inc., pp. 25-28, 3rd Workshop on Visual Performance Analysis, VPA 2016, Salt Lake City, United States, 11/18/16. https://doi.org/10.1109/VPA.2016.9
Nguyen HT, Wei L, Bhatele A, Gamblin T, Boehme D, Schulz M et al. VIPACT: A visualization interface for analyzing calling context trees. In Proceedings of VPA 2016: 3rd Workshop on Visual Performance Analysis - Held in conjunction with SC 2016: The International Conference for High Performance Computing, Networking, Storage and Analysis. Institute of Electrical and Electronics Engineers Inc. 2017. p. 25-28. 7836553 https://doi.org/10.1109/VPA.2016.9
Nguyen, Huu Tan ; Wei, Lai ; Bhatele, Abhinav ; Gamblin, Todd ; Boehme, David ; Schulz, Martin ; Ma, Kwan-Liu ; Bremer, Peer Timo. / VIPACT : A visualization interface for analyzing calling context trees. Proceedings of VPA 2016: 3rd Workshop on Visual Performance Analysis - Held in conjunction with SC 2016: The International Conference for High Performance Computing, Networking, Storage and Analysis. Institute of Electrical and Electronics Engineers Inc., 2017. pp. 25-28
@inproceedings{4557d05d82674e2a8374477b80a69453,
title = "VIPACT: A visualization interface for analyzing calling context trees",
abstract = "Profiling tools are indispensable for performance optimization of parallel codes. They allow users to understand where a code spends its time, and to focus optimization efforts on the most time consuming regions. However, two sources of complexity make them difficult to use on large-scale parallel applications. First, the code complexity of parallel applications is increasingly, and identifying the problematic regions in the code is difficult. Traditional profilers show either a flat view or a calling context tree view. Second, most tools average performance data across processes, losing per-process behavior. Diagnosing problems like load imbalance requires profiles from many processes, and manually analyzing profiles from hundreds or thousands of processes is infeasible. We introduce VIPACT, a visualization tool to identify different behaviors in multiple processes. VIPACT introduces {"}halo nodes{"} that concisely encode the distributions of runtimes from all processes, and a hybrid tree view that combines the advantages of calling context trees with those of flat profiles. We combine these with approaches such as ring charts, as well as the filtering and subselection of nodes, and we apply these techniques to a production multi-physics code.",
author = "Nguyen, {Huu Tan} and Lai Wei and Abhinav Bhatele and Todd Gamblin and David Boehme and Martin Schulz and Kwan-Liu Ma and Bremer, {Peer Timo}",
year = "2017",
month = "1",
day = "30",
doi = "10.1109/VPA.2016.9",
language = "English (US)",
pages = "25--28",
booktitle = "Proceedings of VPA 2016",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

TY - GEN

T1 - VIPACT

T2 - A visualization interface for analyzing calling context trees

AU - Nguyen, Huu Tan

AU - Wei, Lai

AU - Bhatele, Abhinav

AU - Gamblin, Todd

AU - Boehme, David

AU - Schulz, Martin

AU - Ma, Kwan-Liu

AU - Bremer, Peer Timo

PY - 2017/1/30

Y1 - 2017/1/30

N2 - Profiling tools are indispensable for performance optimization of parallel codes. They allow users to understand where a code spends its time, and to focus optimization efforts on the most time consuming regions. However, two sources of complexity make them difficult to use on large-scale parallel applications. First, the code complexity of parallel applications is increasingly, and identifying the problematic regions in the code is difficult. Traditional profilers show either a flat view or a calling context tree view. Second, most tools average performance data across processes, losing per-process behavior. Diagnosing problems like load imbalance requires profiles from many processes, and manually analyzing profiles from hundreds or thousands of processes is infeasible. We introduce VIPACT, a visualization tool to identify different behaviors in multiple processes. VIPACT introduces "halo nodes" that concisely encode the distributions of runtimes from all processes, and a hybrid tree view that combines the advantages of calling context trees with those of flat profiles. We combine these with approaches such as ring charts, as well as the filtering and subselection of nodes, and we apply these techniques to a production multi-physics code.

AB - Profiling tools are indispensable for performance optimization of parallel codes. They allow users to understand where a code spends its time, and to focus optimization efforts on the most time consuming regions. However, two sources of complexity make them difficult to use on large-scale parallel applications. First, the code complexity of parallel applications is increasingly, and identifying the problematic regions in the code is difficult. Traditional profilers show either a flat view or a calling context tree view. Second, most tools average performance data across processes, losing per-process behavior. Diagnosing problems like load imbalance requires profiles from many processes, and manually analyzing profiles from hundreds or thousands of processes is infeasible. We introduce VIPACT, a visualization tool to identify different behaviors in multiple processes. VIPACT introduces "halo nodes" that concisely encode the distributions of runtimes from all processes, and a hybrid tree view that combines the advantages of calling context trees with those of flat profiles. We combine these with approaches such as ring charts, as well as the filtering and subselection of nodes, and we apply these techniques to a production multi-physics code.

UR - http://www.scopus.com/inward/record.url?scp=85015217935&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85015217935&partnerID=8YFLogxK

U2 - 10.1109/VPA.2016.9

DO - 10.1109/VPA.2016.9

M3 - Conference contribution

SP - 25

EP - 28

BT - Proceedings of VPA 2016

PB - Institute of Electrical and Electronics Engineers Inc.

ER -