Font Size: a A A

Analysis of Parallel Traces via Logical Structure

Posted on:2016-08-28Degree:Ph.DType:Dissertation
University:University of California, DavisCandidate:Isaacs, Katherine EveFull Text:PDF
GTID:1478390017481154Subject:Computer Science
Abstract/Summary:
Large-scale parallel computing, in the form of simulations and numerical libraries, plays an important role in modern scientific exploration. Performance improvements to these simulations and libraries enable larger or more-detailed mathematical models as well as increased scientific throughput on the supercomputers on which they run. Finding, understanding, and ultimately correcting performance problems is difficult due to the scale and complexity of these applications and their interactions with specific hardware setups.;In order to analyze performance behavior, measurements must be recorded during program execution. Tracing is a common performance measurement technique that records individual events in time, such as the beginning and ending of functions and messages sent between processors. Analysts can then reconstruct a history of what occurred from the trace. However, by their nature, traces quickly grow large and the events compose complex patterns of behavior. Little about possible problems and their root causes is known a priori, requiring exploration. Visualization is frequently employed to aid in this process. The prevalent forms of visualization emphasize the exact physical timestamps and state classes of the trace events. There is little linking the depiction back to the source code. The analyst must independently keep track of how the data relates back to the program. In practice, the visualization is either too detailed and cluttered or too aggregated and simple depending on the time interval.;We contribute a structure-based approach to trace visualization and analysis that prioritizes representing the parallel organization of events that is familiar to the developer. We call this organization the logical structure and develop a framework for calculating it from trace data. Following this framework, we build algorithms for extracting logical structure from two parallel programming models: process-based message passing and task-based Charm++. Using the logical structure, we define new performance metrics and design a scalable visualization that supports several levels of abstraction.
Keywords/Search Tags:Logical structure, Parallel, Trace, Performance, Visualization
Related items