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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
Barbara Chapman, Piyush Mehrotra, and Hans Zima. Programming in Vienna Fortran. Scientific Programming, 1(1):31–50, 1992.
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.
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.
Message Passing Interface Forum. Document for a Standard Message Passing In-terface, draft edition, November 1993.
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.
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.
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.
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.
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).
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).
High Performance Fortran Forum. High Performance Fortran Language Specification, version 1.0 edition, May 1993.
IEEE. Threads Extension for Portable Operating Systems (Draft 7), February 1992.
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.
Frank Mueller. A library implementation of POSIX threads under UNIX. In Winter USENIX, pages 29–41, San Diego, CA, January 1993.
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.
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.
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.
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.
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.
W. E. Weihl. Remote procedure call. In Sape Mullender, editor, Distributed systems, chapter 4, pages 65–86. ACM Press, 1989.
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.
Author information
Authors and Affiliations
Editor information
Rights 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