<?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/"
	>
<channel>
	<title>Comments on: The &#8220;Many Core&#8221; Problem</title>
	<atom:link href="http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/feed/" rel="self" type="application/rss+xml" />
	<link>http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/</link>
	<description>A blog on .Net and SQL Server</description>
	<pubDate>Thu, 11 Mar 2010 14:47:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Clay Lenhart</title>
		<link>http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/comment-page-1/#comment-15325</link>
		<dc:creator>Clay Lenhart</dc:creator>
		<pubDate>Sun, 02 Nov 2008 20:03:56 +0000</pubDate>
		<guid isPermaLink="false">http://clay.lenharts.net/blog/?p=43#comment-15325</guid>
		<description>&gt; In which category does software transactional memory fall?

This is a oversight -- thanks for reminding me.  

For .Net people, you may be interested in the Transaction Memory blog http://blogs.msdn.com/stmteam/default.aspx.</description>
		<content:encoded><![CDATA[<p>> In which category does software transactional memory fall?</p>
<p>This is a oversight &#8212; thanks for reminding me.  </p>
<p>For .Net people, you may be interested in the Transaction Memory blog <a href="http://blogs.msdn.com/stmteam/default.aspx" rel="nofollow">http://blogs.msdn.com/stmteam/default.aspx</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Clay Lenhart</title>
		<link>http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/comment-page-1/#comment-15324</link>
		<dc:creator>Clay Lenhart</dc:creator>
		<pubDate>Sun, 02 Nov 2008 19:59:38 +0000</pubDate>
		<guid isPermaLink="false">http://clay.lenharts.net/blog/?p=43#comment-15324</guid>
		<description>&gt; That Erlang is supposed to be awkward is repeated in many blogs, as if it were an indisputable fact.

I've got to admit, you make a fair point here.  For what it is worth, my merger explanation is:
a) Erlang hasn't taken off yet, so people must have some issue with it.  
b) "Standard" languages can do most anything concurrency-wise, which means that a restrictive model, like actors/message passing, must be more awkward.

Pretty weak.

