<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Wed, 25 Nov 2009 15:10:14 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network Comments feed</title>
    <link>http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/feed/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>By Gastón C. Hillar</title>
      <description><![CDATA[ Hi Sanjiv,

Nice article.
You say "Parallelization should be regarded as an investment like any other—one that should be undertaken when necessary, but only after due consideration of costs and benefits."

I'd like to add some thoughts to your post:
* Parallelization is one of the most important challenges for software developers in the next years.
* Parallelization is one of the greatest opportunities for software developers.
And,
* A well-parallelized application can kill a bad-parallelized application.

Therefore, developers must tackle the multicore revolution.

80% of the applications I use in my daily work do not use more than 20% of my desktop PC processing power. I see a great opportunity for developers in difficult economic times through parallelization.

Cheers,

Gastón

 ]]></description>
      <link>http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/#comment-20861</link>
      <pubDate>Wed, 11 Mar 2009 18:26:09 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/#comment-20861</guid>
    </item>
    <item>
      <title>By Sanjiv Shah (Intel)</title>
      <description><![CDATA[ Hello Gastón,

Thanks for your comments.  I absolutely agree that parallelization offers one of the greatest opportunities for developers and software vendors to differentiate themselves from the pack. The ones who conquer it early for their application domains will reap the biggest benefits.  And I agree that it will become necessary for all developers.

The cautionary point though is one of measured steps.  Gain experience first, then make longer term plans.  Taking existing sequential algorithms and trying to add parallelism to them in localized places may not be the best long term solution, though those can be very good first steps to gain experience.  Often, rethinking the entire algorithm and the entire way of solving the problem with parallelism in mind if going to lead to better results.  

People who write and ship software to make a living will need to get their feet wet with parallelism, perhaps in localized places, so that they can gain experience and understanding to lay out a longer term strategy of how to proceed.  

And using parallelism to seperate from the crowd is an awesome opportunity!

Sanjiv ]]></description>
      <link>http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/#comment-20941</link>
      <pubDate>Fri, 13 Mar 2009 07:05:38 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/#comment-20941</guid>
    </item>
    <item>
      <title>By Thomas Henties</title>
      <description><![CDATA[ Sanjiv,

I agree with your statements except: "Don’t Parallelize Un-Optimized Serial Code". You're right, perhaps parallelization is not needed at all. But when you try to parallelize an highly optimized algorithm, there it is often much harder to find an appropriate decomposition. Therefore I think it's better to parallalize first (think about the components that can be done independently) and than vectorize inner loops and perform further optimizations (or better let the compiler do it).

Thomas ]]></description>
      <link>http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/#comment-24173</link>
      <pubDate>Mon, 11 May 2009 06:50:13 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/#comment-24173</guid>
    </item>
    <item>
      <title>By Sanjiv Shah (Intel)</title>
      <description><![CDATA[ Hi Thomas,

The key point there was "In some cases, you might gain greater performance improvements by optimizing the serial version than by creating a parallel one".

But your point is well taken -- serial optimizations can inhibit parallelization.  

Hence it is important to compare the best serial algorithms to the best parallel algorithms, at least from a big O notation perspective.

Sanjiv ]]></description>
      <link>http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/#comment-24174</link>
      <pubDate>Mon, 11 May 2009 07:05:47 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/when-to-say-no-to-parallelism/#comment-24174</guid>
    </item>
  </channel></rss>