Skip to main content

Autoscheduling in a distributed shared-memory environment

  • When Your Program Runs (Finally)
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 892))

  • 130 Accesses

Abstract

The ease of programming and compiling for the shared memory multiprocessor model, coupled with the scalability and cost advantages of distributed memory computers, give an obvious appeal to distributed shared memory architectures. In this paper we discuss the design and implementation issues of a dynamic data management and scheduling environment for distributed shared memory architectures. In contrast to the predominantly static approaches used on distributed and message passing machines, we advocate the advantages of dynamic resource allocation, especially in the case of multi-user environments. We propose hybrid data and work distribution techniques that adjust to variations in the physical partition and achieve better load balance than purely static schemes. We present the architecture of our execution environment and discuss implementation details of some of the critical components. Preliminary results using benchmarks of representative execution profiles support our main thesis: With minimal contrl, the load balancing and resource utilization advantages offered by dynamic methods often outweigh the disadvantage of increased memory latency stemming from slightly compromised data locality, and perhaps additional run-time overhead.

This work was supported by the Office of Naval Research under grant N00014-94-1-0234.

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. Siegfried Benkner, Barbara M. Chapman, and Hans P. Zima. Vienna Fortran 90. In Proceedings of the Scalable High Performance Computing Conference-SHPCC-92, pages 51–59, 1992.

    Google Scholar 

  2. Carl J. Beckmann. Hardware and Software for Functional and Fine Grain Parallelism. PhD thesis, Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign, 1993.

    Google Scholar 

  3. Alok Choudhary, Geoffrey Fox, Sanjay Ranka, Seema Hiranandani, Ken Kennedy, Charles Koelbel, and Chau-Wen Tseng. Compiling Fortran 77D and 90D for MIMD distributedmemory machines. In Proceedings of the Fourth Symposium on the Frontiers of Massively Parallel Computation, pages 4–11, 1992.

    Google Scholar 

  4. Cray Research Inc. CRAYT3D System Architecture Overview Manual, 1994.

    Google Scholar 

  5. Geoffrey Fox, Seema Hiranandani, Ken Kennedy, Charles Koebel, Uli Kremer, Chau-Wen Tseng, and Min-You Wu. Fortran D language specification. Technical Report COMP TR90-141, Department of Computer Science, Rice University, December 1990.

    Google Scholar 

  6. M. Girkar and C. D. Polychronopoulos. The HTG: An intermediate representation for programs based on control and data dependences. Technical Report 1046, Center for Super-computing Research and Development, University of Illinois at Urbana-Champaign, May 1991.

    Google Scholar 

  7. Milind Girkar and Constantine Polychronopoulos. Automatic detection and generation of unstructured parallelism in ordinary programs. IEEE Transactions on Parallel and Distributed Systems, 3(2), April 1992.

    Google Scholar 

  8. Manish Gupta and Prithviraj Banerjee. Demonstration of automatic data partitioning techniques for parallelizing compilers on multicomputers. IEEE Transactions on Parallel and Distributed Systems, 3(2):179–193, March 1992.

    Google Scholar 

  9. Mary W. Hall, Seema Hiranandani, Ken Kennedy, and Chau-Wen Tseng. Interprocedural compilation of Fortran D for MIMD distributed memory machines. In Proceedings of Supercomputing'92, pages 522–534, 1992.

    Google Scholar 

  10. High Performance Fortran Forum. High Performance Fortran Language Specification, Version 1.0, May 1993.

    Google Scholar 

  11. Seema Hiranandani, Ken Kennedy, and Chau-Wen Tseng. Compiler support for machine-independent parallel programming in Fortran D. Technical Report COMP TR91-149, Department of Computer Science, Rice University, January 1991.

    Google Scholar 

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

    Google Scholar 

  13. David B. Loveman. High Performance Fortran. IEEE Parallel & Distributed Technology, 1(1):24–42, February 1993.

    Google Scholar 

  14. Milind Girkar. Functional Parallelism: Theoretical Foundations and Implementation. PhD thesis, Department of Computer Science, University of Illinois at Urbana-Champaign, 1992.

    Google Scholar 

  15. José E. Moreira and Constantine D. Polychronopoulos. On the implementation and effectiveness of autoscheduling. Technical Report 1372, Center for Supercomputing Research and Development, University of Illinois, 1994.

    Google Scholar 

  16. Tsuneo Nakanishi, Kazuki Joe, Hideki Saito, Constantine Polychronopoulos, Akira Fukuda, and Keijiro Araki. The data partitioning graph: Extending data and control dependencies for data partitioning. In Proceedings of the Seventh Annual Workshop on Languages and Compilers for Parallel Computing. Ithaca, NY, 1994.

    Google Scholar 

  17. Bill Nitzberg and Virginia Lo. Distributed shared memory: A survey of issues and algorithms. IEEE Computer, 24(9), August 1991.

    Google Scholar 

  18. Wilfried Oed. The Cray Research Massively Parallel Processor System — CRAY T3D. Technical report, Cray Research GmbH, November 1993.

    Google Scholar 

  19. Douglas M. Pase, Tom MacDonald, and Andrew Meltzer. MPP Fortran programming model. Technical report, Cray Research, Inc., March 1994.

    Google Scholar 

  20. Per Stenström. VLSI Support for Cactus Stack Oriented Memory Organization. In Proceedings of the 21 st Annual Hawaii International Conference on System Sciences, vol I., pages 211–220, 1988.

    Google Scholar 

  21. Constantine D. Polychronopoulos. Autoscheduling: Control flow and data flow come together. Technical Report 1058, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, 1990.

    Google Scholar 

  22. Ravi Ponnusamy, Joel Saltz, Raja Das, Charles Koebel, and Alok Choudhary. A runtime data mapping scheme for irregular problems. In Proceedings of the Scalable High Performance Computing Conference SHPCC-92, pages 216–219, 1992.

    Google Scholar 

  23. Hans P. Zima and Barbara Mary Chapman. Compiling for distributed-memory systems. Proceedings of the IEEE, 81(2):264–287, February 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Keshav Pingali Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Moreira, J.E., Polychronopoulos, C.D. (1995). Autoscheduling in a distributed shared-memory environment. In: Pingali, K., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1994. Lecture Notes in Computer Science, vol 892. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0025896

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58868-9

  • Online ISBN: 978-3-540-49134-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics