Compiler directed architecture-dependent communication optimizations
Susan Hinrichs, Thomas R. Gross · 1995
Communication required for distributed data structures is one of the major overheads of parallelization. Poor communication performance limits the the scalability of a given program, i.e. the number of processors that can effectively work on a problem. Differences in the architectures of different parallel systems affect how communication models perform on these systems. To minimize communication overheads, the parallel application should use the communication model that performs best on the target machine. For many systems, a static communication resource reservation model enables more efficient resource usage and improved communication performance. Data parallel compilers are well-suited to the task of selecting the appropriate communication model for the target architecture. With communication pattern analysis and architecture information, the compiler can optimize communication within each communication step and between communication steps. Knowledge of the target communication res...