Digital is another newcomer to the MPI world, having recently released a version for clusters of Alpha SMP servers connected by Digital's proprietary Memory Channel interconnect . Digital MPI is quite close to the original MPICH, with special optimizations for communication over local shared memory and over the memory channel.
Digital's implementation of the MPICH ADI uses a lower level communication layer, UMP (Universal Message Passing), that provides low-level communication functionality over the Memory Channel and over shared memory. For long messages, UMP uses a background thread to allow overlap of communication and computation.
While Digital MPI is well-optimized for its hardware, there is not yet a robust cluster environment in which to embed it. For instance, there are no tools for the management of parallel jobs, I/O is no better than MPICH, jobs are not automatically distributed over an Alpha cluster. There is no special scheduling of parallel jobs, such as gang scheduling or a mechanism to dedicate processors to a single application. The best debugging option on such a cluster is currently to use MPICH with Totalview. Digital MPI also inherits the two standard bugs from an earlier version of MPICH -- lack of support for MPI_Cancel and incorrect treatment of Fortran constants. On the other hand, this is a brand-new implementation, and the situation is likely to improve.