An Implementation of a Hopfield Network Kernel on EARTH
José Nelson Amaral, Guang Gao, and Xinan Tang
EARTH is a multithreaded program execution and architecture model that
hides communication and synchronization latencies through fine-grain
multithreading. EARTH provides a simple synchronization mechanism: a
thread is spawned when a pre-specified number of synchronization
signals are received in its synchronization slot -- signaling the fact
that all dependences required for its execution are satisfied. This
simple synchronization mechanism is an essential primitive in
Threaded-C -- a multithreaded language designed to program
applications on EARTH. The EARTH synchronization mechanism has been
efficiently implemented on a number of computer platforms, and has
played an essential role in the support of a large number of parallel
applications on EARTH.
An interesting open question has been: is such a simple mechanism
sufficient to satisfy the synchronization needs of the large set of
applications that EARTH can implement? Or could the EARTH programming
model benefit from the implementation of more elaborate
synchronization mechanism? In such case, what are the benefits and
tradeoffs of adding this mechanisms to EARTH?
This paper describes the implementation of I-structures under the
EARTH execution and architecture model. An I-structure is a data
structure that allows for the implementation of a {\em lenient}
computation model. A read operation can be issued to an element of an
I-structure before it is known that the corresponding write operation
has produced the value. We also introduce a new parallel kernel based
on the Hopfield Network and demonstrate how the I-structure support on
EARTH can be utilized. We finish presenting a complete Threaded-C
program to solve the Hopfield kernel is also presented.
\end{abstract}
Return to José
Nelson Amaral's Publications
Send comments to: amaral AT cs DOT ualberta DOC ca
Return to Amaral's home
page