+MPI originally (in MPI-1) did not support dynamic process management and fault tolerance, all processes which were capable of communicating with each other would be identified and fixed during initialisation. PVM (which was originally designed for heterogeneous compute systems), used an alternative execution model of manually spawning processes from the main process and with it allowed for fault tolerance. This demonstrated that it could be implemented and could be useful, which lead to MPI also introducing dynamic process management and fault tolerance in MPI-2. However, althogh these features are available, the execution model of having all processes fixed on initialisation is generally still the prefered approach for HPC aplications. This execution model is shared by SHMEM, Fortran coarrays and UPC++.
0 commit comments