Automatic compiler techniques for thread coarsening for multithreaded architectures

Gary M. Zoppetti, Gagan Agrawal, Lori Pollock, Jose Nelson Amaral, Xinan Tang, Guang Gao

Research output: Contribution to conferencePaperpeer-review

7 Scopus citations

Abstract

Multithreaded architectures are emerging as an important class of parallel machines. By allowing fast context switching between threads on the same processor, these systems hide communication and synchronization latencies and allow scalable parallelism for dynamic and irregular applications. Thread partitioning is the most important task in compiling high-level languages for multithreaded architectures. Non-preemptive multithreaded architectures, which can be built from off-the-shelf components, require that if a thread issues a potentially remote memory request, then any statement that is dependent upon this request must be in a separate thread. When performing thread partitioning on codes that use pointer-based recursive data structures, it is often difficult to extract accurate dependence information. As a result, threads of unnecessarily small granularity get generated, which, because of thread switching costs, leads to increased execution time. In this paper, we present three techniques that lead to improved extraction and representation of dependence information in the presence of structured control flow, references through fields of structures, and pointer-based data structures. The benefit of these techniques is the generation of coarser-grained threads and, therefore, decreased execution time. Our experiments were performed using the EARTH-C compiler and the EARTH multithreaded architecture model emulated on both a cluster of Pentium PCs and a distributed memory multiprocessor. On our set of 6 pointer-based programs, these techniques reduced the static number of threads by 38%. Reductions in execution times ranged from 16%o to 45% on the four programs we measured runtime performance.

Original languageEnglish (US)
Pages306-315
Number of pages10
DOIs
StatePublished - 2000
Event2000 International Conference on Supercomputing - Santa Fe, NM, USA
Duration: May 8 2000May 11 2000

Conference

Conference2000 International Conference on Supercomputing
CitySanta Fe, NM, USA
Period5/8/005/11/00

ASJC Scopus subject areas

  • General Computer Science

Fingerprint

Dive into the research topics of 'Automatic compiler techniques for thread coarsening for multithreaded architectures'. Together they form a unique fingerprint.

Cite this