Title :
Improving the performance of DSM systems via compiler involvement
Author :
Mirchandaney, Ravi ; Hiranandani, Seema ; Sethi, Ajay
Author_Institution :
Oracle Corp., Redwood Shores, CA, USA
Abstract :
Distributed shared memory (DSM) systems provide an illusion of shared memory on distributed memory systems such as workstation networks and some parallel computers such as the Cray T3D and Convex SPP-1. On these systems, users can write programs using a shared memory style of programming instead of message passing which is tedious and error prone. Our experience with one such system TreadMarks, has shown that a large class of applications does not perform well on these systems. TreadMarks is a software distributed shared memory system designed by Rice University researchers to run on networks of workstations and massively parallel computers. Due to the distributed nature of the memory system, shared memory synchronization primitives such as locks and barriers often cause significant amounts of communication. We have provided a set of powerful primitives that will alleviate the problems with locks and barriers on such systems. We have designed two sets of primitives the first set maintains coherence and is easy to use by a programmer, the second set does not maintain coherence and is best used by a compiler. These primitives require that the underlying DSM be enhanced. We have implemented some of our primitives on the TreadMarks DSM system and obtained reasonable performance improvements on application kernels from molecular dynamics and numerical analysis. Furthermore, we have identified key compiler optimizations that use the noncoherent primitives to reduce synchronization overhead and improve the performance of DSM systems
Keywords :
distributed memory systems; optimising compilers; parallel machines; parallel programming; program compilers; software reliability; DSM systems; TreadMarks; compiler involvement; compiler optimizations; distributed shared memory systems; massively parallel computers; noncoherent primitives; shared memory style; shared memory synchronization primitives; software distributed shared memory system; Application software; Computer errors; Computer networks; Concurrent computing; Distributed computing; Kernel; Message passing; Program processors; Programming profession; Workstations;
Conference_Titel :
Supercomputing '94., Proceedings
Conference_Location :
Washington, DC
Print_ISBN :
0-8186-6605-6
DOI :
10.1109/SUPERC.1994.344342