[Mpi3-rma] Lock/Unlock semantics
    Torsten Hoefler 
    htor at illinois.edu
       
    Mon Mar  5 13:08:26 CST 2012
    
    
  
Brian,
> I'm finally doing the implementation of MPI-3 RMA in Open MPI using our
> generic low level driver (rather than directly on Portals4) and have a
> question about semantics.  
Great!
> It appears to me that process B could attempt to lock process A
> multiple times simultaneously, including a mix of EXCLUSIVE and SHARED
> locks.  Does this appear correct to others?  If not, what in the
> standard prevents such behavior?  If it is correct, how are UNLOCK
> calls matched to the various LOCK calls?
I think you're correct (D'oh). I would assume that the locks match in
reverse order (like a stack, i.e., the last unlock matches the last
lock). 
> I didn't really run into this in the Portals4 implementation, because LOCK
> calls blocking in that implementation.  I never even thought about the
> potential for issue, because there was no lock ordering issue; one could
> only be in one lock type simultaneously.  And I'm not sure I fully
> comprehended the potential problem.  However, in the generic
> implementation, I've made lock non-blocking and now I run into this odd
> semantics situation.
Yep.
All the Best,
  Torsten
-- 
### qreharg rug ebs fv crryF ------------- http://www.unixer.de/ -----
Torsten Hoefler         | Performance Modeling and Simulation Lead
Blue Waters Directorate | University of Illinois (UIUC)
1205 W Clark Street     | Urbana, IL, 61801
NCSA Building           | +01 (217) 244-7736
    
    
More information about the mpiwg-rma
mailing list