Keep in mind that the point I'm trying to make is we'll get through this crisis.  Heck, Erlang may very well be the answer.</description>
		<content:encoded><![CDATA[<p>> That Erlang is supposed to be awkward is repeated in many blogs, as if it were an indisputable fact.</p>
<p>I&#8217;ve got to admit, you make a fair point here.  For what it is worth, my merger explanation is:<br />
a) Erlang hasn&#8217;t taken off yet, so people must have some issue with it.<br />
b) &#8220;Standard&#8221; languages can do most anything concurrency-wise, which means that a restrictive model, like actors/message passing, must be more awkward.</p>
<p>Pretty weak.</p>
<p>Keep in mind that the point I&#8217;m trying to make is we&#8217;ll get through this crisis.  Heck, Erlang may very well be the answer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ulf Ochsenfahrt</title>
		<link>http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/comment-page-1/#comment-15323</link>
		<dc:creator>Ulf Ochsenfahrt</dc:creator>
		<pubDate>Thu, 30 Oct 2008 09:36:16 +0000</pubDate>
		<guid isPermaLink="false">http://clay.lenharts.net/blog/?p=43#comment-15323</guid>
		<description>In which category does software transactional memory fall?</description>
		<content:encoded><![CDATA[<p>In which category does software transactional memory fall?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kamil Szot</title>
		<link>http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/comment-page-1/#comment-15322</link>
		<dc:creator>Kamil Szot</dc:creator>
		<pubDate>Mon, 27 Oct 2008 09:54:41 +0000</pubDate>
		<guid isPermaLink="false">http://clay.lenharts.net/blog/?p=43#comment-15322</guid>
		<description>Most of apps today are multiuser and/or built of multiple software components.
You can just run different users, or diffrent software components on different cores and you get the boost but almost never have to bother yourself with multithreading. The only case that remains a problem is when some component of your system responds to slow, then you have try to replace it with some equivalent that uses algorithm that can be distributed. This single tiny bit of system can be written as well in erlang regardles of it's obscurity. There is a chance that you won't even have to write it by yourself because some erlang hackers wrote it already because they needed it before you and published it as open source.</description>
		<content:encoded><![CDATA[<p>Most of apps today are multiuser and/or built of multiple software components.<br />
You can just run different users, or diffrent software components on different cores and you get the boost but almost never have to bother yourself with multithreading. The only case that remains a problem is when some component of your system responds to slow, then you have try to replace it with some equivalent that uses algorithm that can be distributed. This single tiny bit of system can be written as well in erlang regardles of it&#8217;s obscurity. There is a chance that you won&#8217;t even have to write it by yourself because some erlang hackers wrote it already because they needed it before you and published it as open source.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ulf Wiger</title>
		<link>http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/comment-page-1/#comment-15321</link>
		<dc:creator>Ulf Wiger</dc:creator>
		<pubDate>Mon, 27 Oct 2008 09:46:41 +0000</pubDate>
		<guid isPermaLink="false">http://clay.lenharts.net/blog/?p=43#comment-15321</guid>
		<description>That Erlang is supposed to be awkward is repeated in many blogs, as if it were an indisputable fact. Yet the University of Kiel uses Erlang to teach programming to high-school girls, and their final task after a week is programming a distributed chat server. There may, or may not, be an awkward transition depending on what you're used to, but there's plenty of evidence that Erlang itself can give good productiviy, compact code, and excellent life-cycle economy. 

A very recent study compared implementations of IMAP: 
http://www.erlang.org/workshop/2008/Sess21.pdf

Its conclusion is no surprise to those familiar with Erlang. On several occasions, Erlang teams participating in standardization work have ended up being identified as the de-facto reference implementation, since they are able to implement working feature-complete code much faster than the others.

There are other languages that have outstanding qualities, but if you're going to call Erlang awkward and complex, you should be fairly specific about what you're comparing it to - it may carry some weight if coming from a seasoned Haskell programmer, but even then it will depend on the problem domain.</description>
		<content:encoded><![CDATA[<p>That Erlang is supposed to be awkward is repeated in many blogs, as if it were an indisputable fact. Yet the University of Kiel uses Erlang to teach programming to high-school girls, and their final task after a week is programming a distributed chat server. There may, or may not, be an awkward transition depending on what you&#8217;re used to, but there&#8217;s plenty of evidence that Erlang itself can give good productiviy, compact code, and excellent life-cycle economy. </p>
<p>A very recent study compared implementations of IMAP:<br />
<a href="http://www.erlang.org/workshop/2008/Sess21.pdf" rel="nofollow">http://www.erlang.org/workshop/2008/Sess21.pdf</a></p>
<p>Its conclusion is no surprise to those familiar with Erlang. On several occasions, Erlang teams participating in standardization work have ended up being identified as the de-facto reference implementation, since they are able to implement working feature-complete code much faster than the others.</p>
<p>There are other languages that have outstanding qualities, but if you&#8217;re going to call Erlang awkward and complex, you should be fairly specific about what you&#8217;re comparing it to - it may carry some weight if coming from a seasoned Haskell programmer, but even then it will depend on the problem domain.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Clay Lenhart</title>
		<link>http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/comment-page-1/#comment-15320</link>
		<dc:creator>Clay Lenhart</dc:creator>
		<pubDate>Sun, 26 Oct 2008 19:34:06 +0000</pubDate>
		<guid isPermaLink="false">http://clay.lenharts.net/blog/?p=43#comment-15320</guid>
		<description>&gt; Erlang got one thing right - the concurrency mechanism

You may be interested to know that .Net copied Erlang style concurrency and put it in a library for any .Net language call MPI.Net: http://www.osl.iu.edu/research/mpi.net/</description>
		<content:encoded><![CDATA[<p>> Erlang got one thing right - the concurrency mechanism</p>
<p>You may be interested to know that .Net copied Erlang style concurrency and put it in a library for any .Net language call MPI.Net: <a href="http://www.osl.iu.edu/research/mpi.net/" rel="nofollow">http://www.osl.iu.edu/research/mpi.net/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andras</title>
		<link>http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/comment-page-1/#comment-15319</link>
		<dc:creator>Andras</dc:creator>
		<pubDate>Sun, 26 Oct 2008 15:13:36 +0000</pubDate>
		<guid isPermaLink="false">http://clay.lenharts.net/blog/?p=43#comment-15319</guid>
		<description>Erlang got one thing right - the concurrency mechanism (I've written a post on this earlier: http://a-vajda.eu/blog/?p=27) It *IS* a pitty that they chose to make it a functional language (it's *incorrect* to claim that functional languages enable parallelism - why would they still need process constructs like in Erlang and Haskell?!) - same (otherwise powerful and beautifully simple) principles would have worked with traditional languages. 
Cheers, Andras</description>
		<content:encoded><![CDATA[<p>Erlang got one thing right - the concurrency mechanism (I&#8217;ve written a post on this earlier: <a href="http://a-vajda.eu/blog/?p=27" rel="nofollow">http://a-vajda.eu/blog/?p=27</a>) It *IS* a pitty that they chose to make it a functional language (it&#8217;s *incorrect* to claim that functional languages enable parallelism - why would they still need process constructs like in Erlang and Haskell?!) - same (otherwise powerful and beautifully simple) principles would have worked with traditional languages.<br />
Cheers, Andras</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: henk</title>
		<link>http://clay.lenharts.net/blog/2008/10/25/the-many-core-problem/comment-page-1/#comment-15318</link>
		<dc:creator>henk</dc:creator>
		<pubDate>Sun, 26 Oct 2008 14:53:01 +0000</pubDate>
		<guid isPermaLink="false">http://clay.lenharts.net/blog/?p=43#comment-15318</guid>
		<description>I agree there's a problem with the complexity of threading, but it already helps *a lot* if the communication pattern between your objects is well defined instead of chaotic. 

And guess, we should already be adhering to the well defined communication pattern for regular sequential (OO) programming ;)

Next to that, in some cases building multi-threaded software is easier. Firing off some piece of code in a kind of job and then forgetting about it, may be far simpler than executing it inline of your regular sequential code and trying to interweave some other tasks while processing this piece of code.</description>
		<content:encoded><![CDATA[<p>I agree there&#8217;s a problem with the complexity of threading, but it already helps *a lot* if the communication pattern between your objects is well defined instead of chaotic. </p>
<p>And guess, we should already be adhering to the well defined communication pattern for regular sequential (OO) programming <img src='http://clay.lenharts.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Next to that, in some cases building multi-threaded software is easier. Firing off some piece of code in a kind of job and then forgetting about it, may be far simpler than executing it inline of your regular sequential code and trying to interweave some other tasks while processing this piece of code.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
