1997 · 42 citations · 18 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureParallel AlgorithmsParallel ComputingMemory Hierarchy OptimizationParallel ArchitecturesParallel ComputationParallel Computer ArchitectureParallel Computing SystemsParallel Performance AnalysisIdle Time ReductionIdle TimeoutLoop ParallelizationNested ParallelismRise DelayTiling StrategiesTiling TheoryTilings
This paper investigates the idle time associated with a parallel computation, that is, the time that processors are idle because they are either waiting for data from other processors or waiting to synchronize with other processors. We study doubly-nested loops corresponding to parallelogram- or trapezoidal-shaped iteration spaces that have been parallelized by the well-known tiling transformation. We introduce the notion of rise r, which relates the shape of the iteration space to that of the tiles. For parallelogram- shaped iteration spaces, we show that when r < -2, the idle time is linear in P, the number of processors, but when r > -1, it is quadratic in P. In the context of hierarchical tiling, where multiple levels of tiling are used, a good choice of rise can lead to less idle time and better performance. While idle time is not the only cost that should be considered in evaluating a tiling strategy, current architectural trends (of deeper memory hierarchies and multiple levels of parallelism) suggest it has increasing importance.
18
A data locality optimizing algorithm
Michael E. Wolf, Monica S. Lam · 1991 · 1.3K citations · Full text
François Irigoin, Rémi Triolet · 1988 · 562 citations
Michael Wolfe · 1989 · 430 citations · Full text