[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