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.
Preview
Unable to display preview. Download preview PDF.
References
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.
M. Haines, D. Cronk, and P. Mehrotra. On the design of Chant: A talking threads package. In Proceedings of Supercomputing 1994, Nov 1994.
R. Halstead. Multilisp: A Language for Concurrent Symbolic Computation. ACM Transactions on Programming Languages and Systems, October 1985.
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.
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.
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.
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.
Message Passing Interface Forum. MPI: A Message-Passing Interface Standard, May 1994.
Vance P. Morrison. Import/dome language reference manual. Technical report, US. Army Corps of Engineering Research Laboratory, ASSET group., 1995.
Rishiyur S. Nikhil. Parallel Symbolic Computing in Cid. In Parallel Symbolic Languages and Systems, 1995.
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.
PORTS-POrtable Runtime System consortium. The PORTS0 Interface. Technical report, Jan 1995.
POSIX System Application Program Interface: Threads Extension to C Language. Technical Report POSIX 1003.4a Draft 8, Available from the IEEE Standards Department.
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.
V.S. Sunderam. PVM: A Framework for Parallel Distributed Computing. Concurrency: Practice and Experience, 2(4), December 1990.
Author information
Authors and Affiliations
Editor information
Rights 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