[cpp-threads] C++ memory model

Boehm, Hans hans.boehm at hp.com
Tue Sep 22 00:50:01 BST 2009


> As an aside, Fortran has backed off from this, and has 
> specified a simple sequentially consistent segment model, 
> with implementation dependent atomic semantics.  There are 
> good reasons for this, as it is targetting a much wider range 
> of architectures (including distributed memory clusters), and 
> considerable scalability (thousands of threads and upwards).  
> Sequentially consistent atomics are not good news for such 
> requirements ....
> 
That seems to be the general belief.  I personally haven't been convinced of wither the truth or falsity of the above statement.

So far, it looks to me more and more like the issues are similar to the shared memory case:  It's easy to implement something cheaper whose semantics we can't rigorously define  (particularly if you don't have control over the underlying architecture, which implements something cheaper without a simple definition).  Once you look at the fundamental properties that need to be enforced for something of manageable complexity, I have a hard time convincing myself that the alternatives are really much cheaper, unless you expose something similar to a message-passing model instead, which of course presents different tradeoffs.


Hans


More information about the cpp-threads mailing list