Redmond (WA) - Intel and Microsoft today launched a $20 billion initiative to fund Parallel Computing Research Centers at two key U.S. universities, which the companies hope will come up with tools that will stimulate the development of software -which will be able to exploit many-core computing platforms in the future. But there are doubts: Are two universities enough? When will developers and consumers see the benefit?
Some information about the announcement already had trickled through yesterday and today we got some more clarity how serious Intel and Microsoft really are about their idea to seek the help of universities to accelerate the understating of multi-threaded programming among mainstream developers. The two companies are providing $20 million to create two Universal Parallel Computing Research Centers (UPCRC) at the University of California, Berkeley (UC Berkeley), and the University of Illinois at Urbana-Champaign (UIUC).
According to the official statement, the research effort will focus on "advancing parallel programming applications, architecture and operating systems software." Tony Hey, corporate vice president of External Research at Microsoft Research, said that there is also a "plan to explore the next generation of hardware and software to unlock the promise and the power of parallel computing and enable a change in the way people use technology."
Broken down to its basics, it is clear that there will be two major goals in this research initiative: First, to develop parallel programming methodologies that hopefully will make their way to many more programmers and ultimately make multi-core programming much more accessible than it is today. Second, this research will also expose Intel and Microsoft to the very best of multi-core programming this country has to offer and future hardware and software developments could see major benefits from ideas coming out of Berkeley and Urbana-Champaign.
$20 million is probably one of the larger research efforts sponsored by the industry in U.S. academia, but we were somewhat surprised that especially Intel is not investing more, given the size of the problem it faces.
It has been no secret that both AMD and Intel have been disappointed with the speed multi-core programming is being penetrating the software development industry. Some had hoped that the introduction of dual-core processors and the vision that the number of cores will grow quickly over time will outline an opportunity most developers would jump on immediately. That clearly has not happened in the past three years, at least not at the pace Intel had hoped for.
As the number keeps growing single-threaded software will become increasingly inefficient (and slower) and it turns out that Intel now faces a serious problem: Who will develop applications for these processors (and acceleration cards such as Larrabee), especially when they will have dozens of cores by 2009 or 2010? Realistically, that is a talent that only has been available with people who have programmed applications for hundreds or thousands of cores - supercomputers - already in the past.
From that view, the decision to go with UC Berkley and UIUC is not a bad idea and, in fact, an industry source told us that the two people in charge of these projects (Marc Snir in Berkeley and Wen-Mei Hwu in Urbana-Champaign) represents the U.S. Dreamteam of parallel computing. But there was doubt that this effort will be broad enough to ramp up the availability of multi-threaded software quickly.
This research program has a 5-year plan and it may take time until such tools become available. And even then, these tools will need time to make their way to developers out there. There is no question that especially Intel is under time pressure to create enough developer support for its "many-core" products.
Based on that scenario, it is a bit surprising that the research effort is limited to two universities. Intel and Microsoft said that 25 "top-tier institutions in the field of parallel computing research were evaluated" as part of the selection process. "UC Berkeley and UIUC were unanimously selected for their outstanding reputation in computing and their expertise in the specific area of parallel computing among other reasons." Intel and Microsoft certainly had their reasons to simply go with these institutions, but the investment still looks a bit conservative at this time.
One industry source familiar with the state of parallel programming education told us that "there is no such thing as free lunch. These two companies need to pursue a general multi-threaded programming model vigorously. There is nothing wrong with the approach announced today, but it is not enough to solve the whole problem."
The big question will be when these new tools coming out of Berkeley and Urbana-Champaign will be available to developers, when they will be used for actual development and when new applications will be on your desktop. We don’t know how long it will take, but there is a good chance that it will take too long - to the point that a lack of multi-threaded applications could delay the arrival of many-core products. Why introduce Larrabee with potentially dozens of programmable IA cores if there are not enough developers who can program applications for this product?
But even if we believe that it took Intel longer to come up with this idea than we think it should have, the positive side is that there is an initiative to educate a new generation of developers. Better late than never.