A library called MPI-LITE has been developed to support multithreaded
computation within MPI. With the standard MPI distributions,
each process is typically mapped to a unique processor;
the only way to map multiple processes to a processor was by creating
multiple heavy weight processes (e.g., UNIX processes).
MPI-LITE provides a portable kernel for thread cretaion, termination,
and scheduling. The kernel can be used to spawn multiple light-weight
processes (or threads) which execute together as a single process
on a processor. MPI-LITE offers significant performance
benefits compared to MPI, as the threads mapped to a common processor
in MPI-LITE can communicate directly without requiring expensive
OS support. AMong other benefits, the ability to support multiple
threads implies that a programmer can effectively use latency hiding
programming techniques to improve parallel program performance.
At present a core set of communication routines
provided by MPI have been implemented in MPI-LITE.
The functions supported by MPI-LITE are
syntactically identical to corresponding MPI calls,
with the only difference being the use of a special
prefix to distinguish between the two.
The set of functions currently supporrted by MPI-LITE include
the most commonly used MPI functions. For instance,
existing MPI programs from the NAS benchmark suite
have been successfully ported to MPI-LITE and
executed on the IBM SP-2.
We have evaluted MPI-LITE in terms of context switching time for the thread
facility provied by it, and inter, intra thread communication times.
We are releasing a beta version of MPI-LITE along with
a manual completely describing its use.
The manual contains a comprehensive description of
MPI-LITE and its usage. If you want to download the manual or source code go
to the download page.
Any bugs, comments or help on MPI-LITE are welcome and can be directed to the
email address punit@cs.ucla.edu with subject "MPI-LITE".
Punit Bhargava
Research Assitant,
Parallel Computing Lab
University of California, Los Angeles.
CA 90024.
email address : punit@cs.ucla.edu
tel: (310)-209-3360 (residence)
(310)-825-4885 (Office)
|