Guy Tremblay, Christopher J. Morrone, José Nelson Amaral, and Guang
R. Gao,
This paper describes the design and implementation of an EARTH runtime
system for a multi-processor/multi-node cluster. The Efficient
Architecture for Running THreads (EARTH) model was designed to support
the efficient execution of parallel (multi-threaded) programs with
irregular fine-grain parallelism using off-the-shelf computers.
Implementing an EARTH runtime system requires an explicitly threaded
runtime system. For portability, we built this runtime system on top
of Pthreads under Linux and used sockets for inter-node
communication. Moreover, in order to make the best use of the
resources available on a cluster of Symmetric Multi-Processors (SMP),
this implementation enables the overlapping of communication and
computation.
We used Threaded-C, a language designed to implement the programming
model supported by the EARTH architecture. This language allows the
expression of various levels of parallelism and provides the
primitives needed to manage the required communication and
synchronization. The Threaded-C programming language supports
irregular fine-grain parallelism through a two-level hierarchy of
threads and fibers. It also provides various synchronization and
communication constructs that reflect the nature of EARTH's fibers ---
non-preemptive execution with data-driven scheduling --- as well as the
extensive use of split-phase transactions on EARTH to execute long
latency operations.
Return to José Nelson Amaral's
Publications
Send comments to: amaral AT cs DOT ualberta DOC ca
Return to Amaral's home
page