Detecting Phases in Parallel Applications on Shared Memory Architectures
Skip to main content
eScholarship
Open Access Publications from the University of California

Detecting Phases in Parallel Applications on Shared Memory Architectures

Abstract

Most programs are repetitive, where similar behavior can be seen at different execution times. Algorithms have been proposed that automatically group similar portions of a program's execution into phases, where samples of execution in the same phase have homogeneous behavior and similar resource requirements. In this paper, we examine applying these phase analysis algorithms and how to adapt them to parallel applications running on shared memory processors. Our approach relies on a separate representation of each thread's activity. We first focus on showing its ability to identify similar intervals of execution across threads for a single run. We then show that it is effective at identifying similar behavior of a program when the number of threads is varied between runs. This can be used by developers to examine how different phases scale across different number of threads. Finally, we examine using the phase analysis to pick simulation points to guide multi-threaded simulation.

Pre-2018 CSE ID: CS2005-0844

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View