Planned Enhancements


Up: Status and Plans Next: MPI-2 Previous: Other Users

We are pursuing several directions for future work based on MPICH.

New ADI
To further reduce latencies, particularly on systems where latency is already quite low, we plan an enhanced ADI that will enable MPICH to take advantage of low-level device capabilities.
Better collective algorithms
As mentioned in Section Collective Operations , the current collective operations are implemented in a straightforward way. We would like to incorporate some of the ideas in [1] for improved performance.
Thread safety
The MPI specification is thread-safe, and considerable effort has gone into providing for thread safety in MPICH, but this has not been seriously tested. The primary obstacle here is the availability of a test suite for thread safety of MPI operations.
Dynamic, lighter-weight TCP/IP device
We are nearing completion of a portable device that will replace p4 as our primary device for TCP/IP networks. It will be lighter weight than p4 and will support dynamic process management, which p4 does not.
RDP/UDP device
We are working on a reliable data protocol device approach, built on UDP/IP (User datagram protocol), which extends and leverages the initial work done by D. Brightwell [3].
Multiprotocol support
Currently MPICH can use only one of its ``devices'' at a time. Although two of those devices, the one based on Nexus [18] and the one based on p4, are to a certain extent multiprotocol devices, we need a general mechanism for allowing multiple devices to be active at the same time. We are designing such a mechanism now. This will allow, for example, two MPPs to be used at the same time, each using its own switches for internal communication and TCP/IP for communication between the two machines.
Ports to more machines
We are working with several groups to port MPICH to interesting new environments. These include
* the Parsytec machine;
* NEC SX-4 and Cenju-3;
* Microsoft Windows NT, both for multiprocessor servers and across the many different kinds of networks that NT will support; and
* Network protocols that are more efficient than TCP/IP, both standard (for example, MessageWay [10]) and proprietary (for example, Myrinet [2]).

Parallel I/O
We have recently begun a project to determine whether the concepts of the ADI can be extended to include parallel I/O. If this proves successful, we will include an experimental implementation of parts of MPI-IO [11,12] into MPICH.



Up: Status and Plans Next: MPI-2 Previous: Other Users