Data distribution support on distributed shared memory multiprocessors

  • Authors:
  • Rohit Chandra;Ding-Kai Chen;Robert Cox;Dror E. Maydan;Nenad Nedeljkovic;Jennifer M. Anderson

  • Affiliations:
  • Silicon Graphics Computer Systems, Mountain View, CA;Silicon Graphics Computer Systems, Mountain View, CA;Silicon Graphics Computer Systems, Mountain View, CA;Silicon Graphics Computer Systems, Mountain View, CA;Silicon Graphics Computer Systems, Mountain View, CA;Digital Western Research Lab, Palo Alto, CA

  • Venue:
  • Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cache-coherent multiprocessors with distributed shared memory are becoming increasingly popular for parallel computing. However, obtaining high performance on these machines mquires that an application execute with good data locality. In addition to making efiective use of caches, it is often necessary to distribute data structures across the local memories of the processing nodes, thereby reducing the latency of cache misses.We have designed a set of abstractions for performing data distribution in the context of explicitly parallel programs and implemented them within the SGI MIPSpro compiler system. Our system incorporates many unique features to enhance both programmability and performance. We address the former by providing a very simple programmming model with extensive support for error detection. Regarding performance, we carefully design the user abstractions with the underlying compiler optimizations in mind, we incorporate several optimization techniques to generate efficient code for accessing distributed data, and we provide a tight integration of these techniques with other optimizations within the compiler Our initial experience suggests that the directives are easy to use and can yield substantial performance gains, in some cases by as much as a factor of 3 over the same codes without distribution.