Skip to main content
Log in

XDP: A compiler intermediate language extension for the representation and optimization of data movement

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

The ability to represent, manipulate, and optimize data placement and movement between processors in a distributed address space machine is crucial in allowing compilers to generate efficient code. Data placement is embodied in the concept of dataownership. Data movement can include not just the transfer of data values but the transfer of ownership as well. However, most existing compilers for distributed address space machines either represent these notions in a language-or machine-dependent manner, or represent data or ownership transfer implicitly. In this paper we describe XDP, a set of intermediate language extensions for representing and manipulating data and ownership transfers explicitly in a compller. XDP is supported by a set of per-processor structures that can be used to implement ownership testing and manipulation at run-time, XDP provides a uniform framework for translating and optimizing sequential, data parallel, and message-passing programs to a distributed address space machine. We describe analysis and optimization techniques for this explicit representation. Finally, we compare the intermediate languages of some current distributed address space compilers with XDP.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. M. Gupta and P. Banerjee, Automatic data partitioning on distributed memory multiprocessors,Proc. of the Sixth Distributed Memory Computer Conf. (DMCC6), Portland, Oregon (April 1991).

  2. M. Gupta and P. Banerjee, Demonstration of automatic data partitioning techniques for parallelizing compilers on multicomputers,IEEE Trans. on Parallel and Distributed Systems (April 1992).

  3. K. Knobe, J. D. Lukas, and G. L. Steele, Jr., Data optimization: allocation of arrays to reduce communication on SIMD machines,J. of Parallel and Distrib. Comput. (8):102–118 (1990).

    Article  Google Scholar 

  4. Seema Hiranandani, Ken Kennedy, and Chau-Wen Tseng Compiling Fortran D for mimd distributed-memory machines.Comm. of the ACM,35(8):66–80 (August 1992).

    Article  Google Scholar 

  5. V. Balasundaram, Translating control parallelism to data parallelism,Fifth SIAM Conf. on Parallel Processing for Sci. Comput., Houston, Texas (March 1991).

  6. H. P. Zima, H. J. Bast, and M. Gerndt, SUPERB: A tool for semi-automatic SIMD/MIMD parallelization,Parallel Computing 6:1–18 (1988).

    Article  Google Scholar 

  7. D. Callahan and K. Kennedy, Compiling programs for distributed-memory multiprocessors,J. of Supercomput. 2:151–169 (October 1988).

    Article  Google Scholar 

  8. A. Rogers and K. Pingali, Process decomposition through locality of reference,ACM SIGPLAN 89 Conf. on Programming Language Design and Implementation, pp. 69–80 (June 1989).

  9. HPF Forum,High Performance Fortran Language Specification, Version 1, available from Rice University, Houston, Texas (January 1993).

  10. J. Wu, J. H. Saltz, S. Hiranandani, and H. Berryman, Runtime compilation methods for multicomputers,Proc. of the 1991 Int. Conf. on Parallel Processing, St. Charles, Illinois (August 1991).

  11. Seema Hiranandani, Ken Kennedy, and Chau-Wen Tseng, Compiler optimizations for Fortran D on mind distributed-memory machines,Proc. of Supercomputing '91 (November 1991).

  12. A. V. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques, and Tools, Addison-Wesley (1988).

  13. V. Balasundaram, A mechanism for keeping useful internal information in parallel programming tools: the Data Access Descriptor,J. of Parallel and Distrib. Comput. (9):154–170 (1990).

    Article  Google Scholar 

  14. D. Callahan and K. Kennedy, Analysis of interprocedural side effects in a parallel programming environment,J. of Parallel and Distrib. Comput. 5(5):517–550 (October 1988).

    Article  Google Scholar 

  15. D. Callahan and J. Subhlok, Static analysis of low-level synchronization,Workshop on Parallel and Distributed Debugging, pp. 100–111 (May 1988).

  16. D. Callahan, K. Kennedy, and J. Subhlok, Analysis of event synchronization in a parallel programming tool,ACM SIGPLAN Symp, on Principles and Practice of Parallel Programming, pp. 21–30 (March 1990).

  17. D. Grunwald and H. Srinivasan, An efficient construction of parallel static single assignment form for structured parallel programs, Technical Report CU-CS-564-91, University of Colorado, Boulder (1991).

    Google Scholar 

  18. D. Grunwald and H. Srinivasan, Data flow equations for explicitly parallel programs,Proc. of SIGPLAN Conf. on Principles and Practice of Parallel Programming (May 1993).

  19. D. Grunwald and H. Srinivasan, Efficiently computing preserved sets, Technical Report in preparation, University of Colorado, Boulder (1993).

    Google Scholar 

  20. Hans Zima and Barbara Chapman,Supercompilers for Parallel and Vector Computers, ACM Press, Addison-Wesley (1991).

    Google Scholar 

  21. D. N. Jayasimha, Communication and synchronization in parallel computation, PhD. Thesis, CSRD Report No. 819, University of Illinois, Urbana-Champaign (1988).

    Google Scholar 

  22. S. P. Midkiff and D. A. Padua, Compiler generated synchronization for DO loops. In K. Hwang, S. Jacobs, and E. Swartzlander (eds.),Proc. of the 1986 Int. Conf. on Parallel Processing, pp. 544–551 (August 1986).

  23. P. L. Shaffer, Minimization of interprocessor synchronization in multiprocessors with shared and private memory. In F. Ris and P. M. Kogge (eds.),Proc. of the 1989 Int. Conf. on Parallel Processing, Vol. 3, pp. 138–141 (August 1989).

  24. S. P. Midkiff, The dependence analysis and synchronization of parallel programs, PhD. Thesis, CSRD Report No. 1165, University of Illinois, Urbana-Champaign (January 1992).

    Google Scholar 

  25. S. Carr and K. Kennedy, Compiler blockability of numerical algorithms,Supercomputing 92, Minneapolis, Minnesota (November 1992).

  26. V. Balasundaram, G. Fox, K. Kennedy, and U. Kremer, An interactive environment for data partitioning and distribution,Proc. of the Fifth Distrib. Memory Comput. Conf., Charleston, S. Carolina (April 1990).

  27. M. Gerndt, Updating distributed variables in local computations,Concurrency: Practice and Experience (1990).

  28. T. Lake, Distributing computations. In R. H. Perrott (ed.),Software for Parallel Computers, Chapman and Hall, London (1992).

    Google Scholar 

  29. E. Jul, H. Levy, N. Hutchinson, and A. Black, Fine-grained mobility in the Emerald system,ACM Trans. on Computer Systems 6(1):109–133 (February 1988).

    Article  Google Scholar 

  30. Kendall Square Research, Technical summary, Technical report, Kendall Square Research (1992).

  31. Vasanth Bala, Jeanne Ferrante, and Larry Carter, Explicit data placement (xdp): A methodology for explicit compile-time representation and optimization of data movement,Fourth ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, pp. 139–149 (May 1993).

  32. Chau-Wen Tseng, An optimizing Fortran D compiler for MIMD distributed-memory machines, PhD. Thesis, Rice University (1993).

  33. P. Mehrota and J. Van Rosendale, Compiling high level constructs to distributed memory architectures,Proc. of the Fourth Conf. on Hypercube Concurrent Computers and Applications (March 1989).

  34. J. Li and M. Chen, Generating explicit communication from shared memory program references, New York,Supercomputing 90, pp. 865–877 (November 1990).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Carter, L., Ferrante, J. & Bala, V. XDP: A compiler intermediate language extension for the representation and optimization of data movement. Int J Parallel Prog 22, 485–518 (1994). https://doi.org/10.1007/BF02577776

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02577776

Key words

Navigation