<?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 Why and How of Parallel Programming</title>
	<atom:link href="http://www.thevirtualcircle.com/2010/07/the-why-and-how-of-parallel-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thevirtualcircle.com/2010/07/the-why-and-how-of-parallel-programming/</link>
	<description>WordPress site</description>
	<lastBuildDate>Wed, 16 Nov 2011 20:21:06 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Peter Dzwig</title>
		<link>http://www.thevirtualcircle.com/2010/07/the-why-and-how-of-parallel-programming/comment-page-1/#comment-1501</link>
		<dc:creator>Peter Dzwig</dc:creator>
		<pubDate>Wed, 01 Sep 2010 17:53:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.thevirtualcircle.com/?p=5870#comment-1501</guid>
		<description>I have to agree with Daniel, there are FAR more than two ways of parallel programming. There are other approaches to so-called shared-nothing models. Indeed shared-nothing programming models have been around for at least thirty years as have shared-nothing hardware systems.  

However Hadoop and Datarush offer models which may, at least for the time being, be an acceptable way of programming of large, multi-core systems for a certain (albeit fairly large and well-heeled) sector of the market. Pervasive&#039;s Datarush doesn&#039;t presuppose much about the underlying architecture at all, just that it can run Java. Hadoop is slightly different but makes little assumption about the underlying hardware. Both are in fact highly viable approaches to the issue of building high throughput, data intensive, commercial applications. 

What they aren&#039;t is true programming systems.

The issue with most of the technologies cited by Denis is that they are largely for specialists. They are very popular in a variety of incarnations in areas such as HPC (where we are talking about specialised areas such as automotive and aeronautic engineering, big science and similar areas); where they have largely failed to penetrate is mainstream applications. It is because of the expediencies of the hardware industry that processor architectures have been dominated by shared memory architectures. However most manufacturers are looking at shared-memory and some have developed or acquired substantial expertise in that direction.

