On 6/15/11 5:45 AM, "Ole Kliemann" <ole-ompi-2011_at_[hidden]>
>On Mon, Jun 13, 2011 at 04:11:44PM +0000, Barrett, Brian W wrote:
>> There are no missing calls to MPI_WIN_FENCE as the code is using passive
>> synchronization (lock/unlock). The test code looks correct, I think
>> is a bug in Open MPI. The code also fails on the development trunk, so
>> upgrading will not fix the bug. I've filed a bug (#2809).
>> I'm not sure when I'll have time to investigate further.
>Thanks alot for you help, much appreciated!
>> One other note... Even when everything works correctly, Open MPI's
>> passive target synchronization implementation is pretty poor (this
>> from the guy who wrote the code). Open MPI doesn't offer asynchronous
>> progress for lock/unlock, so all processes have to be entering in the
>> library for progress. Also, the latency isn't the best.
>Taking your words above into account, Brian, I think I can assume that
>these 40-50% idle time are not so much out of the order and no result on
>a big mistake on my part.
Given what you've described, yes, the overheads are probably expected.
The issue is that the threading design on which the one-sided relies for
progress was never implemented in the rest of Open MPI, and there's not a
good way to provide asynchronous progress using the data movement
interface inside Open MPI at this time.
Brian W. Barrett
Dept. 1423: Scalable System Software
Sandia National Laboratories