Tilera's chief technologist, Anant Agarwal, a longtime multicore researcher at MIT, admits his company's tools are no panacea for the formidable computer science problems that underlie programming massively parallel architectures. "There is no silver bullet in multicore programming," he said.Yes, there is a silver bullet, Professor Agarwal!
The reason that current multicore processors are hard to program is that they were created for the wrong software model. The algorithmic model has been with us since the days of Charles Babbage and Lady Ada. It is not suited for parallel processing because it is inherently sequential. Indeed, it is responsible for most of the ills that ail the computer industry, not just the parallel programming quagmire. It is time that we switch to a non-algorithmic model, one which is implicitly parallel. Sequential ordering should be explicit, not implicit as it is now.
The multicore CPU manufacturers have only themselves to blame for the mess that they are in. You don't design a CPU and expect the software model to change to accomodate it. It should be the other way around. The software model must come first.
So yes, there is a silver bullet and Project COSA is it. The COSA model is inherently and implicitly parallel and it makes parallel programming easy. It would not take much to convert the design of current multicore CPUs to support the fine-grain parallelism of the COSA model. COSA offers many other benefits as well. In a COSA-optimized multicore processor, load balancing would be automatic. COSA programs would automatically scale to take advantage of more powerful processors. Last but not least, due to its strict timing constraints, COSA programs will be 100% reliable, guaranteed.