[Mpi3-ft] MPI RMA FT Notes

Aurélien Bouteiller bouteill at icl.utk.edu
Wed Apr 17 09:03:19 CDT 2013

Here are my personal notes on the same issues as discussed by Jim. 

* What if window is on the NIC (with Win_Separate) ? 

* Win_allocate: should we destroy the associated allocated memory when revoking the window? 
  * Answer: Revoke doesn't change the state of object. The window should certainly not be deallocated. The extent of the area left "undefined" may be larger than  the regular definition (needs to be clarified). 
* Win_free: Well defined, similar to comm_free, no need to change (but the according text needs to be amended)

* Lock: if the process that currently holds the lock dies, there is a possibility that all other processes stall on the lock
  * the most common distributed implementation is MCS 
    * tail pointer stored on target, updated with 1-sided atomic_cas
    * use tail to point to myself
    * overall, the global state forms a distributed linked list 
    * We think there is a practical implementation that is FT for this algorithm (however, it is to be noted that we do not want or plan to enforce a particular algorithm, but knowing that it is a solvable problem is good). 
  * Other proposition is that lock failures are fatal and definitive (that is all ops will raise an error proc-failed as soon as some lock is used on a window where known failure exist). The only option is then to revoke the window (restrictive for users, but simpler on implementors).


Le 4 avr. 2013 à 10:03, Jim Dinan <dinan at mcs.anl.gov> a écrit :

> Hello,
> Here are my notes on open issues to investigate in FT for MPI RMA:
> * Separate/Unified memory models -- Is there any difference in which data is corrupted by a failure between these two models?
> * MPI_Win_allocate() allocates the window buffer.  Do failures have any impact on how this buffer is managed?  Can it be exposed in another window after a failure occurs?
> * MPI_Win_allocate_shared() similar to win_allocate().
> * What are the semantics of MPI_Win_free() on a revoked window?  It is normally synchronizing (to quiesce passive target communication).  Is it a local operation when the window has been revoked?
> * Because of the difficulty in managing a distributed lock, it has been proposed that all synchronizations that occur after a failure on a window should fail.  Investigate if this semantic is too restrictive.
> ~Jim.
> _______________________________________________
> mpi3-ft mailing list
> mpi3-ft at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-ft

* Dr. Aurélien Bouteiller
* Researcher at Innovative Computing Laboratory
* University of Tennessee
* 1122 Volunteer Boulevard, suite 309b
* Knoxville, TN 37996
* 865 974 9375

More information about the mpiwg-ft mailing list