<?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 crisis</title>
	<atom:link href="http://thatmattbone.com/2007/04/concurrency-crisis/feed/" rel="self" type="application/rss+xml" />
	<link>http://thatmattbone.com/2007/04/concurrency-crisis/</link>
	<description></description>
	<lastBuildDate>Tue, 29 Jun 2010 15:23:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: igouy</title>
		<link>http://thatmattbone.com/2007/04/concurrency-crisis/comment-page-1/#comment-8</link>
		<dc:creator>igouy</dc:creator>
		<pubDate>Wed, 09 May 2007 01:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://thatmattbone.com/?p=11#comment-8</guid>
		<description>Zonnon mixes objects with concurrency in an interesting way, see &lt;a HREF=&quot;http://www.zonnon.ethz.ch/archive/The_Concepts_of_Zonnon_6_y041123.pdf&quot; REL=&quot;nofollow&quot;&gt;The Concepts of Zonnon A language for systems engineering with Modules, Objects and Concurrency (PDF file)&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Zonnon mixes objects with concurrency in an interesting way, see <a HREF="http://www.zonnon.ethz.ch/archive/The_Concepts_of_Zonnon_6_y041123.pdf" REL="nofollow">The Concepts of Zonnon A language for systems engineering with Modules, Objects and Concurrency (PDF file)</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wynand</title>
		<link>http://thatmattbone.com/2007/04/concurrency-crisis/comment-page-1/#comment-7</link>
		<dc:creator>Wynand</dc:creator>
		<pubDate>Tue, 08 May 2007 09:31:00 +0000</pubDate>
		<guid isPermaLink="false">http://thatmattbone.com/?p=11#comment-7</guid>
		<description>Good post! It&#039;s something I&#039;ve also been mulling over for quite some time.&lt;br/&gt;&lt;br/&gt;It really does seem that any language which strives to become popular should at least ostensibly be object oriented. Scala does a nice job of combining OO and functional programming. &lt;br/&gt;&lt;br/&gt;One message passing hack which could be useful for certain kinds of problems, would be to allow the transfer of a pointer from one process to another. This would avoid copying overhead. &lt;br/&gt;&lt;br/&gt;In order to make this work, the processes should share their memory space and the compiler needs to ensure that the process which hands over the pointer does not use it again. The latter condition might be satisfiable using something like Clean&#039;s &lt;a HREF=&quot;http://clean.cs.ru.nl/About_Clean/Clean_Language_Features/clean_language_features.html&quot; REL=&quot;nofollow&quot;&gt;uniqueness typing&lt;/a&gt;. Clean uses unique references to allow destructive updates in a functional environment.&lt;br/&gt;&lt;br/&gt;All this being said, I still wonder whether it might just not be better  to have shared nothing hardware architectures. That is, if there are eight cores, there should be eight memory banks, each of which is only directly accessible by one core.&lt;br/&gt;&lt;br/&gt;Most software is ill adapted to this kind of architecture though. At least we have some good kernels, like &lt;a HREF=&quot;http://minix3.org&quot; REL=&quot;nofollow&quot;&gt;Minix 3&lt;/a&gt; to get started.</description>
		<content:encoded><![CDATA[<p>Good post! It&#8217;s something I&#8217;ve also been mulling over for quite some time.</p>
<p>It really does seem that any language which strives to become popular should at least ostensibly be object oriented. Scala does a nice job of combining OO and functional programming. </p>
<p>One message passing hack which could be useful for certain kinds of problems, would be to allow the transfer of a pointer from one process to another. This would avoid copying overhead. </p>
<p>In order to make this work, the processes should share their memory space and the compiler needs to ensure that the process which hands over the pointer does not use it again. The latter condition might be satisfiable using something like Clean&#8217;s <a HREF="http://clean.cs.ru.nl/About_Clean/Clean_Language_Features/clean_language_features.html" REL="nofollow">uniqueness typing</a>. Clean uses unique references to allow destructive updates in a functional environment.</p>
<p>All this being said, I still wonder whether it might just not be better  to have shared nothing hardware architectures. That is, if there are eight cores, there should be eight memory banks, each of which is only directly accessible by one core.</p>
<p>Most software is ill adapted to this kind of architecture though. At least we have some good kernels, like <a HREF="http://minix3.org" REL="nofollow">Minix 3</a> to get started.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: beza1e1</title>
		<link>http://thatmattbone.com/2007/04/concurrency-crisis/comment-page-1/#comment-6</link>
		<dc:creator>beza1e1</dc:creator>
		<pubDate>Tue, 08 May 2007 08:11:00 +0000</pubDate>
		<guid isPermaLink="false">http://thatmattbone.com/?p=11#comment-6</guid>
		<description>But can these languages guarantee correctness?&lt;br/&gt;&lt;br/&gt;I know Termite can&#039;t do it. It is possible to send a reference to object O from actor A to actor B with the effect that both can access and modify O and O may not be thread-safe.&lt;br/&gt;&lt;br/&gt;A workaround is to make a deep copy with every message, but that may be tricky (list of file handlers) or costly (GBs of data).</description>
		<content:encoded><![CDATA[<p>But can these languages guarantee correctness?</p>
<p>I know Termite can&#8217;t do it. It is possible to send a reference to object O from actor A to actor B with the effect that both can access and modify O and O may not be thread-safe.</p>
<p>A workaround is to make a deep copy with every message, but that may be tricky (list of file handlers) or costly (GBs of data).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Eddy</title>
		<link>http://thatmattbone.com/2007/04/concurrency-crisis/comment-page-1/#comment-5</link>
		<dc:creator>Peter Eddy</dc:creator>
		<pubDate>Mon, 07 May 2007 23:50:00 +0000</pubDate>
		<guid isPermaLink="false">http://thatmattbone.com/?p=11#comment-5</guid>
		<description>Termite Scheme (http://toute.ca/) implements lightweight, large number of threads with transparent networked message passing. And it makes doing it really, really easy.&lt;br/&gt;&lt;br/&gt;Here&#039;s a quick intro to it: http://theschemeway.blogspot.com/2007/04/introduction-to-termite.html</description>
		<content:encoded><![CDATA[<p>Termite Scheme (<a href="http://toute.ca/" rel="nofollow">http://toute.ca/</a>) implements lightweight, large number of threads with transparent networked message passing. And it makes doing it really, really easy.</p>
<p>Here&#8217;s a quick intro to it: <a href="http://theschemeway.blogspot.com/2007/04/introduction-to-termite.html" rel="nofollow">http://theschemeway.blogspot.com/2007/04/introduction-to-termite.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Don</title>
		<link>http://thatmattbone.com/2007/04/concurrency-crisis/comment-page-1/#comment-3</link>
		<dc:creator>Don</dc:creator>
		<pubDate>Fri, 06 Apr 2007 01:28:00 +0000</pubDate>
		<guid isPermaLink="false">http://thatmattbone.com/?p=11#comment-3</guid>
		<description>I agree.. threads are a mess.  In some of Alan Kay&#039;s recent talks about the future of computing, he&#039;s stressed that messages need not be passed to objects residing on the same core, or even on the same machine... a message should pass just as easily across the network as it can between objects on a local cpu core.&lt;br/&gt;&lt;br/&gt;Anyone who hasn&#039;t yet read his &lt;a HREF=&quot;http://www.vpri.org/html/words_links/articles_ifnct.htm&quot; REL=&quot;nofollow&quot;&gt;NSF Grant proposal&lt;/a&gt; should do so.&lt;br/&gt;&lt;br/&gt;Also for readers unaware, read the &lt;a HREF=&quot;http://www.iolanguage.com/about/&quot; REL=&quot;nofollow&quot;&gt;about page for io&lt;/a&gt;   It supports &lt;a HREF=&quot;http://www.iolanguage.com/scm/git/Io/docs/guide.html#TOC19386&quot; REL=&quot;nofollow&quot;&gt;Actors&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I believe it&#039;s up in the air what the future of Javascript holds - but there *will* be something - it can either head in the CSP or Actors direction.  A good &lt;a HREF=&quot;http://weblogs.mozillazine.org/roadmap/archives/2007/02/&quot; REL=&quot;nofollow&quot;&gt;post&lt;/a&gt; here.&lt;br/&gt;&lt;br/&gt;I think that&#039;s enough links for one comment.</description>
		<content:encoded><![CDATA[<p>I agree.. threads are a mess.  In some of Alan Kay&#8217;s recent talks about the future of computing, he&#8217;s stressed that messages need not be passed to objects residing on the same core, or even on the same machine&#8230; a message should pass just as easily across the network as it can between objects on a local cpu core.</p>
<p>Anyone who hasn&#8217;t yet read his <a HREF="http://www.vpri.org/html/words_links/articles_ifnct.htm" REL="nofollow">NSF Grant proposal</a> should do so.</p>
<p>Also for readers unaware, read the <a HREF="http://www.iolanguage.com/about/" REL="nofollow">about page for io</a>   It supports <a HREF="http://www.iolanguage.com/scm/git/Io/docs/guide.html#TOC19386" REL="nofollow">Actors</a></p>
<p>I believe it&#8217;s up in the air what the future of Javascript holds &#8211; but there *will* be something &#8211; it can either head in the CSP or Actors direction.  A good <a HREF="http://weblogs.mozillazine.org/roadmap/archives/2007/02/" REL="nofollow">post</a> here.</p>
<p>I think that&#8217;s enough links for one comment.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

