The $20 million Intel/Microsoft multicore programming initiative

Most readers may already know about the news of Intel and Microsoft setting up two research centers called “The Universal Parallel Computing Research Center” (UPCRC) at the University of California at Berkeley and the University of Illinois at Urbana-Champaign (UIUC) with a grant of $10 million each. In addition, UIUC will match with its own grant of $8 million which will be utilized by 22 faculty members from the Department of Computer Science and Department of Electrical and Computer Engineering.

Although the announcement came on March 18, the news and specifically Berkeley’s name had been doing rounds on technology news websites much earlier. Berkeley and Illinois were selected from an initial set of 25 top universities across the nation including MIT and Stanford. The funding is particularly exciting for Illinois since it is a recognition of its continued excellence in the field of parallel computing since the days of Illiac IV back in the 1960s.


I have observed opinions on quite a few websites as to how $10 million represents a drop in the ocean for Intel and Microsoft, while both companies have been posting billions of dollars in annual profits. In addition, given the fact that the problem of programming multicore chips poses such a significant risk to their core business, the amount appears to be tiny at first look. But we should keep in mind that Intel and Microsoft are not stupid. They have had frequent and significant collaboration with academia for a long time. They realize that $10 million is a large enough amount to generate excitement among academic researchers, especially in Computer Science community where they mainly have a need for computers and graduate students. They don’t need to buy telescopes and nuclear reactors. You get the point.

As the news about this project cools down across blogs and technology websites, the researchers at UIUC are gearing up for some very exciting research. The array of faculty members at UCPRC at University of Illinois is quite impressive, both at the individual level and as a group. Their area of expertise represents the whole stack of computation as we know it today.

The project group

The research project covers subjects ranging from microarchitecture (Wen-mei Hwu, Sanjay Patel, Craig Zilles) to computer architecture (Marc Snir, Sarita Adve, Joseph Torrellas, Rakesh Kumar), from compilers (Vikram Adve, David Padua, Matthew Frank, Maria Garzaran) to programming languages/programming models (Gul Agha, Laxmikant Kale) and from software design (Ralph Johnson), testing and verification of concurrent software (Grigore Rosu, Darko Marinov, YuanYuan Zhou) to end-user applications (Klara Nahrstedt). In addition, the project includes researchers in AI (Eyal Amir, David Forsyth, Dan Roth) and graphics (John Hart), which is a very important area in terms of parallel algorithms.

There is a realization at UIUC that a new class of next-generation applications will drive the demand for the parallel processing capability available through a processor. Based on the current vision, these applications have been broadly categorized into human-centric and environment-aware applications. One area that Illinois’ center lacks strength is that of operating systems and virtualization. I believe that efficient and reliable run-times that deal with inter-core communication, scheduling, resource management, security and debugging on multi-core is important to the layers above it. In fact, multi-core processors provide an opportunity to fix mistakes of the past by leveraging extra processing to enhance the security of the platform.

The gap between the community and researchers

Amidst all the excitement, there are some reservations that need to be analyzed and addressed carefully. Traditionally, academic researchers are interested in securing tenure, getting citations and making an impact in the research community. This translates into the sole goal of publishing research papers and more research papers. Also, academic research in this area is focused on the insights and the theory behind some phenomenon.

As a result, such research or a prototype may not be scalable into real-world applications or it may not be user-friendly enough to make sense for the developer community. On the other hand, the problem of multi-core programming is staring at us right now. I am not sure what Intel’s and Microsoft’s expectations are, but it is quite possible that they are in fact looking at fundamental results from the academic centers to leverage their large work force to polish and realize the ideas that come forth. It calls for a much closer collaboration between the centers and the companies than it appears at first sight.

Another development that I will be watching with much interest is the evolution of a model of collaboration among the members within a center. It is simply not possible for all the faculty members to work on the same project at the same time. The current model seems to be that small groups (up to three or four members) are currently collaborating on a project that matches their current interests, beliefs and philosophy.

Read on the next page: Actor model

Create a new thread in the UK Article comments forum about this subject
This thread is closed for comments
No comments yet
Comment from the forums
    Your comment