Parallel execution profiles

Z Benavides, R Gupta, X Zhang - Proceedings of the 25th ACM …, 2016 - dl.acm.org
Z Benavides, R Gupta, X Zhang
Proceedings of the 25th ACM International Symposium on High-Performance …, 2016dl.acm.org
Observing the relative behavior of an application's threads is critical to identifying
performance bottlenecks and understanding their root causes. We present parallel
execution profiles (PEPs), which capture the relative behavior of parallel threads in terms of
the user selected code regions they execute. The user annotates the program to identify
code regions of interest. The PEP divides the execution time of a multithreaded application
into time intervals or a sequence of frames during which the code regions being executed in …
Observing the relative behavior of an application's threads is critical to identifying performance bottlenecks and understanding their root causes. We present parallel execution profiles (PEPs), which capture the relative behavior of parallel threads in terms of the user selected code regions they execute. The user annotates the program to identify code regions of interest. The PEP divides the execution time of a multithreaded application into time intervals or a sequence of frames during which the code regions being executed in parallel by application threads remain the same. PEPs can be easily analyzed to compute execution times spent by the application in interesting behavior states. This helps user understand the severity of common performance problems such as excessive waiting on events by threads, threads contending for locks, and the presence of straggler threads.
ACM Digital Library