<?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: Concurrency: Are We Focusing On the Wrong Thing?</title>
	<atom:link href="http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/</link>
	<description>A man needs a little madness, or else he never dares cut the rope and be free. -Nikos Kazantzakis</description>
	<lastBuildDate>Mon, 06 Sep 2010 17:31:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jason</title>
		<link>http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/comment-page-1/#comment-165710</link>
		<dc:creator>Jason</dc:creator>
		<pubDate>Thu, 23 Apr 2009 07:47:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/#comment-165710</guid>
		<description>Hi Carl,

You make some fair points about practical scalability issues, and of course I agree with you on the points about multithreaded programming complexity in mainstream languages today.  However, on the scaling side, I think you are getting sidetracked from the point I am trying to make.  What I am looking at is how multicore will change how people write programs.  The common contention is that we&#039;ll all have to start looking for ways to parallelise our sequential code to take advantage of multiple cores.

Multi-user web applications, however, are parallel by nature.  Multicore doesn&#039;t completely change the game for these apps.  The problems you talk about existed before the rise of multicore, as the largest web applications already used multi-CPU machines and many of them.</description>
		<content:encoded><![CDATA[<p>Hi Carl,</p>
<p>You make some fair points about practical scalability issues, and of course I agree with you on the points about multithreaded programming complexity in mainstream languages today.  However, on the scaling side, I think you are getting sidetracked from the point I am trying to make.  What I am looking at is how multicore will change how people write programs.  The common contention is that we&#8217;ll all have to start looking for ways to parallelise our sequential code to take advantage of multiple cores.</p>
<p>Multi-user web applications, however, are parallel by nature.  Multicore doesn&#8217;t completely change the game for these apps.  The problems you talk about existed before the rise of multicore, as the largest web applications already used multi-CPU machines and many of them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl McDade</title>
		<link>http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/comment-page-1/#comment-165698</link>
		<dc:creator>Carl McDade</dc:creator>
		<pubDate>Thu, 23 Apr 2009 05:51:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/#comment-165698</guid>
		<description>&lt;blockquote&gt;Web applications will naturally take advantage of more cores as they appear. The only programmers likely to notice the performance impact are those working in areas where performance has always been at the bleeding edge, which frankly is a small minority.&lt;/blockquote&gt;

This will not happen. Open source Web applications are dominating the web and they are written using scripting languages like PHP, Ruby(with Rails) and ASP.NET. None of these will naturally scale without proding by the programmer. This requires thinking ahead to concurrency and scalablility but since the greater percentage of these apps are organically produced is not done.</description>
		<content:encoded><![CDATA[<blockquote><p>Web applications will naturally take advantage of more cores as they appear. The only programmers likely to notice the performance impact are those working in areas where performance has always been at the bleeding edge, which frankly is a small minority.</p></blockquote>
<p>This will not happen. Open source Web applications are dominating the web and they are written using scripting languages like PHP, Ruby(with Rails) and ASP.NET. None of these will naturally scale without proding by the programmer. This requires thinking ahead to concurrency and scalablility but since the greater percentage of these apps are organically produced is not done.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl McDade</title>
		<link>http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/comment-page-1/#comment-165695</link>
		<dc:creator>Carl McDade</dc:creator>
		<pubDate>Thu, 23 Apr 2009 05:23:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/#comment-165695</guid>
		<description>I beg to differ. Concurrency and multithreading go hand in hand with scalability. I will even go so far as to say distributed concurrency, multiple jvms are still a problem with Java. The use of semaphores for thread communication is always a point of instability because not every programmer gets it right every time.

Also since we are mostly in a place where web applications are the reason for the need of more porcessing power and speed Apache becomes one of the weak links. This is why I throw in Java with things like mod_perl, mod_python and the rest. They are one of the reasons that PHP is so popular with web hosts and why the cost of shared hosting for them is on average higher. Their usage requires more software and more administration to make sure things don&#039;t go horribly wrong.

There are many technologies that are multi-threaded &quot;by nature&quot; but few that are multithreaded by design. It is this difference that make is hard to do multi-threaded programming and to use multi-threading as a solution to scalability. The same is true for concurrency.</description>
		<content:encoded><![CDATA[<p>I beg to differ. Concurrency and multithreading go hand in hand with scalability. I will even go so far as to say distributed concurrency, multiple jvms are still a problem with Java. The use of semaphores for thread communication is always a point of instability because not every programmer gets it right every time.</p>
<p>Also since we are mostly in a place where web applications are the reason for the need of more porcessing power and speed Apache becomes one of the weak links. This is why I throw in Java with things like mod_perl, mod_python and the rest. They are one of the reasons that PHP is so popular with web hosts and why the cost of shared hosting for them is on average higher. Their usage requires more software and more administration to make sure things don&#8217;t go horribly wrong.</p>
<p>There are many technologies that are multi-threaded &#8220;by nature&#8221; but few that are multithreaded by design. It is this difference that make is hard to do multi-threaded programming and to use multi-threading as a solution to scalability. The same is true for concurrency.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Shirkov</title>
		<link>http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/comment-page-1/#comment-165541</link>
		<dc:creator>Alex Shirkov</dc:creator>
		<pubDate>Wed, 22 Apr 2009 08:09:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/#comment-165541</guid>
		<description>Carl, you&#039;re totally wrong about &quot;instabilities&quot;. At least for Java. Java servlets, EJBs are multitraded by nature. Theyâ€™re very stable and have impressive performance. Youâ€™re wrong, that JVM threads executes only in one physical thread - JVM effectively utilizes multiple hardware cores (especially for SPARC processors).
Main problem in multi-threading - how to turn linear algorithm into parallel one to effectively use multiple cores.</description>
		<content:encoded><![CDATA[<p>Carl, you&#8217;re totally wrong about &#8220;instabilities&#8221;. At least for Java. Java servlets, EJBs are multitraded by nature. Theyâ€™re very stable and have impressive performance. Youâ€™re wrong, that JVM threads executes only in one physical thread &#8211; JVM effectively utilizes multiple hardware cores (especially for SPARC processors).<br />
Main problem in multi-threading &#8211; how to turn linear algorithm into parallel one to effectively use multiple cores.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl McDade</title>
		<link>http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/comment-page-1/#comment-165251</link>
		<dc:creator>Carl McDade</dc:creator>
		<pubDate>Mon, 20 Apr 2009 20:26:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.alittlemadness.com/2009/04/21/concurrency-are-we-focusing-on-the-wrong-thing/#comment-165251</guid>
		<description>Well, web applications cannot take advantage of multicore in terms of concurrency and stability because they are not written to take advantage of the underlying OS. Almost all web apps are written to take advantage of what the Application server delivers in the way of resources. 

There is also the script language or programming language short coming of being delivered through an interpreter or compiler that cannot do anything more than run a single process.  Almost every attempt to get multi-threading to work with PHP, Java, Python and others has been an exercise in instability. This is why FastCGI is so popular nowadays and will become more popular.

You are right  in saying  multi-threaded programming is hard and requires a lot of planning and for thought before hand. So many will opt to use FastCGI and languages like Erlang where an application can be built using multiple single threads that can be distributed throughout a network and run as Light Weight Processes on those multi-core and SMP machines.

I have chosen to go the way of Erlang rather than FastCGI or learning to do LWP in ASP.NET. I think that Erlang has advantages over FastCGI in terms of administration, installation and room for improvement.</description>
		<content:encoded><![CDATA[<p>Well, web applications cannot take advantage of multicore in terms of concurrency and stability because they are not written to take advantage of the underlying OS. Almost all web apps are written to take advantage of what the Application server delivers in the way of resources. </p>
<p>There is also the script language or programming language short coming of being delivered through an interpreter or compiler that cannot do anything more than run a single process.  Almost every attempt to get multi-threading to work with PHP, Java, Python and others has been an exercise in instability. This is why FastCGI is so popular nowadays and will become more popular.</p>
<p>You are right  in saying  multi-threaded programming is hard and requires a lot of planning and for thought before hand. So many will opt to use FastCGI and languages like Erlang where an application can be built using multiple single threads that can be distributed throughout a network and run as Light Weight Processes on those multi-core and SMP machines.</p>
<p>I have chosen to go the way of Erlang rather than FastCGI or learning to do LWP in ASP.NET. I think that Erlang has advantages over FastCGI in terms of administration, installation and room for improvement.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
