Skip to main content

Optimizing communications by using compile time analysis

  • Conference paper
  • First Online:
Parallel Processing: CONPAR 94 — VAPP VI (VAPP 1994, CONPAR 1994)

Abstract

It is well known that communication time is one of the most limiting factors for obtaining high performance programs for parallel architectures.

In our parallelization approach, we first express communications using the get primitive since it is natural and easy to generate automatically. This solution is unfortunately inefficient. This paper addresses the transformation of the get communication schema into a less-costly one. Two tracks are explored: 1. transforming gets into sends, where diffusion is detected and generated. 2. detection of shift communications which are efficiently implemented due to their regular character. We also discuss the combination of these two optimizations and present some experimental results.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Luc Bougé: The Data-Parallel Programming Model: a Semantic Perspective. Tech. Report No LIP-IMAG 92–45 (1992)

    Google Scholar 

  2. Jingle Li and Marina Chen: Compiling Communication-Efficient Programs for Massively Parallel Machines. IEEE Trans. on Parallel and Distributed Systems 2 (1991) 361–376

    Google Scholar 

  3. P. Quinton: Automatic Synthesis of Systolic Arrays from Uniform Recurrence Equations. IEEE, Int. Symp. on Computer Architecture, Ann Arbor (1984) 208–214

    Google Scholar 

  4. Paul Feautrier: Dataflow Analysis of Scalar and Array References. Int. J. of Parallel Programming, 20(1) (1991) 23–53

    Google Scholar 

  5. Dror E. Maydan and Saman P. Amarasinghe and Monica S. Lam: Array Dataflow Analysis and its Use in Array Privatization. Proc. of ACM Conf. on Principles of Programming Languages (1993) 2–15

    Google Scholar 

  6. Paul Feautrier: Some Efficient Solutions to the Affine Scheduling Problem, I, One Dimensional Time. Int. J. of Parallel Programming 21(5) (1992) 313–348

    Google Scholar 

  7. Paul Feautrier: Toward Automatic Partitioning of Arrays on Distributed Memory Computers. ACM Int. Conf. on Supercomputing, Tokyo (1993) 175–184

    Google Scholar 

  8. Paul Feautrier: Array Expansion. ACM Int. Conf. on Supercomputing, St Malo (1988) 429–441

    Google Scholar 

  9. M. R. Werth and P. Feautrier: A Systematic Approach of Program Transformation. Procs of the Int. Workshop on Compiler for Parallel Computers, Paris (1990).

    Google Scholar 

  10. M. R. Werth and P. Feautrier: On Parallel Program Generation for Massively Parallel Architectures. High Performance Computing II (1991) M. Durand and F. El Dabaghi editors, Elsevier Science Publisher

    Google Scholar 

  11. M. R. Werth and J. Zahorjan and P. Feautrier: Using Compile-Time Conditional Analysis to Improve the Performance of Compiler Parallelized Programs. Proc. Int. Conference on Massively Parallel Processing, Applications and Development. (1994) Elsevier Science Publisher

    Google Scholar 

  12. Gilbert Strang: Linear Algebra and its Applications. Harcourt Brace Jovanovitch, New York (1988)

    Google Scholar 

  13. Antal E. Fekete: Real Linear Algebra. Marcel Decker Inc., New York (1988)

    Google Scholar 

  14. Alain Mérigot: Associative Nets: A New Parallel Computing Model. Tech. Repport 92-02 IUF-Université Paris Sud (1992)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Bruno Buchberger Jens Volkert

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Werth, M.R., Feautrier, P. (1994). Optimizing communications by using compile time analysis. In: Buchberger, B., Volkert, J. (eds) Parallel Processing: CONPAR 94 — VAPP VI. VAPP CONPAR 1994 1994. Lecture Notes in Computer Science, vol 854. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58430-7_60

Download citation

  • DOI: https://doi.org/10.1007/3-540-58430-7_60

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58430-8

  • Online ISBN: 978-3-540-48789-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics