This request includes changes to x10rt_mpi.cc and Team.x10 to support ULFM's blocking collectives.
1) Finish before native blocking collective calls is removed because it causes the calls to hang.
2) Changes are also done to allow successful creation of new teams after some process failure (by calling MPI_Comm_shrink before creating a new team, and by ignore dead places in PlaceGroup.broadcastFlat calls).
3) sleepUntil calls Probes as a trial to avoid hanging of teams inside sleepUntil when one of the neighbours die when no immediate threads are used (this does not completely solve the problem, however).
This request includes changes to x10rt_mpi.cc and Team.x10 to support ULFM's blocking collectives. 1) Finish before native blocking collective calls is removed because it causes the calls to hang. 2) Changes are also done to allow successful creation of new teams after some process failure (by calling MPI_Comm_shrink before creating a new team, and by ignore dead places in PlaceGroup.broadcastFlat calls). 3) sleepUntil calls Probes as a trial to avoid hanging of teams inside sleepUntil when one of the neighbours die when no immediate threads are used (this does not completely solve the problem, however).