Regular Article
Communication Optimizations for Parallel C Programs

https://doi.org/10.1006/jpdc.1999.1554Get rights and content

Abstract

This paper presents algorithms for reducing the communication overhead for parallel C programs that use dynamically allocated data structures. The framework consists of an analysis phase called possible-placement analysis, and a transformation phase called communication selection. The fundamental idea of possible-placement analysis is to find all possible points for insertion of remote memory operations. Remote reads are propagated upwards, whereas remote writes are propagated downwards. Based on the results of the possible-placement analysis, the communication selection transformation selects the “best” place for inserting the communication and determines if pipelining or blocking of communication should be performed. The framework has been implemented in the EARTH-McCAT optimizing C compiler, and experimental results are presented for five pointer-intensive benchmarks running on the EARTH-MANNA distributed-memory parallel processor. These experiments show that the communication optimization can provide performance improvements of up to 16% over the unoptimized benchmarks.

References (23)

  • G. Agrawal, J. Saltz, and R. Das, Interprodecural partial redundency elimination and its application to distributed...
  • S. P. Amarasinghe and M. S. Lam, Communication optimization and code generation for distributed memory machines, in...
  • U. Bruening, W. K. Giloi, and W. Schroeder-Preikschat, Latency hiding in message-passing architectures, in Proc. of the...
  • M.C. Carlisle

    Olden: Parallelizing Programs with Dynamic Data Structures on Distributed-Memory Machines

    (1996)
  • M. C. Carlisle and A. Rogers, Software caching and computation migration in Olden, in Proc. of the Fifth ACM SIGPLAN...
  • S. Chakrabarti, M. Gupta, and J. Choi, global communication analysis and optimization, in Proc. of the ACM SIGPLAN '96...
  • P. Diniz and M. Rinard, Synchronization transformations for parallel computing, in Conf. Rec. of the 24th ACM...
  • M. Emami, R. Ghiya, and L. J. Hendren, Context-sensitive interprocedural points-to analysis in the presence of function...
  • A. M. Erosa and L. J. Hendren, Taming control flow: A structured approach to eleminating goto statements, in Proc. of...
  • R. Ghiya

    Putting pointer analysis to work

    (1997)
  • R. Ghiya and L. J. Hendren, Putting pointer analysis to work, in Conf. Rec. of the 25th ACM SIGPLAN-SIGACT Symp. on...
  • Cited by (7)

    View all citing articles on Scopus

    Work supported in part by NSERC and FCAR.

    f1

    E-mail: [email protected], [email protected]

    View full text