<?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: Threads Don&#8217;t Scale, Processes Do</title>
	<atom:link href="http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/feed/" rel="self" type="application/rss+xml" />
	<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/</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: alkaway</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-618</link>
		<dc:creator>alkaway</dc:creator>
		<pubDate>Mon, 22 Jun 2009 20:57:15 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-618</guid>
		<description>stagecoach casino music casino 7 clans casino thief river .stanley casino derby cuban casino indiana live casino myspace mgm grand foxwoods casino .no casino in plymouth nb casino .reel deal casino download casino royale music online casino sportsbook new casino ac .with mgm hotel x26 casino las vegas .Here .follow .follow could little creek casino hotel philadelphia sugarhouse casino or Here hollywood park casino poker tournament After montreal hotel casino rushmore city casino Best jouer casino in the attached now sometime four queens casino x26 hotel reviews choctaw casino dallas Ok, here Buy camp verde casino Come to multiplayer casino tyler florence clams casino blue water casino in parker az or someone prescott casino resort tukwila casino washington catfish casino sportsbook casino promotion code This was feather falls casino x26 lodge ought to 
fitzgerald casino blackhawk royal casino movie .This website about in the attached quotes from casino royale In crown casino waterfront too site casinopauma.com pauma casino .The .follow .is the same as too century casino blackhawk sun cruz casino port richey was For daily star casino Cool stuff - showboat casino atlantic city parking las vegas casino list hotel casino cucuta iron horse casino in auburn wa Best wigan casino address which this .</description>
		<content:encoded><![CDATA[<p>stagecoach casino music casino 7 clans casino thief river .stanley casino derby cuban casino indiana live casino myspace mgm grand foxwoods casino .no casino in plymouth nb casino .reel deal casino download casino royale music online casino sportsbook new casino ac .with mgm hotel x26 casino las vegas .Here .follow .follow could little creek casino hotel philadelphia sugarhouse casino or Here hollywood park casino poker tournament After montreal hotel casino rushmore city casino Best jouer casino in the attached now sometime four queens casino x26 hotel reviews choctaw casino dallas Ok, here Buy camp verde casino Come to multiplayer casino tyler florence clams casino blue water casino in parker az or someone prescott casino resort tukwila casino washington catfish casino sportsbook casino promotion code This was feather falls casino x26 lodge ought to<br />
fitzgerald casino blackhawk royal casino movie .This website about in the attached quotes from casino royale In crown casino waterfront too site casinopauma.com pauma casino .The .follow .is the same as too century casino blackhawk sun cruz casino port richey was For daily star casino Cool stuff &#8211; showboat casino atlantic city parking las vegas casino list hotel casino cucuta iron horse casino in auburn wa Best wigan casino address which this .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A Drop In The Stream &#8250; links for 2009-05-30</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-554</link>
		<dc:creator>A Drop In The Stream &#8250; links for 2009-05-30</dc:creator>
		<pubDate>Sun, 31 May 2009 04:04:33 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-554</guid>
		<description>[...] Threads Don’t Scale, Processes Do «   Bartosz Milewski’s Programming Cafe Good explanation of the constraints of multithreading and concurrency. (tags: concurrency erlang programming performance architecture scalability threading threads) [...]</description>
		<content:encoded><![CDATA[<p>[...] Threads Don’t Scale, Processes Do «   Bartosz Milewski’s Programming Cafe Good explanation of the constraints of multithreading and concurrency. (tags: concurrency erlang programming performance architecture scalability threading threads) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bartosz Milewski</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-318</link>
		<dc:creator>Bartosz Milewski</dc:creator>
		<pubDate>Wed, 15 Apr 2009 18:30:35 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-318</guid>
		<description>I&#039;m in charge of designing multithreaded support in the D programming language, so I have to study the ways other languages deal with it. The same ideas come back over and over again in various contexts, so there&#039;s bound to be some redundancy.</description>
		<content:encoded><![CDATA[<p>I&#8217;m in charge of designing multithreaded support in the D programming language, so I have to study the ways other languages deal with it. The same ideas come back over and over again in various contexts, so there&#8217;s bound to be some redundancy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: How to Get Six Pack Fast</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-317</link>
		<dc:creator>How to Get Six Pack Fast</dc:creator>
		<pubDate>Wed, 15 Apr 2009 18:13:34 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-317</guid>
		<description>I can tell that this is not the first time at all that you write about this topic. Why have you decided to write about it again?</description>
		<content:encoded><![CDATA[<p>I can tell that this is not the first time at all that you write about this topic. Why have you decided to write about it again?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Types for Concurrency &#171;   Bartosz Milewski&#8217;s Programming Cafe</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-272</link>
		<dc:creator>Types for Concurrency &#171;   Bartosz Milewski&#8217;s Programming Cafe</dc:creator>
		<pubDate>Mon, 23 Mar 2009 21:16:26 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-272</guid>
		<description>[...] perfectly feasible to have a concurrent language that disallows sharing&#8211;Erlang is one (see my post about Erlang). The trick is to always pass data between threads by value. This is especially easy in functional [...]</description>
		<content:encoded><![CDATA[<p>[...] perfectly feasible to have a concurrent language that disallows sharing&#8211;Erlang is one (see my post about Erlang). The trick is to always pass data between threads by value. This is especially easy in functional [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NetGaituipket</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-108</link>
		<dc:creator>NetGaituipket</dc:creator>
		<pubDate>Wed, 03 Dec 2008 00:46:05 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-108</guid>
		<description>I am here at a forum newcomer. Until I read and deal with the forum.
Let&#039;s learn!</description>
		<content:encoded><![CDATA[<p>I am here at a forum newcomer. Until I read and deal with the forum.<br />
Let&#8217;s learn!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CadiaMefefave</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-93</link>
		<dc:creator>CadiaMefefave</dc:creator>
		<pubDate>Thu, 20 Nov 2008 00:56:57 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-93</guid>
		<description>Hello. It is test.</description>
		<content:encoded><![CDATA[<p>Hello. It is test.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Kelly</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-49</link>
		<dc:creator>Sean Kelly</dc:creator>
		<pubDate>Sat, 20 Sep 2008 00:36:03 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-49</guid>
		<description>Thanks, I&#039;d missed that paper.  From what I can see, the program flow it describes is logically a message-passing design.  And as I believe you mention above, in-process message passing can actually be implemented via sharing (in fact, I think the Erlang message passing mechanism does this implicitly).  However, Id&#039; forgotten about a related fly in the ointment for functional languages: the fact that data is immutable.  Even if Erlang could avoid copying when transferring data between stages, each stage would have to create a new &quot;post-processed&quot; copy of the buffer to pass on to the next stage, and this is probably not ideal given the performance requirements of multimedia apps.  I suppose the same issue would apply to D in that pure functions couldn&#039;t be used for multimedia work because they would impose the same requirement.</description>
		<content:encoded><![CDATA[<p>Thanks, I&#8217;d missed that paper.  From what I can see, the program flow it describes is logically a message-passing design.  And as I believe you mention above, in-process message passing can actually be implemented via sharing (in fact, I think the Erlang message passing mechanism does this implicitly).  However, Id&#8217; forgotten about a related fly in the ointment for functional languages: the fact that data is immutable.  Even if Erlang could avoid copying when transferring data between stages, each stage would have to create a new &#8220;post-processed&#8221; copy of the buffer to pass on to the next stage, and this is probably not ideal given the performance requirements of multimedia apps.  I suppose the same issue would apply to D in that pure functions couldn&#8217;t be used for multimedia work because they would impose the same requirement.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bartosz Milewski</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-48</link>
		<dc:creator>Bartosz Milewski</dc:creator>
		<pubDate>Fri, 19 Sep 2008 21:58:38 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-48</guid>
		<description>Have you looked at the SharC paper I mentioned a few times? It gives an example of a multi-threaded multi-media application. Essentially, data is acquired from a device (either audio or video) and then goes through several stages of processing, Each stage runs in a separate thread. Large amounts of data are pipelined from stage to stage and copying would be unfeasable (and unnecessary). This setup is characteristic of many (almost-) real-time audio or graphics applications, including games.</description>
		<content:encoded><![CDATA[<p>Have you looked at the SharC paper I mentioned a few times? It gives an example of a multi-threaded multi-media application. Essentially, data is acquired from a device (either audio or video) and then goes through several stages of processing, Each stage runs in a separate thread. Large amounts of data are pipelined from stage to stage and copying would be unfeasable (and unnecessary). This setup is characteristic of many (almost-) real-time audio or graphics applications, including games.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Kelly</title>
		<link>http://bartoszmilewski.wordpress.com/2008/08/24/threads-dont-scale-processes-do/#comment-47</link>
		<dc:creator>Sean Kelly</dc:creator>
		<pubDate>Fri, 19 Sep 2008 19:35:29 +0000</pubDate>
		<guid isPermaLink="false">http://bartoszmilewski.wordpress.com/?p=131#comment-47</guid>
		<description>I completely agree that D must support sharing because it is a systems app, and also agree that no language is ideally suited for every problem.  However, I&#039;m less clear on whether multiple threads of a multimedia app would actually need to share access to a large chunk of raw data.  Most data processing of the kind that I&#039;m aware of uses the scatter/gather method, for which message-passing is an excellent solution.  But then I&#039;m not much of a multimedia programmer, so I&#039;m mostly speculating.  Is there some multimedia problem that doesn&#039;t decompose well to process-based multiprogramming?</description>
		<content:encoded><![CDATA[<p>I completely agree that D must support sharing because it is a systems app, and also agree that no language is ideally suited for every problem.  However, I&#8217;m less clear on whether multiple threads of a multimedia app would actually need to share access to a large chunk of raw data.  Most data processing of the kind that I&#8217;m aware of uses the scatter/gather method, for which message-passing is an excellent solution.  But then I&#8217;m not much of a multimedia programmer, so I&#8217;m mostly speculating.  Is there some multimedia problem that doesn&#8217;t decompose well to process-based multiprogramming?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
