Cooperative parallelization

  • Authors:
  • Praveen Yedlapalli;Emre Kultursay;Mahmut T. Kandemir

  • Affiliations:
  • The Pennsylvania State University;The Pennsylvania State University;The Pennsylvania State University

  • Venue:
  • Proceedings of the International Conference on Computer-Aided Design
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

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 15x on a sixteen-core platform. We also compared our approach to OpenMP both qualitatively and quantitatively.