<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Need fine-grained concurrency primitives</title>
	<atom:link href="http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/feed/" rel="self" type="application/rss+xml" />
	<link>http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/</link>
	<description>"glossing over detail for the sake of time or clarity"</description>
	<lastBuildDate>Wed, 16 Sep 2009 15:45:37 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Eager lazy languages &#171; Handwaving</title>
		<link>http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/#comment-35</link>
		<dc:creator>Eager lazy languages &#171; Handwaving</dc:creator>
		<pubDate>Fri, 14 Mar 2008 17:44:28 +0000</pubDate>
		<guid isPermaLink="false">http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/#comment-35</guid>
		<description>[...] great thing about the Internet is that CS luminaries might wander by your little blog and tell you you&#8217;re wrong. I thought there might be a way to exploit laziness to make more efficient use of the memory [...]</description>
		<content:encoded><![CDATA[<p>[...] great thing about the Internet is that CS luminaries might wander by your little blog and tell you you&#8217;re wrong. I thought there might be a way to exploit laziness to make more efficient use of the memory [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pinku</title>
		<link>http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/#comment-34</link>
		<dc:creator>Pinku</dc:creator>
		<pubDate>Mon, 10 Mar 2008 22:40:44 +0000</pubDate>
		<guid isPermaLink="false">http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/#comment-34</guid>
		<description>Moon is right: I&#039;m still thinking about squeezing extra speed from conventional RAM models. But conventional hardware is going to be around for quite a while, so it&#039;s not in vain. I have no idea what next-gen hardware might do. My last rambling comment about lazy languages was motivated by my dim memory of the FFTW compiler. FWIW, I&#039;ll explain in a full post.</description>
		<content:encoded><![CDATA[<p>Moon is right: I&#8217;m still thinking about squeezing extra speed from conventional RAM models. But conventional hardware is going to be around for quite a while, so it&#8217;s not in vain. I have no idea what next-gen hardware might do. My last rambling comment about lazy languages was motivated by my dim memory of the FFTW compiler. FWIW, I&#8217;ll explain in a full post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Moon</title>
		<link>http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/#comment-33</link>
		<dc:creator>Moon</dc:creator>
		<pubDate>Sun, 09 Mar 2008 20:22:10 +0000</pubDate>
		<guid isPermaLink="false">http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/#comment-33</guid>
		<description>Fine-grained concurrency will just advance the computation to the next cache miss faster.  I fail to see how that would help!  Seems like Amdahl&#039;s law applies here.

Aggressive reordering to avoid fetching the same data into the cache more than once makes a little more sense.

But you are still thinking in terms of an asymptotically smart compiler somehow being able to preserve the illusion of random access memory.  My point is that as that becomes increasingly untenable, we will instead be forced to change the model of computation in which the programmer thinks to a model that more closely corresponds to what the hardware can actually deliver.  Then the compiler is no longer being asked to perform an impossible job.  Unfortunately I do not have any great ideas to offer for how to do this.  You could think about modelling memory as a set of streams of data rather than as a random-access array of data.</description>
		<content:encoded><![CDATA[<p>Fine-grained concurrency will just advance the computation to the next cache miss faster.  I fail to see how that would help!  Seems like Amdahl&#8217;s law applies here.</p>
<p>Aggressive reordering to avoid fetching the same data into the cache more than once makes a little more sense.</p>
<p>But you are still thinking in terms of an asymptotically smart compiler somehow being able to preserve the illusion of random access memory.  My point is that as that becomes increasingly untenable, we will instead be forced to change the model of computation in which the programmer thinks to a model that more closely corresponds to what the hardware can actually deliver.  Then the compiler is no longer being asked to perform an impossible job.  Unfortunately I do not have any great ideas to offer for how to do this.  You could think about modelling memory as a set of streams of data rather than as a random-access array of data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Weinreb</title>
		<link>http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/#comment-28</link>
		<dc:creator>Daniel Weinreb</dc:creator>
		<pubDate>Wed, 20 Feb 2008 11:24:58 +0000</pubDate>
		<guid isPermaLink="false">http://surana.wordpress.com/2008/02/19/need-fine-grained-concurrency-primitives/#comment-28</guid>
		<description>Actually, Moon didn&#039;t say anything about fine-grain concurrency control. It is possible to take advantage of multi-core processors with deep caches by simply assigning disjoint main memory to each core and running threads in each core that don&#039;t interact with the others using the sharing of memory; or, at least, share memory in limited and restricted ways, to keep the concurrency control simple.

On the other hand, there has been a lot of theoretical work on CPU&#039;s with built-in transactional capacity at the instruction set level, which would make concurrent programming simpler to think about and do correctly.

I think that as the number of cores keeps going up, there will be a lot of experimentation with different approaches to programming to keep those cores busy.  It should be very interesting to see how it all plays out.</description>
		<content:encoded><![CDATA[<p>Actually, Moon didn&#8217;t say anything about fine-grain concurrency control. It is possible to take advantage of multi-core processors with deep caches by simply assigning disjoint main memory to each core and running threads in each core that don&#8217;t interact with the others using the sharing of memory; or, at least, share memory in limited and restricted ways, to keep the concurrency control simple.</p>
<p>On the other hand, there has been a lot of theoretical work on CPU&#8217;s with built-in transactional capacity at the instruction set level, which would make concurrent programming simpler to think about and do correctly.</p>
<p>I think that as the number of cores keeps going up, there will be a lot of experimentation with different approaches to programming to keep those cores busy.  It should be very interesting to see how it all plays out.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
