In MPI, is it possible to add new nodes after it is started? For example, I have 2 computers already running a parallel MPI application. I start another instance of this application on a third computer and add it to the existing communicator. All computers are in a local network.
相关问题
- About MPI_Reduce
- Boost MPI doesn't free resources when listenin
- How to: Azure OpenMPI with Infiniband - Linux
- Kill an mpi process
- How does Zookeeper manage node roles in other clus
相关文章
- MPI and D: Linker Options
- Mapping of elements gone bad
- What happens if the leader is not dead but unable
- spark unix_timestamp data type mismatch
- Did I compile with OpenMPI or MPICH?
- How does MPI Odd-Even sort work?
- Unable to use all cores with mpirun
- Shuffled vs non-shuffled coalesce in Apache Spark
No, it's not currently possible to add new nodes to a running MPI application. MPI is designed to know the total number of nodes when the program starts.
Work is being done (on MPI-3, for example) on handling nodes that go down. Maybe if you can add faulty nodes back, then you can add new ones, but that's the closest thing I can think of. See this answer for more info on approaches to MPI fault tolerance.
It is possible for a MPI2 program to spawn new ranks. The function is MPI_Comm_spawn and it starts up children on a new MPI communicator. That is to say the new ranks have a different MPI_COMM_WORLD from the previously running ranks. It should be possible to make a new communicator that contains all of the current running ranks though.