Threads for Interoperable Parallel Programming
Workshop on Languages and Compilers for Parallel Computing (LCPC) 1995
Publication Type: Paper
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.
L. V. Kale, Joshua Yelon, and T. Knauff, "Threads for Interoperable Parallel Programming", Proc. 9th Conference on Languages and Compilers for Parallel Computers, San Jose, California, August 1996.