Slicing based code parallelization for minimizing inter-processor communication

  • Authors:
  • Mahmut Kandemir;Yuanrui Zhang;Sai Prasanth Muralidhara;Ozcan Ozturk;Sri Hari Krishna Narayanan

  • Affiliations:
  • The Pennsylvania State University, State College, PA, USA;The Pennsylvania State University, State College, PA, USA;The Pennsylvania State University, State College, PA, USA;Bilkent University, Ankara, Turkey;The Pennsylvania State University, State College, PA, USA

  • Venue:
  • CASES '09 Proceedings of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the critical problems in distributed memory multi-core architectures is scalable parallelization that minimizes inter-processor communication. Using the concept of iteration space slicing, this paper presents a new code parallelization scheme for data-intensive applications. This scheme targets distributed memory multi-core architectures, and formulates the problem of data-computation distribution (partitioning) across parallel processors using slicing such that, starting with the partitioning of the output arrays, it iteratively determines the partitions of other arrays as well as iteration spaces of the loop nests in the application code. The goal is to minimize inter-processor data communications. Based on this iteration space slicing based formulation of the problem, we also propose a solution scheme. The proposed data-computation scheme is evaluated using six data-intensive benchmark programs. In our experimental evaluation, we also compare this scheme against three alternate data-computation distribution schemes. The results obtained are very encouraging, indicating around 10% better speedup, with 16 processors, over the next-best scheme when averaged over all benchmark codes we tested.