DocumentCode
2794611
Title
Thread reinforcer: Dynamically determining number of threads via OS level monitoring
Author
Pusukuri, Kishore Kumar ; Gupta, Rajiv ; Bhuyan, Laxmi N.
Author_Institution
Dept. of Comput. Sci. & Eng., Univ. of California, Riverside, CA, USA
fYear
2011
fDate
6-8 Nov. 2011
Firstpage
116
Lastpage
125
Abstract
It is often assumed that to maximize the performance of a multithreaded application, the number of threads created should equal the number of cores. While this may be true for systems with four or eight cores, this is not true for systems with larger number of cores. Our experiments with PARSEC programs on a 24-core machine demonstrate this. Therefore, dynamically determining the appropriate number of threads for a multithreaded application is an important unsolved problem. In this paper we develop a simple technique for dynamically determining appropriate number of threads without recompiling the application or using complex compilation techniques or modifying Operating System policies. We first present a scalability study of eight programs from PARSEC conducted on a 24 core Dell PowerEdge R905 server running OpenSolaris.2009.06 for numbers of threads ranging from a few threads to 128 threads. Our study shows that not only does the maximum speedup achieved by these programs vary widely (from 3.6x to 21.9x), the number of threads that produce maximum speedups also vary widely (from 16 to 63 threads). By understanding the overall speedup behavior of these programs we identify the critical Operating System level factors that explain why the speedups vary with the number of threads. As an application of these observations, we develop a framework called “Thread Reinforcer” that dynamically monitors program´s execution to search for the number of threads that are likely to yield best speedups. Thread Reinforcer identifies optimal or near optimal number of threads for most of the PARSEC programs studied and as well as for SPEC OMP and PBZIP2 programs.
Keywords
data flow analysis; multi-threading; operating systems (computers); Dell PowerEdge R905 server; OS level monitoring; OpenSolaris.2009.06; PARSEC programs; PBZIP2 programs; SPEC OMP programs; complex compilation techniques; multithreaded application; operating system level factors; operating system policies; thread reinforcer; Instruction sets; Monitoring; Multicore processing; Operating systems; Optimized production technology; Scalability; Tuning;
fLanguage
English
Publisher
ieee
Conference_Titel
Workload Characterization (IISWC), 2011 IEEE International Symposium on
Conference_Location
Austin, TX
Print_ISBN
978-1-4577-2063-5
Electronic_ISBN
978-1-4577-2062-8
Type
conf
DOI
10.1109/IISWC.2011.6114208
Filename
6114208
Link To Document