Parallelism for paranoids or what?

By Selwyn H. You 游骅 (Intel) (8 posts) on August 28, 2008 at 7:30 am

I am attending the annual (Intel) PRC Multi-Core Forum held at Xiamen. Among the overwhelming information I received from the experience and BKM sharing between faculty, one interesting point does catch my attention - As the computing power which used to belong to super computers now becomes normally available on our desktop and laptop system, should the parallel programming techniques take off their old academic clothes and dress in some new fashion that is friendlier to common developers?

That is actually a derived question brought up by some professors in their presentation about the evolution of parallel programming and what is expected to be taught to the student. With proper tools, one experienced developer can tune their parallelized application approaching linear speedup or even super-linear. But that may require hours of training, weeks of practicing and maybe even month/years of experience accumulation. On the other hand, developers are expecting more intelligent support from software tools like compiler, run time libraries or some framework that can do the auto parallelization so that developers don't have to spend too much effort on digging out more speedup. So with that, what is the least necessary to be taught to the student is of question.

To my knowledge, the intelligence of software tools is unfortunately limited. Look at the initiatives proposed by companies or institutes about the automation. They still need human expertise input some how during the development cycle to gain the expected performance. And those necessary input is still related to the essences of parallel programming like parallelism identification, work partitioning and communication/synchronization considerations. That is a reminder for us - the free lunch does end and those essences are still what should be kept in the mind of developers whoever resort to parallelism for performance with whatever tools.

Categories: Academic, Parallel Programming

Comments (1)

September 2, 2008 11:37 AM PDT


Mike Hoskins
Depending on "superstar" programmers to carry us to the next generation of massively parallel Apps on multicore is (as you point out) simply not going to scale. I think however you are too pessimistic on the possible emergence of "..runtime libraries or some framework.." to help typical developers produce these massively parallel Apps more easily and quickly. We have been working on just such a parallel engine and developer studio - called "DataRush", and are using it to build highly parallel data-intensive Apps that scale automatically as you add more cores.

I invite you to take a look at: http://www.pervasivedatarush.com tks..

Mike Hoskins
CTO, Pervasive Software

Trackbacks (0)


Leave a comment  

To obtain technical support, please go to Software Support.
Name (required)*

Email (required; will not be displayed on this page)*

Your URL (optional)


Comment*