Thursday | 4 December, 2008
LinuxWorld.com.au

'Suped' up

Supercomputing looks to new programming languages and tools to improve software development productivity
Gary Anthes (Computerworld (US)) 13/03/2007 14:46:11

Like Fortress, Cray's Chapel is a brand-new language. A few alpha users are working with an early Chapel compiler for serial code, but a production-grade compiler for parallel codes is several years away, according to Chief Technology Officer Steve Scott. He says Cray is also developing debugging and performance-analysis tools that, unlike existing tools, will be able to scale up to systems with 1 million processors.

Scott says Chapel will be well suited for machines with low communications overhead, globally addressable memory and many possible parallel threads of execution. He says the most important advance in Chapel is its separation of algorithm specification from machine-dependent structural considerations. That makes it possible for programmers first to code and debug algorithms in relatively simple programs, then later specify how the data is to be laid out in the machine for the most efficient access.

IBM's entry, code-named X10, is a parallel, distributed, object-oriented language developed as an extension of Java. It is designed for systems built out of multicore symmetric multiprocessing chips -- such as IBM's Power processors -- interconnected in scalable cluster configurations.

X10 takes the advantages of object orientation in Java for serial code and adds language constructs for parallel and distributed processing, says Vijay Saraswat, a researcher at IBM. The early version of X10 simply translates X10 code into Java, but a full-function optimizing compiler will be available to meet DARPA's 2010 deadline, he says.

DARPA says it has "no plan" to pick a winner among the new languages, but it clearly hopes that at least one of them will be a commercial success. And, as multi­core processor chips become ubiquitous, that would be a welcome outcome, says Mellor-Crummey.

"What we are seeing," he says, "is not a gradual shift but a cataclysmic shift from the sequential world to one in which every processor is parallel. In a small number of years, if your language does not support parallelism, that language will just whither and die."

Never enough

Richard Barrett, a computer scientist at Oak Ridge National Laboratory in Tennessee, is trying out Chapel, Fortress and X10. He says the promised development productivity will be welcome, but "runtime performance is a concern." He notes that execution efficiency is the ultimate goal in his lab, where the motto is, "Bigger, better, faster, more -- and even that is not enough."

"The applications I'm familiar with will be used for several years, or even decades," Barrett explains. "A scientist who has an idea will... run a set of experiments, each of which may consume days, weeks or months of computer time when using the most powerful machines in the world. The few machines with these capabilities are quite popular, so an experiment may sit in the queue for hours, days or even weeks. So, easy-to-write code that runs significantly slower than harder-to-write code is not acceptable."

Additional Resources
Newsletter Subscription
Sign up for our LinuxWorld newsletters!
RSS Feeds
 
Sponsored Links