Detecting phases in parallel applications on shared memory architectures
Citations Over TimeTop 12% of 2006 papers
Abstract
Most programs are repetitive, where similar behavior can be seen at\ndifferent execution times. Algorithms have been proposed that automatically\ngroup similar portions of a program's execution into phases, where samples of\nexecution in the same phase have homogeneous behavior and similar resource\nrequirements. In this paper, we examine applying these phase analysis\nalgorithms and how to adapt them to parallel applications running on shared\nmemory processors. Our approach relies on a separate representation of each\nthread's activity. We first focus on showing its ability to identify similar\nintervals of execution across threads for a single run. We then show that it\nis effective at identifying similar behavior of a program when the number of\nthreads is varied between runs. This can be used by developers to examine how\ndifferent phases scale across different number of threads. Finally, we examine\nusing the phase analysis to pick simulation points to guide multi-threaded\nsimulation.Pre-2018 CSE ID: CS2005-0844
Related Papers
- → Fairness and Throughput in Switch on Event Multithreading(2006)56 cited
- → Fairness enforcement in switch on event multithreading(2007)36 cited
- → A Novel Thread Partitioning Approach Based on Machine Learning for Speculative Multithreading(2013)13 cited
- → Evaluation of a speculative multithreading compiler by characterizing program dependences(2005)
- → Enhanced interleaved multithreaded multiprocessors and their performance analysis(2004)