Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add a simgrid barrier at the end of MPI_Init call.
authorAugustin Degomme <adegomme@users.noreply.github.com>
Thu, 30 Sep 2021 15:44:09 +0000 (17:44 +0200)
committerAugustin Degomme <adegomme@users.noreply.github.com>
Thu, 30 Sep 2021 15:50:07 +0000 (17:50 +0200)
commit96639a9582d88a088f162bf6e8eea95d7b73cb18
tree13fc07392ba8df9eb37d3f8c8f26b42675738526
parent64e7e8c55cb98ef667ebe13284e1a215fe1a8862
Add a simgrid barrier at the end of MPI_Init call.
Rationale is that if one process is delayed in its initialization due to previous work, other processes might start sending to it even if it has not registered yet in the instance and in the comm world.
Thanks Julien Emmanuel for the report.
There is still an issue for ti-tracing and replay. ti-traces write in a common file the path to their trace file, and if the order of initialization is not perfectly ordered, a subsequent replay would assign wrong traces at each process. We should find a new way to generate this file properly.
For now, as the barrier is done after this initialization, this bug is still under the rug.
src/smpi/include/private.hpp
src/smpi/include/smpi_actor.hpp
src/smpi/internals/smpi_deployment.cpp
src/smpi/internals/smpi_global.cpp