A Unified Compiler Framework for Work and Data Placement
Frits Kuijlman, HJ Sips, C. van Reeuwijk, W.J.A. Denissen · 2001
In parallel programs the most important improvements in execution times can be achieved by the optimal placement of data and the optimal assignment of work to the processors in the system. In a simple parallel programming environment this information is entirely specied by the user, but this places a heavy burden on the user. It is much more comfortable for the user if parts of the placement can be left unspecied. However, this means that the user must be able to specify part of the data placement and work assignment, and it must be clear which data placements and work assignment are left to the compiler. The compiler must then nd the optimal choices for the placements that the user has left unspecied. In this paper we present a compiler framework that takes a program with partial work and data placement information, and transforms it into an explicit parallel program optimized for the amount of communication. 1