Title :
Cooperative parallelization
Author :
Yedlapalli, Praveen ; Kultursay, Emre ; Kandemir, Mahmut T.
Author_Institution :
Pennsylvania State Univ., University Park, PA, USA
Abstract :
We propose a cooperation between the programmer, the compiler and the runtime system to identify, exploit and efficiently exercise the parallelism available in many pointer based applications. Our parallelization strategy, called Cooperative Parallelization, is driven by programmer directives as well as runtime information. We show that minimal information from the programmer can be combined with runtime information to extract latent parallelism in many pointer intensive applications that involve trees and linked lists. We implemented a compilation framework which automatically parallelizes programs annotated with parallelism directives. We evaluated our approach on a collection of linked list and tree based applications. Our results show that we can achieve speedups of up to 15× on a sixteen-core platform. We also compared our approach to OpenMP both qualitatively and quantitatively.
Keywords :
multiprocessing systems; parallel programming; program compilers; trees (mathematics); OpenMP; compilation framework; compiler; cooperative parallelization; linked lists; pointer intensive applications; program parallelization; programmer; runtime information; runtime system; sixteen-core platform; tree based applications; Context; Data structures; Instruction sets; Parallel processing; Runtime; Vegetation;
Conference_Titel :
Computer-Aided Design (ICCAD), 2011 IEEE/ACM International Conference on
Conference_Location :
San Jose, CA
Print_ISBN :
978-1-4577-1399-6
Electronic_ISBN :
1092-3152
DOI :
10.1109/ICCAD.2011.6105317