𝔖 Bobbio Scriptorium
✦   LIBER   ✦

Analyses and Optimizations for Shared Address Space Programs

✍ Scribed by Arvind Krishnamurthy; Katherine Yelick


Publisher
Elsevier Science
Year
1996
Tongue
English
Weight
423 KB
Volume
38
Category
Article
ISSN
0743-7315

No coin nor oath required. For personal study only.

✦ Synopsis


We present compiler analyses and optimizations for explicitly parallel programs that communicate through a shared address space. Any type of code motion on explicitly parallel programs requires a new kind of analysis to ensure that operations reordered on one processor cannot be observed by another. The analysis, called cycle detection, is based on work by Shasha and Snir and checks for cycles among interfering accesses. We improve the accuracy of their analysis by using additional information from synchronization analysis, which handles post-wait synchronization, barriers, and locks. We also make the analysis efficient by exploiting the common code image property of SPMD programs. We make no assumptions on the use of synchronization constructs: our transformations preserve program meaning even in the presence of race conditions, userdefined spin locks, or other synchronization mechanisms built from shared memory. However, programs that use linguistic synchronization constructs rather than their user-defined shared memory counterparts will benefit from more accurate analysis and therefore better optimization. We demonstrate the use of this analysis for communication optimizations on distributed memory machines by automatically transforming programs written in a conventional shared memory style into a Split-C program, which has primitives for nonblocking memory operations and one-way communication. The optimizations include message pipelining, to allow multiple outstanding remote memory operations, conversion of two-way to one-way communication, and elimination of communication through data reuse. The performance improvements are as high as 20-35% for programs running on a CM-5 multiprocessor using the Split-C language as a global address layer. Even larger benefits can be expected on machines with higher communication latency relative to processor speed.


πŸ“œ SIMILAR VOLUMES


Message passing and shared address space
✍ Hongzhang Shan; Jaswinder P. Singh; Leonid Oliker; Rupak Biswas πŸ“‚ Article πŸ“… 2003 πŸ› Elsevier Science 🌐 English βš– 307 KB

Currently, message passing (MP) and shared address space (SAS) are the two leading parallel programming paradigms. MP has been standardized with MPI, and is the more common and mature approach; however, code development can be extremely difficult, especially for irregularly structured computations.

Just-in-time optimizations for high-perf
✍ Cierniak, MichaΕ‚; Li, Wei πŸ“‚ Article πŸ“… 1997 πŸ› John Wiley and Sons 🌐 English βš– 93 KB πŸ‘ 2 views

Our previous experience with an off-line Java optimizer has shown that some traditional algorithms used in compilers are too slow for a JIT compiler. In this paper we propose and implement faster ways of performing analyses needed for our optimizations. For instance, we have replaced reaching defini

A new memory allocation method for share
✍ Koide, Hiroshi; Suzuki, Mitsugu; Nakayama, Yasuichi πŸ“‚ Article πŸ“… 1997 πŸ› John Wiley and Sons 🌐 English βš– 144 KB

This paper proposes a new memory allocation method for shared memory multiprocessors with large virtual address spaces. An evaluation of its performance is also presented. For effective use of shared memory multiprocessors, it is important that no processor's execution is blocked. If several proces

Optimal Time–Space Tradeoff for Shared M
✍ Yehuda Afek; Gideon Stupp πŸ“‚ Article πŸ“… 1997 πŸ› Elsevier Science 🌐 English βš– 283 KB

Though it is common practice to treat synchronization primitives for multiprocessors as abstract data types, they are in reality machine instructions on registers. A crucial theoretical question with practical implications is the relationship between the size of the register and its computational po