Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Compiler-controlled multithreading for lenient parallel languages

Book ·
OSTI ID:5312979

Tolerance to communication latency and inexpensive synchronization are critical for general-purpose computing on large multiprocessors. Fast dynamic scheduling is required for powerful non-strict parallel languages. However, machines that support rapid switching between multiple execution threads remain a design challenge. This paper explores how multithreaded execution can be addressed as a compilation problem, to achieve switching rates approaching what hardware mechanisms might provide. Compiler-controlled multithreading is examined through compilation of a lenient parallel language, Id90, for a threaded abstract machine, TAM. A key feature of TAM is that synchronization is explicit and occurs only at the start of a thread, so that a simple cost model can be applied. A scheduling hierarchy allows the compiler to schedule logically related threads closely together in time and to use registers across threads. Remote communication is via message sends and split-phase memory accesses. Messages and memory replies are received by compiler-generated message handlers which rapidly integrate these events with thread scheduling.

OSTI ID:
5312979
Country of Publication:
United States
Language:
English

Similar Records

Compile-time partitioning of a non-strict language with side-effects into sequential threads
Conference · Mon Dec 31 23:00:00 EST 1990 · OSTI ID:5241520

A study of the Earth-Manna multithreaded system
Journal Article · Thu Aug 01 00:00:00 EDT 1996 · International Journal of Parallel Programming · OSTI ID:441127

Performance of switch blocking on multithreaded architectures
Conference · Fri Dec 30 23:00:00 EST 1994 · OSTI ID:98917