(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