Visualizing a Moving Target: A Design Study on Task Parallel Programs in the Presence of Evolving Data and Concerns

by   Katy Williams, et al.

Common pitfalls in visualization projects include lack of data availability and the domain users' needs and focus changing too rapidly for the design process to complete. While it is often prudent to avoid such projects, we argue it can be beneficial to engage them in some cases as the visualization process can help refine data collection, solving a `chicken and egg' problem of having the data and tools to analyze it. We found this to be the case in the domain of task parallel computing. Parallel and distributed programs orchestrate the cooperation of many computation resources to produce results that would be impossible to collect on a single machine. The complexity of orchestrating and fine-tuning the execution of these parallel and distributed computations requires careful consideration from the programmer. However, few performance data collection and analysis tools are geared towards the specifics of task parallel paradigms. What changes need to be made are an open area of research. Despite these hurdles, we conducted a design study. Through a tightly-coupled iterative design process, we built Atria, a multi-view execution graph visualization to support performance analysis. Atria simplifies the initial representation of the execution graph by aggregating nodes as related to their line of code. We deployed Atria on multiple platforms, some requiring design alteration. Our evaluation is augmented with user interviews. We further describe how we adapted the design study methodology to the `moving target' of both the data and the domain experts' concerns and how this movement kept both the visualization and programming project healthy. We reflect on our process and discuss what factors allow the project to be successful in the presence of changing data and user needs.


page 1

page 5

page 6


Designing an Interactive, Notebook-Embedded, Tree Visualization to Support Exploratory Performance Analysis

Interactive visualization via direct manipulation has inherent design tr...

Assessing Project-Level Fine-Tuning of ML4SE Models

Machine Learning for Software Engineering (ML4SE) is an actively growing...

Traveler: Navigating Task Parallel Traces for Performance Analysis

Understanding the behavior of software in execution is a key step in ide...

Software solutions for form-based collection of data and the semantic enrichment of form data

Data collection is an important part of many citizen science projects as...

Daisen: A Framework for Visualizing Detailed GPU Execution

Graphics Processing Units (GPUs) have been widely used to accelerate art...

Basic Parallel and Distributed Computing Curriculum

With the advent of multi-core processors and their fast expansion, it is...

Personal Volunteer Computing

Since the 1990s, the number of personal computing devices has exploded. ...

Please sign up or login with your details

Forgot password? Click here to reset