𝔖 Bobbio Scriptorium
✦   LIBER   ✦

Runtime Mechanisms for Efficient Dynamic Multithreading

✍ Scribed by Vijay Karamcheti; John Plevyak; Andrew A. Chien


Publisher
Elsevier Science
Year
1996
Tongue
English
Weight
490 KB
Volume
37
Category
Article
ISSN
0743-7315

No coin nor oath required. For personal study only.

✦ Synopsis


High performance on distributed memory machines for programming models with dynamic thread creation and multithreading requires efficient thread management and communication. Traditional multithreading runtimes, consisting of few general-purpose, bundled mechanisms that assume minimal compiler and hardware support, are suitable for computations involving coarse-grained threads but provide low efficiency in the presence of small granularity threads and irregular communication behavior. We describe two mechanisms of the Illinois Concert runtime system which address this shortcoming. The first, hybrid stack-heap execution, exploits close coupling with the compiler to dynamically form coarse-grained execution units; threads are lazily created as required by runtime situations. The second, pull messaging, exploits hardware support to implement a distributed message queue with receiver-initiated data transfer, delivering robust performance across a wide range of dynamic communication characteristics. We measure their performance impact based on a Cray T3D implementation of the Concert system. Individually, the mechanisms increase absolute execution efficiency by up to 50%. Together, they increase the feasible space of efficient computations, enabling compute granularities an order of magnitude smaller. Performance results for two large irregular applications demonstrate that expressing programs using dynamic multithreading need not compromise on performance.


πŸ“œ SIMILAR VOLUMES


Cilk: An Efficient Multithreaded Runtime
✍ Robert D. Blumofe; Christopher F. Joerg; Bradley C. Kuszmaul; Charles E. Leisers πŸ“‚ Article πŸ“… 1996 πŸ› Elsevier Science 🌐 English βš– 884 KB

Cilk (pronounced ''silk'') is a C-based runtime system for multithreaded parallel programming. In this paper, we document the efficiency of the Cilk work-stealing scheduler, both empirically and analytically. We show that on real and synthetic applications, the ''work'' and ''critical-path length''

Dynamic algorithm selection for runtime
✍ Peter Pirkelbauer; Sean Parent; Mat Marcus; Bjarne Stroustrup πŸ“‚ Article πŸ“… 2010 πŸ› Elsevier Science 🌐 English βš– 473 KB

A key benefit of generic programming is its support for producing modules with clean separation. In particular, generic algorithms are written to work with a wide variety of types without requiring modifications to them. The Runtime concept idiom extends this support by allowing unmodified concrete

Architectural Support and Mechanisms for
✍ Vijay Karamcheti; Andrew A. Chien πŸ“‚ Article πŸ“… 1999 πŸ› Elsevier Science 🌐 English βš– 544 KB

High-level parallel programming models supporting dynamic fine-grained threads in a global object space are becoming increasingly popular for expressing irregular applications based on sophisticated adaptive algorithms and pointer-based data structures. However, implementing these multithreaded comp

DYNAMIC ANALYSIS OF AN AUTOMATIC DYNAMIC
✍ J. CHUNG; D.S. RO πŸ“‚ Article πŸ“… 1999 πŸ› Elsevier Science 🌐 English βš– 346 KB

Dynamic stability and behavior of an automatic dynamic balance (ADB) are analyzed by a theoretical approach. Using Lagrange's equation, we derive the non-linear equations of motion for an autonomous system with respect to the polar co-ordinate system. From the equations of motion for the autonomous