On 6/15/11 5:45 AM, "Ole Kliemann" <ole-ompi-2...@mail.plastictree.net> wrote:
>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 >>this >> 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). >>Unfortunately, >> 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 >>coming >> 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 >>MPI >> library for progress. Also, the latency isn't the best. <snip> >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 -- Brian W. Barrett Dept. 1423: Scalable System Software Sandia National Laboratories