0

If I want to remap processes-core for MPI program, can I migrate after those are spawned? For example: Node 1 have: P0,P3,P6 and Node 2 have: P1,P4,P7. Can I migrate P1 to Node 1? Topology aware MPI suggests remapping in research papers. That hints of picking a process and put it into such a node that provides best result. Is it possible to do?

2 Answers2

1

No. MPI does not have any migration functionality. Topology-aware MPI (which as you remark is pretty much research level, not production) uses knowledge of how the application communicates to map ranks to nodes. Normally ranks are put on successive nodes; if you have knowledge about what ranks often communicate, they can be mapped closer together.

Victor Eijkhout
  • 5,088
  • 2
  • 22
  • 23
1

To go off of what Victor said: MPI-libraries do allow you to manually place processes via the use of a hostfile and/or mpirun-based flags (be it inside MPICH, OpenMPI, MVAPICH2, etc.). Profiling your application via something like TAU and viewing a communication matrix (see tau.uoregon.edu for documentation) before choosing the "best" process mapping for your application.

  • 1
    That's a good strategy: not migrate but figure out the best mapping yourself beforehand. – Victor Eijkhout Sep 24 '22 at 13:54
  • 1
    I am not sure "remapping" was interpreted correctly. It could mean "process migration", but it could also simply mean "create a new communicator in which tasks are renumbered optimally based on the topology". – Gilles Gouaillardet Sep 24 '22 at 13:59