Microsoft plans to include the Message Passing Interface—a library specification for message passing proposed as a standard by a broad-based committee of vendors, implementers and users—in its Windows Server 2003 Compute Cluster Edition, which went to public beta this week at the Microsoft Developers Conference here and is on track to ship in the first half of next year.
"MPI is key middleware that was designed by a consortia of all the supercomputing vendors in the 1990s to allow the easy portability of code. It abstracts away things like low-latency interconnect, and our focus is making it super easy for ISVs to move their code," Kyril Faenov, Microsofts director for High Performance Computing, told eWEEK in a recent interview at Microsofts campus in Redmond, Wash.
"Actually, we are probably the first team at Microsoft that will actually ship an open-source component inside of our solution, but we havent made a lot of noise around this yet," he said.
Microsoft is working with Argonne National Laboratory, a U.S. Department of Energy laboratory operated by the University of Chicago, and has taken its MPICH2 reference implementation, which most ISVs have tested their code against, and optimized it for performance and security.
The MPICH2 Web site says its goals are to provide an MPI implementation for important platforms, including clusters, SMPs and massively parallel processors. It also provides a vehicle for MPI implementation research and for developing new and better parallel-programming environments. The current 1.0.2p1 version of MPICH2 was released in July.
MPICH2 has been extensively tested on several platforms, including Linux, IA32 and IA64, and Windows, the site says.
"The interesting thing is that we are already starting to see results. ISVs are coming back and saying that they just have to recompile and relink, and their applications just work. So we are trying to make it as easy as possible for them to be able to run their code in a Windows environment," Faenov said.
"Down the road, the key advantage that we will be able to bring to this community is the fact that the market for parallel development tools has been very small and they have been very expensive. But Visual Studio 2005 will have a parallel debugging capability built in, and that will be available to them for the cost of that package," he said.
Microsoft has been warmly welcomed by Argonne as the labs goal is to make sure that its work gets the broadest penetration possible. "In fact, their motivations are perfectly aligned with ours—that is, as broad a penetration as possible," Faenov said.
While the financial mechanisms are naturally different as Microsoft is a commercial software firm and Argonne is funded by the government, "our desires are the same and for them, a commercial company making use of the software and getting it out there and having the schemas get done right," he said.
It would have been extremely costly and complex for Microsoft to develop an alternative to the MPI technology, which "is a complex piece of software that would take years to develop," Faenov said.
There would also have been a compatibility issue. "Standards are standards, but they dont specify everything. Its the implementation that usually defines that, and so this has been the reference implementation and most ISVs have tested with it, and it gave us a level of assurance that we will be able to meet the needs and reduce the costs for ISVs," he said.
Asked by eWEEK what Microsoft will give back to the open-source community for the MPI component, which is licensed under the BSD and not the GNU General Public License (GPL), Faenov said all fixes will be given back, while "well probably give the changes back as well."
Microsoft has also learned a lot about what is required for a software company to include an open-source technology component in its product, from ascertaining who has contributed that code to being able to make sure that all the licenses and permissions are in place, he said.