<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Who ordered sequential consistency?</title>
	<atom:link href="http://bartoszmilewski.wordpress.com/2008/11/11/who-ordered-sequential-consistency/feed/" rel="self" type="application/rss+xml" />
	<link>http://bartoszmilewski.wordpress.com/2008/11/11/who-ordered-sequential-consistency/</link>
	<description>Concurrency, Multicore, Language Design, D, C++</description>
	<lastBuildDate>Thu, 29 Oct 2009 00:38:24 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: C++ atomics and memory ordering &#171;   Bartosz Milewski&#8217;s Programming Cafe</title>
		<link>http://bartoszmilewski.wordpress.com/2008/11/11/who-ordered-sequential-consistency/#comment-100</link>
		<dc:creator>C++ atomics and memory ordering &#171;   Bartosz Milewski&#8217;s Programming Cafe</dc:creator>
		<pubDate>Mon, 01 Dec 2008 22:01:45 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=307#comment-100</guid>
		<description>[...] are some other algorithms, like the Peterson lock, which do require memory fences on the x86 (see my previous post). So it&#8217;s not just the matter of skipping all [...]</description>
		<content:encoded><![CDATA[<p>[...] are some other algorithms, like the Peterson lock, which do require memory fences on the x86 (see my previous post). So it&#8217;s not just the matter of skipping all [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anthony Williams</title>
		<link>http://bartoszmilewski.wordpress.com/2008/11/11/who-ordered-sequential-consistency/#comment-96</link>
		<dc:creator>Anthony Williams</dc:creator>
		<pubDate>Fri, 28 Nov 2008 13:13:52 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=307#comment-96</guid>
		<description>The x86 has one of the least-relaxed memory models of common processors. The POWER memory model and Sun SPARC RMO memory model give the processor(s) much more freedom to reorder operations, and this freedom is reflected in the C++0x memory model.

There are some examples in my recent blog entry on the C++0x memory model:

http://www.justsoftwaresolutions.co.uk/threading/memory_models_and_synchronization.html</description>
		<content:encoded><![CDATA[<p>The x86 has one of the least-relaxed memory models of common processors. The POWER memory model and Sun SPARC RMO memory model give the processor(s) much more freedom to reorder operations, and this freedom is reflected in the C++0x memory model.</p>
<p>There are some examples in my recent blog entry on the C++0x memory model:</p>
<p><a href="http://www.justsoftwaresolutions.co.uk/threading/memory_models_and_synchronization.html" rel="nofollow">http://www.justsoftwaresolutions.co.uk/threading/memory_models_and_synchronization.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitriy V'jukov</title>
		<link>http://bartoszmilewski.wordpress.com/2008/11/11/who-ordered-sequential-consistency/#comment-92</link>
		<dc:creator>Dmitriy V'jukov</dc:creator>
		<pubDate>Fri, 14 Nov 2008 12:00:31 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=307#comment-92</guid>
		<description>:)
I think it was 3 or 4 years of just reading/studying/thinking, and only about 1.5 years of active discussions.
Definitely it&#039;s extremely hard stuff... at the beginning. I just wanted to show what it&#039;s all about. I.e. it&#039;s hard, but what one can get if he masters it?
And another interesting consequence is that such low-level details as memory ordering, cache behavior, etc also can give many insights into such things as systems architecture, distributed systems, etc.</description>
		<content:encoded><![CDATA[<p> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
I think it was 3 or 4 years of just reading/studying/thinking, and only about 1.5 years of active discussions.<br />
Definitely it&#8217;s extremely hard stuff&#8230; at the beginning. I just wanted to show what it&#8217;s all about. I.e. it&#8217;s hard, but what one can get if he masters it?<br />
And another interesting consequence is that such low-level details as memory ordering, cache behavior, etc also can give many insights into such things as systems architecture, distributed systems, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bartosz Milewski</title>
		<link>http://bartoszmilewski.wordpress.com/2008/11/11/who-ordered-sequential-consistency/#comment-91</link>
		<dc:creator>Bartosz Milewski</dc:creator>
		<pubDate>Fri, 14 Nov 2008 00:29:14 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=307#comment-91</guid>
		<description>Dmitriy, I have come across your posts in several newsgroups. Let&#039;s face it, you are one of the very few specialists in this area who know what they are talking about. Please tell the readers how many years you have dedicated to studying concurrency and reading and discussing processor specs. I will then say: Anybody with that much experience feel free to play games with memory fences.</description>
		<content:encoded><![CDATA[<p>Dmitriy, I have come across your posts in several newsgroups. Let&#8217;s face it, you are one of the very few specialists in this area who know what they are talking about. Please tell the readers how many years you have dedicated to studying concurrency and reading and discussing processor specs. I will then say: Anybody with that much experience feel free to play games with memory fences.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitriy V'jukov</title>
		<link>http://bartoszmilewski.wordpress.com/2008/11/11/who-ordered-sequential-consistency/#comment-88</link>
		<dc:creator>Dmitriy V'jukov</dc:creator>
		<pubDate>Thu, 13 Nov 2008 20:02:58 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=307#comment-88</guid>
		<description>Well, one can stay away form such games if it&#039;s Ok for him to have 100x performance degradation.

As an example one can take a look on this hash map implementation:
http://groups.google.com/group/lock-free/browse_frm/thread/a826061a4af06dc0
It&#039;s 50x faster that Intel Threading Building Blocks concurrent_hash_map already on quad-core. TBB&#039;s hash map indeed uses &#039;sequential consistency&#039; to simplify things a bit.

Also one can use tools like Relacy Race Detector:
http://groups.google.com/group/relacy
to kick $hit from algorithms like Peterson&#039;s mutex etc. Relacy Race Detector nearly 100% models C++0x&#039;s extremely relaxed memory model. So it can compromise algorithm which fails only on, for example, platforms with non Total Store Order (I believe that most current x86 are actually TSO).</description>
		<content:encoded><![CDATA[<p>Well, one can stay away form such games if it&#8217;s Ok for him to have 100x performance degradation.</p>
<p>As an example one can take a look on this hash map implementation:<br />
<a href="http://groups.google.com/group/lock-free/browse_frm/thread/a826061a4af06dc0" rel="nofollow">http://groups.google.com/group/lock-free/browse_frm/thread/a826061a4af06dc0</a><br />
It&#8217;s 50x faster that Intel Threading Building Blocks concurrent_hash_map already on quad-core. TBB&#8217;s hash map indeed uses &#8217;sequential consistency&#8217; to simplify things a bit.</p>
<p>Also one can use tools like Relacy Race Detector:<br />
<a href="http://groups.google.com/group/relacy" rel="nofollow">http://groups.google.com/group/relacy</a><br />
to kick $hit from algorithms like Peterson&#8217;s mutex etc. Relacy Race Detector nearly 100% models C++0x&#8217;s extremely relaxed memory model. So it can compromise algorithm which fails only on, for example, platforms with non Total Store Order (I believe that most current x86 are actually TSO).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
