VIPACT: a visualization interface for analyzing calling context trees

2016 
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.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    15
    References
    9
    Citations
    NaN
    KQI
    []