On the parallelization of irregular and dynamic programs

  • Authors:
  • Oscar Plata;Rafael Asenjo;Eladio Gutiérrez;Francisco Corbera;Angeles Navarro;Emilio L. Zapata

  • Affiliations:
  • Department of Computer Architecture, University of Málaga, 29071 Málaga, Spain;Department of Computer Architecture, University of Málaga, 29071 Málaga, Spain;Department of Computer Architecture, University of Málaga, 29071 Málaga, Spain;Department of Computer Architecture, University of Málaga, 29071 Málaga, Spain;Department of Computer Architecture, University of Málaga, 29071 Málaga, Spain;Department of Computer Architecture, University of Málaga, 29071 Málaga, Spain

  • Venue:
  • Parallel Computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Current compilers show ineffective when optimizing complex applications, both analyzing dependences and exploiting data locality and extracting parallelism. Complex applications may be characterized as irregular and dynamic. Irregular applications arrange data as multidimensional arrays and memory is referenced through array indirections. Dynamic applications organize data as pointer-based structures (lists, trees,...) and memory is referenced through pointers. In this paper we discuss a methodology we designed to develop efficient parallelization techniques for irregular and dynamic applications, that proceeds in three stages: recognizing the complex program structure, data analysis and program parallelization based on code/data transformations. Two case examples are analyzed in detail in the context of this methodology: irregular reductions and shape analysis for dynamic data structures.