(j3.2006) (SC22WG5.4011) [ukfortran] New summary of coarrays
N.M. Maclaren
nmm1
Fri Jun 12 04:32:03 EDT 2009
On Jun 12 2009, Bill Long wrote:
>
>> No, as I understand it existing hardware and physical constraints
>> encourages some vendors not to have global consistency; *and* we allow
>> them not to have global consistency.
>
>I didn't see any relation to global consistency here. The context was
>user written synchronization schemes. The issue is whether the atomic
>operations take near-infinite time to execute.
No, that's not so. It is the only likely problem with the specific example
in 8.39, which involves a single variable and two images, but you start
getting global consistency problems once you have more than two images, even
with a single variable.
Let's start with a variable X, initialised to zero. Image A processes for a
bit, and then sets it to 1. Image B waits until it is non-zero, processes
for a bit and sets it to 2. Image C waits until it is non-zero, processes
for a bit, waits until it is > 1, processes for a bit, and sets it to 3.
And so on.
The question is whether any image (say, P) can see the value of X increase
and then reduce again. Obviously, it may not see all values from 0 upwards.
>> As for "confusing to an ordinary user", not nearly as confusing as
>> getting wildly different answers or program hangs/crashes from the same
>> data on the same machine on a Thursday.
>
>The same machine should have pretty consistent performance for a single
>atomic memory operation.
Don't bet on it. Even that isn't universal, and I have seen it fail. On
complicated systems, you can get weird effects - and some of the weirdest
I saw were on an SGI Origin, which purported to guarantee sequential
consistency.
Regards,
Nick Maclaren,
University of Cambridge Computing Service,
New Museums Site, Pembroke Street, Cambridge CB2 3QH, England.
Email: nmm1 at cam.ac.uk
Tel.: +44 1223 334761 Fax: +44 1223 334679
More information about the J3
mailing list