Skip to main content

Threads for interoperable parallel programming

  • Run Time Control of Parallelism
  • Conference paper
  • First Online:
Book cover Languages and Compilers for Parallel Computing (LCPC 1996)

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

Abstract

Many thread packages are freely available on the Internet. Yet, most parallel language design groups seem to have rejected all existing packages and implemented their own. This is unsurprising. Existing thread packages were designed for sequential computers, not parallel machines, and do not fit well in a parallel environment. Also importantly, existing thread packages try to impose a number of design decisions, especially in regard to scheduling and preemption. Designers of parallel languages are simply not willing to have scheduling methods decided for them, nor are they willing to allow the threads package to decide how concurrency control will work. In this paper, we explore the special issues raised when threads packages are used on parallel machines, particularly as parts of new parallel languages and systems. We describe the Converse threads subsystem, whose goals are to support the special needs of parallel programs, and to support interoperability among parallel languages. We then demonstrate how the Converse threads subsystem addresses the problems created when threads are used on a parallel computer.

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. D. Ball and S. Hoyt. The Adaptive Time-Warp Concurrency Control Algorithm. In Proceedings of the SCS Multiconference on Distributed Simulation, pages 174–177, 1990.

    Google Scholar 

  2. M. Haines, D. Cronk, and P. Mehrotra. On the design of Chant: A talking threads package. In Proceedings of Supercomputing 1994, Nov 1994.

    Google Scholar 

  3. R. Halstead. Multilisp: A Language for Concurrent Symbolic Computation. ACM Transactions on Programming Languages and Systems, October 1985.

    Google Scholar 

  4. L.V. Kalé, M. Bhandarkar, N. Jagathesan, S. Krishnan, and J. Yelon. Converse: An Interoperable Framework for Parallel Programming. In International Parallel Processing Symposium 1996 (to appear), 1996.

    Google Scholar 

  5. L.V. Kale and Sanjeev Krishnan. Charm++: A portable concurrent object oriented system based on C++. In Proceedings of the Conference on Object Oriented Programming Systems, Languages and Applications, September 1993.

    Google Scholar 

  6. David Keppel. Tools and techniques for building fast portable threads packages. Technical Report UWCSE 93-05-06, University of Washington Department of Computer Science and Engineering, May 1993.

    Google Scholar 

  7. E. Kornkven and L.V. Kalé. Efficient Implementation of High Performance Fortran via Adaptive Scheduling — An Overview. In V. K. Prasanna, V. P. Bhatkar, L. M. Patnaik, and S. K. Tripathi, editors, Proceedings of the 1st International Workshop on Parallel Processing. Tata McGraw-Hill, New Delhi, India, December 1994.

    Google Scholar 

  8. Message Passing Interface Forum. MPI: A Message-Passing Interface Standard, May 1994.

    Google Scholar 

  9. Vance P. Morrison. Import/dome language reference manual. Technical report, US. Army Corps of Engineering Research Laboratory, ASSET group., 1995.

    Google Scholar 

  10. Rishiyur S. Nikhil. Parallel Symbolic Computing in Cid. In Parallel Symbolic Languages and Systems, 1995.

    Google Scholar 

  11. John Plevyak, Vijay Karamcheti, Xingbin Zhang, and Andrew A. Chien. A hybrid execution model for fine-grained languages on distributed memory multicomputers. In Supercomputing '95.

    Google Scholar 

  12. PORTS-POrtable Runtime System consortium. The PORTS0 Interface. Technical report, Jan 1995.

    Google Scholar 

  13. POSIX System Application Program Interface: Threads Extension to C Language. Technical Report POSIX 1003.4a Draft 8, Available from the IEEE Standards Department.

    Google Scholar 

  14. M. L. Powell, S. R. Kleiman, S. Barton, D. Shah, D. Stein, and M. Weeks. SunOS Multi-thread Architecture. In Proceedings of the Winter 1991 USENIX Conference.

    Google Scholar 

  15. V.S. Sunderam. PVM: A Framework for Parallel Distributed Computing. Concurrency: Practice and Experience, 2(4), December 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Sehr Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kalé, L.V., Yelon, J., Knauff, T. (1997). Threads for interoperable parallel programming. In: Sehr, D., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1996. Lecture Notes in Computer Science, vol 1239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017274

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63091-3

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics