Open AccessDissertation
Heterogeneous Multithreaded Computing
Howard J. Lu
- 01 Jan 1995
TL;DR: This thesis implements a heterogeneous multithreaded runtime system, and presents an implementation of Cilk that supports execution in heterogeneous environments, and proves its efficiency.
read more
Abstract: This thesis studies issues introduced by supporting multithreaded computing in environments composed of workers heterogeneous with respect to data representation, speed, and scale. We implement a heterogeneous multithreaded runtime system, and prove its efficiency. We present an implementation of Cilk that supports execution in heterogeneous environments. To support communication between workers with different data representations, we propose two mechanisms. The first mechanism translates messages to a canonical form on transmission and to the native host format on reception. The second mechanism generates signature tables of structures that are communicated between the workers to guide translation. We propose but do not implement an extension to generate signature tables for all C functions so that functions can be passed as messages. We prove the following: for a fully strict Cilk program with T1 total work and a critical path of length To, running on P workers with a maximum communication time amax, average performance 7rave, and maximum performance rmax, we obtain the execution time Tp = O(TI17aveP + TYmaxToormaxllrave) Furth rmore, the "effective parallelism" of such a computation is only a factor of omax/rmax worse than the average parallelism T1/Too. Thesis Supervisor: Charles E. Leiserson Title: Professor, Massachusetts Institute of Technology
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Proceedings Article
Adaptive and reliable parallel computing on networks of workstations
Robert D. Blumofe,Philip A. Lisiecki +1 more
- 06 Jan 1997
TL;DR: Cilk-NOW as mentioned in this paper is a runtime system that adaptively and reliably executes functional Cilk programs in parallel on a network of UNIX workstations, while programs remain fault oblivious.
References
Cilk: An Efficient Multithreaded Runtime System
Robert D. Blumofe,Christopher F. Joerg,Bradley C. Kuszmaul,Charles E. Leiserson,Keith H. Randall,Yuli Zhou +5 more
TL;DR: It is shown that on real and synthetic applications, the “work” and “critical-path length” of a Cilk computation can be used to model performance accurately, and it is proved that for the class of “fully strict” (well-structured) programs, the Cilk scheduler achieves space, time, and communication bounds all within a constant factor of optimal.
1.7K
Scheduling multithreaded computations by work stealing
TL;DR: This paper gives the first provably good work-stealing scheduler for multithreaded computations with dependencies, and shows that the expected time to execute a fully strict computation on P processors using this scheduler is 1:1.
PVM: a framework for parallel distributed computing
TL;DR: The PVM system is a programming environment for the development and execution of large concurrent or parallel applications that consist of many interacting, but relatively independent, components that operate on a collection of heterogeneous computing elements interconnected by one or more networks.
1.3K
On Holy Wars and a Plea for Peace
TL;DR: A war between Big Endians and Little Endians can be avoided and a bit from the big end should travel first.
Active messages: a mechanism for integrated communication and computation
Thorsten von Eicken,David E. Culler,Seth Copen Goldstein,Klaus Erik Schauser +3 more
- 01 Apr 1992
TL;DR: It is shown that active messages are sufficient to implement the dynamically scheduled languages for which message driven machines were designed and, with this mechanism, latency tolerance becomes a programming/compiling concern.