Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
Evaluating Compiler Techniques for Thread Coarsening \Lambda Gary M. Zoppetti Gagan Agrawal
 

Summary: Evaluating Compiler Techniques for Thread Coarsening \Lambda
Gary M. Zoppetti Gagan Agrawal
Department of Computer and Information Sciences
University of Delaware, Newark DE 19716
fzoppetti,agrawalg@cis.udel.edu
Xinan Tang Jose Nelson Amaral Guang Gao
Department of Electrical and Computer Engineering
University of Delaware, Newark DE 19716
ftang,amaral,ggaog@capsl.udel.edu
Abstract
Thread partitioning is an 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 data dependent upon this request
must be in a separate thread.
When performing thread partitioning on codes that use pointer­based recursive data structures, threads
of unnecessarily small granularity get generated, which, because of thread switching costs, leads to increased
execution time. In this paper, we evaluate three compiler techniques for generating threads of higher granularity.
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

  

Source: Agrawal, Gagan - Department of Computer Science and Engineering, Ohio State University

 

Collections: Computer Technologies and Information Sciences