How Many Threads to Spawn during Program Multithreading?

  • Alexandru Nicolau
  • Arun Kejariwal
Conference paper

DOI: 10.1007/978-3-642-19595-2_12

Volume 6548 of the book series Lecture Notes in Computer Science (LNCS)
Cite this paper as:
Nicolau A., Kejariwal A. (2011) How Many Threads to Spawn during Program Multithreading?. In: Cooper K., Mellor-Crummey J., Sarkar V. (eds) Languages and Compilers for Parallel Computing. LCPC 2010. Lecture Notes in Computer Science, vol 6548. Springer, Berlin, Heidelberg


Thread-level program parallelization is key for exploiting the hardware parallelism of the emerging multi-core systems. Several techniques have been proposed for program multithreading. However, the existing techniques do not address the following key issues associated with multithread execution of a given program: (a) Whether multithreaded execution is faster than sequential execution; (b) How many threads to spawn during program multithreading. In this paper, we address the above limitations. Specifically, we propose a novel approach – T-OPT – to determine how many threads to spawn during multithreaded execution of a given program region. The latter helps to check under-subscribing and over-subscribing of the hardware resources. This in turn facilitates exploitation on higher level of thread-level parallelism (TLP) than what can be achieved using the state-of-the-art. We show that, from program dependence standpoint, use of larger number of threads than advocated by the proposed approach does not yield higher degree of TLP. We present a couple of case studies and results using kernels, extracted from open source codes, to demonstrate the efficacy of our techniques on a real machine.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Alexandru Nicolau
    • 1
  • Arun Kejariwal
    • 2
  1. 1.University of California, IrvineIrvineUSA
  2. 2.Yahoo! Inc.SunnyvaleUSA