[go: up one dir, main page]

Skip to main content

An overview of the Opus language and runtime system

  • Languages for Parallelism: Something Borrow, Something New
  • 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))

Abstract

We have recently designed a set of Fortran language extensions, called Opus, that allow for integrated support of task and data parallelism. The language introduces a new mechanism, shared data abstractions (SDAs) for communication and synchronization among these data parallel tasks. In this paper we present an overview of the language and describe the thread based runtime systems that we are implementing to support the language.

This research supported by the National Aeronautics and Space Administration under NASA Contract No. NASA-19480, while the authors were in residence at ICASE, MS 132C, NASA Langley Research Center, Hampton, VA 23681.

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. Henri E. Bal, M. Frans Kaashoek, and Andrew S. Tanenbaum. Orca: A language for parallel programming of distributed systems. IEEE Transactions on Software Engineering, 18(3):190–205, March 1992.

    Google Scholar 

  2. Brian N. Bershad, Edward D. Lazowska, Henry M. Levy, and David B. Wagner. An open environment for building parallel programming systems. Technical Report 88-01-03, Department of Computer Science, University of Washington, January 1988.

    Google Scholar 

  3. Barbara Chapman, Piyush Mehrotra, and Hans Zima. Programming in Vienna Fortran. Scientific Programming, 1(1):31–50, 1992.

    Google Scholar 

  4. Barbara M. Chapman, Piyush Mehrotra, John Van Rosendale, and Hans P. Zima. A software architecture of multidisciplinary applications: Integrating task and data parallelism. In Proceedings Conpar '94, Lecture Notes in Computer Science, Springer-Verlag, Vol. 854 pages 664–676, September 1994.

    Google Scholar 

  5. D. E. Culler, A. Sah, K. E. Schauser, T. von Eicken, and J. Wawrzynek. Finegrain parallelism with minimal hardware support: A compiler-controlled threaded abstract machine. In 4th International Conference on Architectural Support for Programming Languages and Operating Systems, 1991.

    Google Scholar 

  6. Message Passing Interface Forum. Document for a Standard Message Passing In-terface, draft edition, November 1993.

    Google Scholar 

  7. I. T. Foster and K. M. Chandy. Fortran M: A language for modular parallel programming. Technical Report MCS-P327-0992 Revision 1, Mathematics and Computer Science Division, Argonne National Laboratory, June 1993.

    Google Scholar 

  8. Ian Foster, Carl Kesselman, Robert Olson, and Steven Tuecke. Nexus: An inter operability layer for parallel and distributed computer systems. Technical Report Version 1.3, Argonne National Labs, December 1993.

    Google Scholar 

  9. Dirk Grunwald. A users guide to AWESIME: An object oriented parallel programming and simulation system. Technical Report CU-CS-552-91, Department of Computer Science, University of Colorado at Boulder, November 1991.

    Google Scholar 

  10. Matthew Haines and Wim Böhm. An evaluation of software multithreading in a conventional distributed memory multiprocessor. In IEEE Symposium on Parallel and Distributed Processing, pages 106–113, December 1993.

    Google Scholar 

  11. Matthew Haines, David Cronk, and Piyush Mehrotra. On the design of Chant: A talking threads package. ICASE Report 94-25, Institute for Computer Applications in Science and Engineering, NASA Langley Research Center, Hampton, VA 23681, April 1994. (To appear in Supercomputing '94).

    Google Scholar 

  12. Matthew Haines, Bryan Hess, Piyush Mehrotra, John Van Rosendale, and Hans Zima. Runtime support for data parallel tasks. ICASE Report 94-26, Institute for Computer Applications in Science and Engineering, NASA Langley Research Center, Hampton, VA 23681, April 1994. (To appear in Frontiers '95).

    Google Scholar 

  13. High Performance Fortran Forum. High Performance Fortran Language Specification, version 1.0 edition, May 1993.

    Google Scholar 

  14. IEEE. Threads Extension for Portable Operating Systems (Draft 7), February 1992.

    Google Scholar 

  15. Jeff Kramer, Jeff Magee, Morris Sloman, Naranker Dulay, S. C. Cheung, Stephen Crane, and Kevin Twindle. An introduction to distributed programming in REX. In Proceedings of ESPRIT-91, pages 207–222, Brussels, November 1991.

    Google Scholar 

  16. Frank Mueller. A library implementation of POSIX threads under UNIX. In Winter USENIX, pages 29–41, San Diego, CA, January 1993.

    Google Scholar 

  17. Bodhisattwa Mukherjee, Greg Eisenhauer, and Kaushik Ghosh. A machine independent interface for lightweight threads. Technical Report CIT-CC-93/53, College of Computing, Georgia Institute of Technology, Atlanta, Georgia, 1993.

    Google Scholar 

  18. B. Seevers, M. J. Quinn, and P. J. Hatcher. A parallel programming environment supporting multiple data-parallel modules. In Workshop on Languages, Compilers and Run-Time Environments for Distributed Mmeory Machines, October 1992.

    Google Scholar 

  19. J. Subhlok, J. Stichnoth, D. O'Hallaron, and T. Gross. Exploiting task and data parallelism on a multicomputer. In Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, May 1993.

    Google Scholar 

  20. Neelakantan Sundaresan and Linda Lee. An object-oriented thread model for parallel numerical applicaitons. In Proceedings of the Second Annual Object-Oriented Numerics Conference, pages 291–308, Sunriver, OR, April 1994.

    Google Scholar 

  21. Thorsten von Eicken, David E. Culler, Seth Copen Goldstein, and Klaus Erik Schauser. Active messages: A mechanism for integrated communications and computation. In Proceedings of the 19th Annual International Symposium on Computer Architecture, pages 256–266, May 1992.

    Google Scholar 

  22. W. E. Weihl. Remote procedure call. In Sape Mullender, editor, Distributed systems, chapter 4, pages 65–86. ACM Press, 1989.

    Google Scholar 

  23. Mark Weiser, Alan Demers, and Carl Hauser. The portable common runtime approach to interoperability. ACM Symposium on Operating Systems Principles, pages 114–122, December 1989.

    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

Mehrotra, P., Haines, M. (1995). An overview of the Opus language and runtime system. 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/BFb0025889

Download citation

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

  • 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