Optimizing Automatically Generated Programs for a Software Distributed Shared Memory System

N. Ghate and V. Chaudhary (USA)


Parellelizing compilers, software distributed shared memory, SPMD, Strings.


This work presents techniques to optimize code generated by a shared-memory parallelizing compiler for a DSM system by reducing the synchronization overhead. We have used a hybrid computation model consisting of both the fork-join and the SPMD model to eliminate barriers from the program. We create SPMD regions in the program generated by the parallelizing compiler. Adjacent SPMD regions are then merged using a barrier to form larger SPMD regions. These SPMD regions can then be optimized using the techniques utilized by compilers for message passing machines. We use dependence information and local subscript analysis to eliminate barriers from the SPMD regions. Using these techniques, we have obtained up to 27% performance improvement on various programs from NAS, SPLASH 2, and PERFECT benchmark suites and several real applications.

Important Links:

Go Back