Litcius/Paper detail

Thicket: Seeing the Performance Experiment Forest for the Individual Run Trees

Stephanie Brink, Michael McKinsey, David Boehme, Connor Scully-Allison, Ian Lumsden, W. Daryl Hawkins, Treece Burgess, Vanessa Lama, Jakob Lüttgau, Katherine E. Isaacs, Michela Taufer, Olga Pearce

202317 citationsDOIOpen Access PDF

Abstract

Thicket is an open-source Python toolkit for Exploratory Data Analysis (EDA) of multi-run performance experiments. It enables an understanding of optimal performance configuration for large-scale application codes. Most performance tools focus on a single execution (e.g., single platform, single measurement tool, single scale). Thicket bridges the gap to convenient analysis in multi-dimensional, multi-scale, multi-architecture, and multi-tool performance datasets by providing an interface for interacting with the performance data. Thicket has a modular structure composed of three components. The first component is a data structure for multi-dimensional performance data, which is composed automatically on the portable basis of call trees, and accommodates any subset of dimensions present in the dataset. The second is the metadata, enabling distinction and sub-selection of dimensions in performance data. The third is a dimensionality reduction mechanism, enabling analysis such as computing aggregated statistics on a given data dimension. Extensible mechanisms are available for applying analyses (e.g., top-down on Intel CPUs), data science techniques (e.g., K-means clustering from scikit-learn), modeling performance (e.g., Extra-P), and interactive visualization. We demonstrate the power and flexibility of Thicket through two case studies, first with the open-source RAJA Performance Suite on CPU and GPU clusters and another with a large physics simulation run on both a traditional HPC cluster and an AWS Parallel Cluster instance.

Topics & Concepts

Computer sciencePython (programming language)Cluster analysisModular designVisualizationInterface (matter)MetadataDimensionality reductionData miningParallel computingOperating systemArtificial intelligenceMaximum bubble pressure methodBubbleSoftware System Performance and ReliabilityData Visualization and AnalyticsScientific Computing and Data Management
Thicket: Seeing the Performance Experiment Forest for the Individual Run Trees | Litcius