Unifying data and control transformations for distributed shared-memory machines
- 1 June 1995
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 30 (6) , 205-217
- https://doi.org/10.1145/223428.207145
Abstract
We present a unified approach to locality optimization that employs both data and control transformations. Data transformations include changing the array layout in memory. Control transformations involve changing the execution order of programs. We have developed new techniques for compiler optimizations for distributed shared-memory machines, although the same techniques can be used for sequential machines with a memory hierarchy. Our compiler optimizations are based on an algebraic representation of data mappings and a new data locality model. We present a pure data transformation algorithm and an algorithm unifying data and control transformations. While there has been much work on control transformations, the opportunities for data transformations have been largely neglected. In fact, data transformations have the advantage of being applicable to programs that cannot be optimized with control transformations. The unified algorithm, which performs data and control transformations simultaneously , offers improvement over optimizations obtained by applying data and control transformations separately. The experimental results using a set of applications on a parallel machine show that the new optimizations improve performance significantly. These results are further analyzed using locality metrics with instrumentation and simulation.This publication has 22 references indexed in Scilit:
- An Interactive Environment for Data Partitioning and DistributionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Software caching on cache-coherent multiprocessorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Compiler optimizations for improving data localityPublished by Association for Computing Machinery (ACM) ,1994
- Global optimizations for parallelism and locality on scalable parallel machinesPublished by Association for Computing Machinery (ACM) ,1993
- Automatic array alignment in data-parallel programsPublished by Association for Computing Machinery (ACM) ,1993
- The detection and elimination of useless misses in multiprocessorsPublished by Association for Computing Machinery (ACM) ,1993
- Implementation and performance of MuninPublished by Association for Computing Machinery (ACM) ,1991
- The implementation of a coherent memory abstraction on a NUMA multiprocessor: experiences with platinumPublished by Association for Computing Machinery (ACM) ,1989
- Simple but effective techniques for NUMA memory managementPublished by Association for Computing Machinery (ACM) ,1989
- Strategies for cache and local memory management by global program transformationJournal of Parallel and Distributed Computing, 1988