Automatic Partitioning of Parallel Loops for Cache-Coherent Multiprocessors

  • Authors:
  • Anant Agarwal;David Kranz;Venkat Natarajan

  • Affiliations:
  • Massachusetts Institute of Technology;Massachusetts Institute of Technology;Motorola Cambridge Research Center, Cambridge, MA

  • Venue:
  • ICPP '93 Proceedings of the 1993 International Conference on Parallel Processing - Volume 01
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a theoretical framework for automatically partitioning parallel loops to minimize cache coherency traffic on shared-memory multiprocessors. While several previous papers have looked at hyperplane partitioning of iteration spaces to reduce communication traffic, the problem of deriving the optimal tiling parameters for minimal communication in loops with general affine index expressions and multiple arrays hasremained open. Our paper solves this open problem by presenting a method for deriving an optimal hyperparallelepiped tiling of iteration spaces for minimal communication in multiprocessors with caches. We show that the same theoretical framework can also be used to determine optimal tiling parameters for data and loop partitioning in distributed memory multiprocessors without caches. Like previous papers, our framework uses matrices to represent iteration and data space mappings and the notion of uniformly intersecting references to capture temporal locality in array references. We introduce the notion of data footprints to estimate the communication traffic between processors and use lattice theory to compute precisely the size of data footprints. We have implemented a subset of this framework in a compiler for the Alewife machine.