Accurate Data and Context Management in Message-Passing Programs

  • Authors:
  • Dhruva R. Chakrabarti;Prithviraj Banerjee

  • Affiliations:
  • -;-

  • Venue:
  • LCPC '99 Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a novel scheme for maintaining accurate information about distributed data in message-passing programs. The ability to maintain dynamically the data-to-processor mapping as well as the program contexts at which state changes occur enable a variety of sophisticated optimizations. The algorithms described in this paper are based on the static single assignment (SSA) form of message-passing programs which can be used for performing many of the classical compiler optimizations during automatic parallelization as well as for analyzing user-written message-passing programs. Reaching definition analysis is performed on SSA-structures for determining a suitable communication point. The scheme addresses possible optimizations and shows how appropriate representation of the data structures can substantially reduce the associated overheads. Our scheme uniformly handles arbitrary subscripts in array references and can handle general reducible control flow. Experimental results for a number of benchmarks on an IBM SP-2 show a conspicuous reduction in inter-processor communication as well as a marked improvement in the total run-times. We have observed up to around 10-25% reduction in total run-times in our SSA-based schemes compared to non-SSA-based schemes on 16 processors.