Add Master / Slaves to RPC framework
Sometimes we see the relationships of our process as
- clients - server (n to 1)
- master - slaves (1 to n)
Here we introduce the Master / Slaves schema:
- The world communicator is split according to process role (master or slave)
- Commands are broadcasted to every slaves, e.g.
MPI_Bcst
- Result values are reduced, e.g.
MPI_Allreduce
in the slaves intracommunicator using a "consensus" function - Slave leader sends the result to master, e.g.
MPI_Send