Cray, IBM, Sun Weigh In on Language

Government researchers are evaluating programming languages from Cray, IBM and Sun Microsystems as part of a broad effort to simplify the increasingly complex process of writing software for the world's most powerful computers. But some observers say the Defense Advanced Research Projects Agency does not have the right approach or enough support to drive the needed new direction in supercomputer software.


December 04, 2006
URL:http://drdobbs.com/cpp/cray-ibm-sun-weigh-in-on-language/196601222

San Jose, Calif. -- Government researchers are evaluating programming languages from Cray, IBM and Sun Microsystems as part of a broad effort to simplify the increasingly complex process of writing software for the world's most powerful computers. But some observers say the Defense Advanced Research Projects Agency does not have the right approach or enough support to drive the needed new direction in supercomputer software.

Experts generally praised Darpa's High Productivity Computing Systems (HPCS) program, which awarded nearly $500 million to Cray and IBM in November to build prototypes of petaflops-class systems by 2010, the goal being to make such systems easier to use (see story, page 8). A continuing evaluation of Cray's Chapel, IBM's X10 and Sun's Fortress languages aims to choose a lingua franca for programming such next-generation systems, which are expected to use tens of thousands of processors, sometimes of various flavors.

Sources said Darpa could pick one of the languages or a hybrid made up of parts from any two or three of the proposals. A decision could take 18 months.

Today's largest computers typically use the Message Passing Interface (MPI) libraries, developed by a committee of academic researchers a decade ago to link Cobol and Fortran programs across tens or hundreds of off-the-shelf processors ganged in large clusters.

"As systems become much larger, with hybrid CPUs, this just doesn't work well," said Jack Dongarra, a supercomputer researcher at the University of Tennessee who helped develop MPI. "MPI has just too much programming complexity to get it all right."

"We have to get away from message passing between the zillions of nodes that make up a system," said Jim Mitchell, a Sun research manager who has headed Sun's supercomputing efforts.

Cray, IBM and Sun aim to deliver languages that give programmers a higher-level view of complex systems as a uniform pool of memory they can access to let diverse processors communicate more easily with each other.

The languages are still in an early research phase, however, and one researcher who has had a hands-on look at them said that it's not clear whether they will adequately address looming problems in parallel programming in a vendor-neutral manner.

"They are still in a primitive state, and there is no evidence yet they will be embraced by the application community," said Marc Snir, a professor at the University of Illinois (Urbana-Champaign) who had a hand in MPI's development.

"The language is just one small component of the problem," added Snir. "You also need lots of libraries and tools for performance tuning, debugging and integration with existing libraries."

Snir warned against creating a hybrid language based on the work of the three companies. "I don't think the first version of a language can be designed by committee. It has to have its own personality," he said.

A more evolutionary alternative, he said, would be to move to emerging languages such as Co-Array Fortran or Universal Parallel C. Those languages require smaller advances in compiler technology, Snir said, but they have gotten little traction thus far.

Neither Darpa nor the three companies are providing many details about the competing languages. Snir said Cray's Chapel is the closest to MPI because it is focused on data parallelism. IBM's X10 introduces new ideas such as atomic data structures and asynchronous processes, he said. Sun's Fortress, which has been described as "Matlab on steroids," would require the most aggressive changes in compilers of the trio, Snir said.

Sun's Mitchell said Fortress would be open and independent of any operating system. It uses parallel programming as its default mode and can incorporate new libraries as if they were native to the language. That feature is prized in high-performance computing, where developers routinely employ third-party software libraries.

Sun is also exploring compilers for Fortress that would use both static and dynamic run-time optimizations to increase parallelism, Mitchell said.

Cray's Chapel would be made available to the industry if Darpa selects it. "Some of the work we do in the system software area will be contributed back to the open-source community, but I am not aware of any major pieces of software at this time that we are planning to release," said Steve Scott, chief technology officer at Cray.

Cray is also working with third-party tool developers, which would be free to make widely available any programs that develop around Chapel, he added.

A spokesman for IBM would not make any details of X10 available. He said that the company had not decided whether it would make the language available for other systems makers to use.

Snir said the problems finding a replacement for MPI are "less technical and more commercial. We have not figured out a business model to cover the expenses of building such an advanced development platform."

MPI has demonstrated the potential to scale up to large systems; indeed, it is already deployed in a version of IBM's BlueGene/L supercomputer that uses 128,000 processors, Snir said. However, such large systems do create great programming complexity in MPI.

The MPI libraries, developed in the early 1990s and now in a version 2.0 release, effectively have no road map.

"We may reconvene to write minor enhancements, but we don't expect MPI to evolve significantly," Snir remarked. "MPI's lifetime has already exceeded my expectations."

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.