On 16/3/25 12:37, Akira Yokosawa wrote:
> As is well known, Alpha is infamous of its lack of address-dependency
> guarantees. I don't see much point in discussing whether it is multicopy
> atomic or not.
I agree this is not particularly important, I just found contradicting
information and wanted to clarify/fix Table 15.5.
> If you have access to an Alpha machine with 3 or more CPUs,
> you should be able to run this test with the help of klitmus7.
Thanks for the test. Sadly, I don't have access to an Alpha CPU (I was
born after DEC was bought by Compaq)
> Finally, my mental model of other-multi-copy might be different from
> those defined in papers you cited below.
Might be, I have just realized mine is wrong. I have just run Listing
15.16 (C-WRC...) in herd using the "linux" model to realize the exists
clause can trigger.
Note that it can do so while "RFE" imposes order for the "linux" model
(it is part of happens-before), so my original comment stating
non-mca == rfe does not impose order
is wrong if Read[X = 0] (fr) -> Write[X = 1] does not mean that the read
is ordered before the write. However, this doesn't seem to be the case
for Alpha [3]
Section 5.6.1.2: The ordering relation Before (<=) is acyclic
Section 5.6.1.4: If u and v are overlapping read/write accesses, at
least one of which is a write, then u and v must be comparable in
the BEFORE (<=) ordering, that is, either u <= v or v <= u.
It's still my opinion that Alpha is other-multi-copy atomic but I
understand it is a bit pointless to discuss about this... Sorry, I
couldn't resist.
Thanks
[3] https://download.majix.org/dec/alpha_arch_ref.pdf