• Home
  • Search
  • An integrated compile-time/run-time software distributed shared memory system
  • Cite Icon3
  • https://doi.org/10.1145/248209.237181Copy DOI Icon

An integrated compile-time/run-time software distributed shared memory system

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

On a distributed memory machine, hand-coded message passing leads to the most efficient execution, but it is difficult to use. Parallelizing compilers can approach the performance of hand-coded message passing by translating data-parallel programs into message passing programs, but efficient execution is limited to those programs for which precise analysis can be carried out. Shared memory is easier to program than message passing and its domain is not constrained by the limitations of parallelizing compilers, but it lags in performance. Our goal is to close that performance gap while retaining the benefits of shared memory. In other words, our goal is (1) to make shared memory as efficient as message passing, whether hand-coded or compiler-generated, (2) to retain its ease of programming, and (3) to retain the broader class of applications it supports.To this end we have designed and implemented an integrated compile-time and run-time software DSM system. The programming model remains identical to the original pure run-time DSM system. No user intervention is required to obtain the benefits of our system. The compiler computes data access patterns for the individual processors. It then performs a source-to-source transformation, inserting in the program calls to inform the run-time system of the computed data access patterns. The run-time system uses this information to aggregate communication, to aggregate data and synchronization into a single message, to eliminate consistency overhead, and to replace global synchronization with point-to-point synchronization wherever possible.We extended the Parascope programming environment to perform the required analysis, and we augmented the TreadMarks run-time DSM library to take advantage of the analysis. We used six Fortran programs to assess the performance benefits: Jacobi, 3D-FFT, Integer Sort, Shallow, Gauss, and Modified Gramm-Schmidt, each with two different data set sizes. The experiments were run on an 8-node IBM SP/2 using user-space communication. Compiler optimization in conjunction with the augmented run-time system achieves substantial execution time improvements in comparison to the base TreadMarks, ranging from 4% to 59% on 8 processors. Relative to message passing implementations of the same applications, the compile-time run-time system is 0-29% slower than message passing, while the base run-time system is 5-212% slower. For the five programs that XHPF could parallelize (all except IS), the execution times achieved by the compiler optimized shared memory programs are within 9% of XHPF.

Similar Papers
  • Conference Article
  • Citations70

Runtime optimizations for a Java DSM implementation

  • Jun 01, 2001
  • R Veldema +3
  • Conference Article
  • Citations22

A programming model for deterministic task parallelism

  • Jun 05, 2011
  • Polyvios Pratikakis +3
  • Research Article
  • Citations1

Random Priority-Based Thrashing Control for Distributed Shared Memory

  • Mar 01, 2020
  • IEEE Transactions on Parallel and Distributed Systems
  • Yi-Wei Ci +4
  • Conference Article
  • Citations8

Compositional Reservoir Simulation on CM-5 and KSR-1 Parallel Machines

  • Feb 12, 1995
  • S G Ghori +5
  • Conference Article
  • Citations62

Shared memory programming for large scale machines

  • Jun 11, 2006
  • Christopher Barton +6
  • Conference Article
  • Citations85

Distributed programming with shared data

  • Nov 24, 2020
  • H.E Bal +1
  • Conference Article
  • Citations130

Efficient support for irregular applications on distributed-memory machines

  • Aug 01, 1995
  • Shubhendu S Mukherjee +5
  • Conference Article
  • Citations5

A shared scratchpad memory with synchronization support

  • Oct 01, 2017
  • Henrik Enggaard Hansen +4
  • Book Chapter
  • Citations9

LEMMA: A distributed shared memory with global and local garbage collection

  • Jan 01, 1995
  • David C J Matthews +1
  • Conference Article
  • Citations2

Towards Virtual Shared Memory for Non-cache-coherent Multicore Systems

  • May 01, 2013
  • Bharath Ramesh +2
  • Conference Article
  • Citations1

Dynamic Area Search with Shared Memory: A Meta-Framework to Improve Pathfinding Algorithms

  • Nov 01, 2018
  • Obada Al Zoubi +1
  • Single Report
  • Citations19

Efficient Support for Matrix Computations on Heterogeneous Multi-core and Multi-GPU Architectures

  • Jun 01, 2011
  • Fengguang Dong +2
  • Conference Article
  • Citations3

Software Architecture for Control of an Autonomous Vehicle

  • Jun 12, 1989
  • Xichi Zheng +2
  • Book Chapter
  • Citations2

Simulating the data diffusion machine

  • Jan 01, 1993
  • Erik Hagersten +5
  • Conference Article
  • Citations4

Probabilistic State-Based RT-Analysis of SDFGs on MPSoCs with Shared Memory Communication

  • Mar 01, 2019
  • Ralf Stemmer +4
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.