For technical reasons it seems unlikely that the shared memory scenario can persist and that ultimately shared-nothing will come to dominate. When that happens environments like the Datarush libraries and Hadoop will still be useful but there will be a need for technologies that will bring current technologies and their derivatives, most likely the latter, to the general purpose user.</description>
		<content:encoded><![CDATA[<p>I have to agree with Daniel, there are FAR more than two ways of parallel programming. There are other approaches to so-called shared-nothing models. Indeed shared-nothing programming models have been around for at least thirty years as have shared-nothing hardware systems.  </p>
<p>However Hadoop and Datarush offer models which may, at least for the time being, be an acceptable way of programming of large, multi-core systems for a certain (albeit fairly large and well-heeled) sector of the market. Pervasive&#8217;s Datarush doesn&#8217;t presuppose much about the underlying architecture at all, just that it can run Java. Hadoop is slightly different but makes little assumption about the underlying hardware. Both are in fact highly viable approaches to the issue of building high throughput, data intensive, commercial applications. </p>
<p>What they aren&#8217;t is true programming systems.</p>
<p>The issue with most of the technologies cited by Denis is that they are largely for specialists. They are very popular in a variety of incarnations in areas such as HPC (where we are talking about specialised areas such as automotive and aeronautic engineering, big science and similar areas); where they have largely failed to penetrate is mainstream applications. It is because of the expediencies of the hardware industry that processor architectures have been dominated by shared memory architectures. However most manufacturers are looking at shared-memory and some have developed or acquired substantial expertise in that direction.</p>
<p>For technical reasons it seems unlikely that the shared memory scenario can persist and that ultimately shared-nothing will come to dominate. When that happens environments like the Datarush libraries and Hadoop will still be useful but there will be a need for technologies that will bring current technologies and their derivatives, most likely the latter, to the general purpose user.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Sydnes</title>
		<link>http://www.thevirtualcircle.com/2010/07/the-why-and-how-of-parallel-programming/comment-page-1/#comment-1115</link>
		<dc:creator>Daniel Sydnes</dc:creator>
		<pubDate>Wed, 28 Jul 2010 05:20:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.thevirtualcircle.com/?p=5870#comment-1115</guid>
		<description>I&#039;m a bit confused by your assertion: &quot;there are only two (!) primary alternatives for parallel programming.&quot;  Ada, Erlang, Haskell, and High Performance Fortran have offered easy shared memory and distributed memory parallelism for over 15 years.  Libraries like POSIX Threads (pthreads), MPI, SHMEM, and PVM extended parallel processing support to mainstream languages like C, C++ and Java for over 10 years.  Java also has their native Java Parallel Processing Framework.  Newer languages like Python and R can use NetWorkSpaces.  Microsoft introduced native parallelism in their .NET framework this year.  There are even languages (e.g., CUDA and OpenCL) that extend parallel processing across multiple processor architectures simultaneously so programmers can leverage embedded processors and GPUs in video cards.

Is your topic limited to large dataset problems using a shared-nothing parallel model implemented using a Map-Reduce technique?  If so, then Google MapReduce, Greenplum, GridGain, Hive, Holumbus, Mars, Misco, Plasma MapReduce, Qizmt, Sector/Sphere, and Twister are suitable comparisons.</description>
		<content:encoded><![CDATA[<p>I&#8217;m a bit confused by your assertion: &#8220;there are only two (!) primary alternatives for parallel programming.&#8221;  Ada, Erlang, Haskell, and High Performance Fortran have offered easy shared memory and distributed memory parallelism for over 15 years.  Libraries like POSIX Threads (pthreads), MPI, SHMEM, and PVM extended parallel processing support to mainstream languages like C, C++ and Java for over 10 years.  Java also has their native Java Parallel Processing Framework.  Newer languages like Python and R can use NetWorkSpaces.  Microsoft introduced native parallelism in their .NET framework this year.  There are even languages (e.g., CUDA and OpenCL) that extend parallel processing across multiple processor architectures simultaneously so programmers can leverage embedded processors and GPUs in video cards.</p>
<p>Is your topic limited to large dataset problems using a shared-nothing parallel model implemented using a Map-Reduce technique?  If so, then Google MapReduce, Greenplum, GridGain, Hive, Holumbus, Mars, Misco, Plasma MapReduce, Qizmt, Sector/Sphere, and Twister are suitable comparisons.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lou Bajuk-Yorgan, TIBCO Spotfire</title>
		<link>http://www.thevirtualcircle.com/2010/07/the-why-and-how-of-parallel-programming/comment-page-1/#comment-1107</link>
		<dc:creator>Lou Bajuk-Yorgan, TIBCO Spotfire</dc:creator>
		<pubDate>Mon, 26 Jul 2010 19:33:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.thevirtualcircle.com/?p=5870#comment-1107</guid>
		<description>I have looked at Pervasive in the past, and I recently came across another vendor, Zircon Computing, www.zircomp.com, at the useR conference in Maryland last week. They appear to offer another framework for parallel programming based on C++ (unlike Pervasive, which is based on Java).</description>
		<content:encoded><![CDATA[<p>I have looked at Pervasive in the past, and I recently came across another vendor, Zircon Computing, <a href="http://www.zircomp.com" rel="nofollow">http://www.zircomp.com</a>, at the useR conference in Maryland last week. They appear to offer another framework for parallel programming based on C++ (unlike Pervasive, which is based on Java).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: denise</title>
		<link>http://www.thevirtualcircle.com/2010/07/the-why-and-how-of-parallel-programming/comment-page-1/#comment-1105</link>
		<dc:creator>denise</dc:creator>
		<pubDate>Mon, 26 Jul 2010 17:02:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.thevirtualcircle.com/?p=5870#comment-1105</guid>
		<description>great article!!! I am in the process of learning about Hadoop! So this piece is very timely. I do agree with your opening paragraphs on the fact that parallel processing means very little if programs are not developed to use it!!</description>
		<content:encoded><![CDATA[<p>great article!!! I am in the process of learning about Hadoop! So this piece is very timely. I do agree with your opening paragraphs on the fact that parallel processing means very little if programs are not developed to use it!!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.thevirtualcircle.com @ 2012-02-09 01:42:11 -->
