radical-cybertools / radical.pilot

RADICAL-Pilot
http://radical-cybertools.github.io/radical-pilot/index.html
Other
54 stars 23 forks source link

Feature-Request: supporting MPI pre-connect on the launch level. #2878

Open AymenFJA opened 1 year ago

AymenFJA commented 1 year ago
  1. Description: Raised in the last Cylon meeting, and it is interesting as well. The Cylon team uses the flag pre-connect when they launch their MPI tasks. The pre-connect flag can improve the startup time of the MPI environment vs. if you use lazy-connect (default value).

I quote: Applications that require a fully connected topology, however, can see improved startup time if they automatically "pre-connect" all their processes during MPI_Init. Accordingly, Open MPI provides the MCA parameter "mpi_preconnect_mpi" which directs Open MPI to establish a "mostly" connected topology during MPI_Init (note that this MCA parameter used to be named "mpi_preconnect_all" prior to Open MPI v1.5; in v1.5, it was deprecated and replaced with "mpi_preconnect_mpi"). This is accomplished in a somewhat scalable fashion to help minimize startup time. ref

The question is can we support this feature? And if so, would it require a lot of development efforts? or is it a matter of setting a flag on the pre_launch of the task level?

andre-merzky commented 1 year ago

@mtitov 's work on launch method options should be able to cover that use case. In other words, I think that most of the implementation to cleanly support this in RP is done - but the remaining parts would require some dedicated effort to merge the respective branch which is out of sync with devel right now and is also not yet completed nor tested.