A Survey of Modern Multi-Threading Systems
Prasad Kakulavarapu, José Nelson Amaral
Multi-threaded architectures are a feasible approach to exploit both
regular and irregular parallelism. Today a large collection of
multi-threading architectures with different threading models, and
implementation platforms are available. These architectures
provide support for multi-threading either at hardware level, with
customized functional units, or at the software level, as emulators
written in some high-level language. The later approach is usually
preferred because of its favorable price tag, speed of
development, and portability. In this article we review some of
these architectures focusing on their capabilities to provide load
balancing for irregular, data-parallel and recursive
applications. The paper is anchored on a description of our own
implementation of load balancers for EARTH - Efficient Architecture
for Running THreads. Most of the multi-threading architectures that
we review are software emulations based on off-the-shelf hardware
and compiler technologies. In a related paper we detail the
implementation of the EARTH runtime system.
Return to José
Nelson Amaral's Publications
Send comments to: amaral AT cs DOT ualberta DOC ca
Return to Amaral's home
page