Computer Science Colloquia
Friday, February 4, 2011
Advisor: Jack Davidson; Kevin Skadron; Sudhanva Gurumurthi
Attending Faculty: Mary Lou Soffa
Olsson 236D, 11:00:00
Characterizing Multi-threaded Applications based on Shared-Resource Contention
For higher processing and computing power, chip multiprocessors (CMPs) have become the new mainstream architecture. This shift to CMPs has created many challenges for fully utilizing the power of multiple execution cores. One of these challenges is managing contention for shared resources. Most of the recent research address contention for shared resources by single-threaded applications. However, as CMPs scale up to many cores, the trend of application design has shifted towards multi-threaded programming and new parallel models to fully utilize the underlying hardware. There are differences between how single- and multi-threaded applications contend for shared resources. Therefore, to develop approaches to reduce shared resource contention for emerging multi-threaded applications, it is crucial to understand how their performances are affected by contention for a particular shared resource. In this research, we propose and evaluate a general methodology for characterizing multi-threaded applications by determining the effect of shared-resource contention on performance. To demonstrate the methodology, we characterize contention for shared memory resources by the applications in the widely used PARSEC benchmark suite. The characterization reveals several interesting aspects of the benchmark suite. Three of twelve PARSEC benchmarks exhibit no contention for cache resources. Nine of the benchmarks exhibit contention for the L2-cache. Of these nine, only three exhibit contention between their own threads most contention is because of competition with a co-runner. Interestingly, contention for the Front Side Bus is a major factor for all but two of the benchmarks, and degrades performance by more than 11%.