Title :
A linear algebra framework for automatic determination of optimal data layouts
Author :
Kandemir, Mahmut ; Choudhary, Alok ; Shenoy, Nagaraj ; Banerjee, Prithviraj ; Ramenujarn, J.
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Syracuse Univ., NY, USA
fDate :
2/1/1999 12:00:00 AM
Abstract :
This paper presents a data layout optimization technique for sequential and parallel programs based on the theory of hyperplanes from linear algebra. Given a program, our framework automatically determines suitable memory layouts that can be expressed by hyperplanes for each array that is referenced. We discuss the cases where data transformations are preferable to loop transformations and show that under certain conditions a loop nest can be optimized for perfect spatial locality by using data transformations. We argue that data transformations can also optimize spatial locality for some arrays without distorting temporal/spatial locality exhibited by others. We divide the problem of optimizing data layout into two independent subproblems: 1) determining optimal static data layouts, and 2) determining data transformation matrices to implement the optimal layouts. By postponing the determination of the transformation matrix to the last stage, our method can be adapted to compilers with different default layouts. We then present an algorithm that considers optimizing parallelism and spatial locality simultaneously. Our results on eight programs on two distributed shared-memory multiprocessors, the Convex Exemplar SPP-2000 and the SGI Origin 2000, show that the layout optimizations are effective in optimizing spatial locality and parallelism
Keywords :
distributed shared memory systems; linear algebra; parallel programming; performance evaluation; software reusability; Convex Exemplar SPP-2000; SGI Origin 2000; automatic determination; data transformations; distributed shared-memory multiprocessors; hyperplanes; linear algebra framework; loop transformations; optimal data layouts; optimal static data layouts; parallel programs; perfect spatial locality; spatial locality; Computer Society; Law; Legal factors; Linear algebra; Optimizing compilers; Parallel machines; Parallel processing; Program processors; Programming profession; Random access memory;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on