[cpp-threads] RE: "Agenda" for august 23-25 concurrency meeting

Nick Maclaren nmm1 at cus.cam.ac.uk
Fri Sep 1 15:10:01 BST 2006


Doug Lea <dl at cs.oswego.edu> wrote:
> 
> Despite lack of a killer example, and my belief that macho
> lock-free programmers could cope with lack of guaranteed
> transitivity,  I am still uncomfortable about
> relaxing requirements for TSO-ness as a both a human-factors
> and language semantics concern. People seem to naturally
> think causally, and will be unable to even see bugs due to
> bad assumptions. So it seems like a sure thing that a relaxed
> model will lead to more programming errors, especially by
> less-than-expert programmers dabbling with some lock-free
> constructions. Maybe hardly any of them. But of these, maybe
> some really serious ones. It is not an easy decision.

Yes, that is generally agreed, except for one thing, where I think
that you are confused.  As Alexander Terekhov points out, there are
a zillion variants of consistency, but perhaps the most useful set
are ordered like this:

pairwise < transitive < sequentially consistent < true global

Now, pairwise is generally reckoned to be unusable even by most
experts, except in full-blown message-passing designs (and not always
even for them!)  I can witness that I have difficulty :-)

True global consistency is essentially unimplementable at reasonable
efficiency, because it implies a full barrier between every reference
to a potentially shared object.

The question is which of the other two.  But the point is that nobody
is currently proposing to abandon guaranteed transitivity, though the
transitivity of one sort of synchronisation may not imply that of
another.

I fully agree that, in the relevant area, there are strong arguments
for both more and less consistency, and there is no 'right' solution.
My view is that the requirement is that the model is sane, consistent
and VERY clearly specified - given that, it is a matter of judgement
where the best compromise lies, and judgements differ according to
people's different objectives.


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 cpp-threads mailing list