A synthesis of memory mechanisms for distributed architectures
Jiajing Zhu, Jay P. Hoeflinger, David Padua · 2001
Producing efficient parallel programs for distributed memory multiprocessors is a difficult task. Hand-coding efficient parallel programs for these systems can be extremely difficult, time consuming and error-prone, so people have turned to the shared memory abstraction and automatic parallelizing compilers to ease the task. The two main approaches to this are using compilers that 1) generate message passing code, or 2) generate code for a distributed shared memory software layer. Neither has been completely successful for all types of programs. In this paper, we discuss the use of a combination of these mechanisms to produce a compiler code generation paradigm that can be successful for many user programs. The experimental results indicate that our new paradigm would be able to support both regular and irregular code efficiently.