Love this post on 'Downer at the Multi-core Party' by Matthew Dublin. Beside the fact that the language in the first paragraph is quite hilarious.
The article talks, like many, about parallelizing algorithms for HPC applications and I agree that parallelization is an important topic. Developing parallel applications is not easy and any language and toolkit to help is a must have. I don't quite agree with the last statement 'the discussion is happening, ..., everybody just needs to lighten up'. Most of the work that I am seeing is academic or limited in scope of algorithms that they are applicable to. I do agree with the statement though that 'it hardly means that multi-core has failed to deliver'.
My biggest comment on these type of articles is that they largely overlook scenarios where a customer is looking to use multiple cores to solve different algorithms, which is common in the embedded world. Say for example, a multi-functional printer, earlier versions of the printer may have VxWorks as the operating system. Adding Linux would open up new capabilities like advanced web-driven interfaces for example. This can very well be solved by a single core, but a dual core processor has just that much more computing power.
Other examples are wireless infrastructure antenna applications. Handling the control of an antenna covering 360 degrees of separating is typically done in zones. The zones are independent and can nicely be handled by the different cores on a multi-core CPU.
In short: Yes, we do need more support for parallel languages and programming techniques. Even without them though, multi-core delivers significant benefit in the embedded world.
Mark is a senior product manager with Wind River focusing on multicore and virtualization solutions. Prior to joining Wind River Mark has helped development teams build embedded systems across Asia, Europe and North America in automotive, telecom, consumer electronics and defense industries.

Comments