Skip to content

Commit 7002dde

Browse files
author
Gordon Brown
committed
CP013: Add discussion of dynamic process management in PVM and MPI.
* Add section describing dynamic process management in PVM and MPI.
1 parent bf7bed3 commit 7002dde

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

affinity/cpp-20/d0796r1.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,10 @@ An interesting question which arises here is whether the system topology of an e
255255

256256
Note that this is different from devices that go online or offline during execution: The devices themselves are online, they have not been found (or used) by the program until the appropriate discovery stage has been executed.
257257

258+
There are generally two main reasons why you would want the **system resource topology** to be dynamic after the initial point of discovery. Firstly for fault tolerance, being able to handle a resource becoming unavailable at some point after the initial discovery while the application is running. Secondly for detecting a new resource, being able to discover new resources added to the system at some point after the initial discovery while the application is running. Though the former case is much more common than the latter.
259+
260+
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++.
261+
258262
| Straw Poll |
259263
|------------|
260264
| Should the interface allow a system’s resource topology to be updated dynamically after initial initialisation? |

0 commit comments

Comments
 (0)