To prepare students "to harness the potential of modern computing systems," the companies will provide universities with hardware, software, and services to advance training in large-scale distributed computing.
The two companies aim to reduce the cost of distributed computing research, thereby enabling academic institutions and their students to more easily contribute to this emerging computing paradigm.
"Google is excited to partner with IBM to provide resources which will better equip students and researchers to address today's developing computational challenges," said Eric Schmidt, CEO of Google, in a statement. "In order to most effectively serve the long-term interests of our users, it is imperative that students are adequately equipped to harness the potential of modern computing systems and for researchers to be able to innovate ways to address emerging problems."
The first university to join the initiative is the University of Washington, located not far from Microsoft's corporate headquarters in Redmond, Wash. Carnegie-Mellon University, MIT, Stanford University, the University of California at Berkeley, and the University of Maryland are also participating in the program.
"The reason that we're partnering with universities is that Google is an engineering firm," said Christophe Bisciglia, a senior engineer at Google and a former University of Washington student. "We're working with our academic partners to teach [large-scale distributed computing] to students."
The fundamental architecture of computing is changing, Bisciglia said. Moore's Law still applies, he said, but now more performance gains come from processor density than transistor density. "You need to design your software to that it scales horizontally," he said, referring to the challenges of programming for many multicore processors working in parallel.
"In this age of 'Internet-scale' computing, the new, evolving problems faced by computer science students and researchers require a new, evolving set of skills," Bisciglia explained in a post to Google's corporate blog on Monday. "It's no longer enough to program one machine well; to tackle tomorrow's challenges, students need to be able to program thousands of machines to manage massive amounts of data in the blink of an eye."
"This is really going to benefit every entity that goes on to take these students," said Bisciglia. "They're all going to benefit from this change. They're all going to need it sooner or later."
Large-scale distributed computing, also known as cloud computing, has been touted as the future for years now. In a July 2003 paper, Microsoft researcher Jim Gray -- who was reported missing at sea earlier this year -- noted that IBM and Microsoft were pushing Internet-scale distributed computing as a new model.
Sun Microsystems has also long been an advocate of what it calls grid computing.
In a statement, Samuel J. Palmisano, chairman, president, and CEO of IBM, characterized the effort "to train tomorrow's programmers to write software that can support a tidal wave of global Web growth and trillions of secure transactions every day."
Whether IBM and Sun will develop an ad-based revenue stream to support large-scale distributed computing remains to be seen. Unlike Microsoft, neither company has hedged its business model by investing in Internet advertising technology.
As part of the initiative, Google and IBM are providing a cluster of several hundred computers -- Google's custom servers and IBM BladeCenter and System x servers. Over time, the companies expect the cluster to surpass 1,600 processors. The Linux-based servers will run open source software including Xen's virtualization system and Hadoop, an open source implementation of Google's distributed file system that's managed by the Apache Software Foundation.
Although Hadoop was developed by Yahoo's Doug Cutting and can be seen as enabling Google's competitors, Google says it supports the effort. "We're made very small contributions to Hadoop for this project and we obviously very strongly support the project," said Bisciglia.
IBM's Tivoli software will handle cluster management, monitoring, and resource provisioning.
Students working with the cluster will have access to a Creative Commons-licensed curriculum for massively parallel computing developed by Google and the University of Washington.