English | 中文 | Русский | Français
2,590 Posts served
8,335 Conversations started
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.

Mike Hoskins
I invite you to take a look at: http://www.pervasivedatarush.com tks..
Mike Hoskins
CTO, Pervasive Software