MPI-LITE: Multithreading Support for MPI

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)