Skip the navigation

Languages for Supercomputing Get 'Suped' Up

Three new programming languages seek to speed up the development of supercomputer applications.

By Gary Anthes
March 12, 2007 12:00 PM ET

Computerworld - For years, the name of the game in supercomputing has been raw speed, with hardware and software designers striving to boost the number of instructions per second — FLOPS — that could be crunched. Gigaflops computers gave way to teraflops machines, which are now yielding to petaflops models — those able to execute 1 quadrillion computations per second.

But those performance ratings are misleading, because they ignore a huge portion of the time required to solve a problem with these multiprocessor computers — the hours, weeks or even years it can take for software designers to formulate a solution and for programmers to code and test it.

That’s why the Defense Advanced Research Projects Agency in 2002 changed the name of its High Performance Computing Systems program to High Productivity Computing Systems (HPCS). DARPA hoped that its contractors — Cray Inc., IBM and Sun Microsystems Inc. — could come up with programming languages and tools to improve software development productivity tenfold.

Sun recently lost its bid to go to the next phase of the DARPA job, but that hasn’t stopped it from forging ahead with its HPCS programming language, called Fortress. In January, Sun released an early version of a Fortress interpreter. Similarly, Cray and IBM have released their own first-draft implementations of new languages.

The three languages, all available as open-source software, differ substantially when it comes to details, but they have this much in common:

  • They are intended to boost programmer productivity by a factor of 10 or more while running at least as efficiently as existing languages such as Fortran and C.

  • They are aimed at a wide range of multiprocessor computers and clusters, from the “petascale” behemoths at national laboratories to the multicore processors now appearing on desktops. Similarly, they are intended for use in at least some mainstream, business-oriented applications, not just in science and engineering.

  • They try to make it easier for programmers to exploit the various levels of parallelism in application software threads, multicores, multiprocessors and distributed clusters.

  • They employ techniques to relieve programmers of work and help them avoid opportunities for coding errors. For example, all use a technique called “type-inference,” so programmers don’t have to specify the type of every variable, which is tedious and error-prone. And they use techniques for synchronizing operations without locking, so that common problems such as deadlocking are avoided.
John Mellor-Crummey, a computer science professor at Rice University, salutes the productivity goal of the three languages, noting, “Programming of parallel systems is much too hard today.”

A Mighty Fortress
Sun is betting that its new language for high-performance computing will appeal to scientists and engineers because it uses mathematical notation directly in the code. Here are some other notable features of Fortress:
  • Unlike other languages, many features, such as loops, are set up for parallel execution by default. "It's difficult to write a program in Fortress that isn't parallel," a Sun researcher says.
  • It employs "work stealing." If an execution thread becomes idle, it can steal work from another thread in order to balance work across the machine.
  • It allows programmers to specify units — such as velocity, time and length — for variables, and it won’t allow erroneous operations such as subtracting 6 meters from 10 kilograms.
  • It includes locality optimization, so that related data sets are grouped near one another in the machine to reduce communication overhead.

Chart

But he says it won’t be easy to evolve the nascent languages — which now run on single, shared-memory systems — to run efficiently on big, distributed-memory parallel systems. “Until then, these languages won’t see much attention,” Mellor-Crummey says.

Eric Allen, a co-leader of the Fortress project at Sun Labs, says the language is ideally suited for relatively static environments. But applications that do a lot of dynamic code-loading or Web accessing would probably still be coded in Java, he adds. He says a full-function Fortress compiler will be developed and will include optimization features that have never existed in a language before (see diagram).

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 multicore 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.”

Read more about Applications in Computerworld's Applications Topic Center.



Additional Resources
Forrester Consulting - Optimizing Users and Applications in a Mobile World
WHITE PAPER
Solving application issues over the WAN requires careful consideration. Based on their independent research, Forrester Consulting offers recommendations on how to tackle application performance issues, insufficient bandwidth and the inability to quickly restore users in a disaster.

Read now.

Security KnowledgeVault
WHITE PAPER
Security is not an option. This KnowledgeVault Series offers professional advice how to be proactive in the fight against cybercrimes and multi-layered security threats; how to adopt a holistic approach to protecting and managing data; and how to hire a qualified security assessor. Make security your Number 1 priority.

Read now.

Cut Communications Costs Once and for All
WHITE PAPER
New IP-based communications systems are being deployed by small and midsized businesses at a rapid rate. Learn how these organizations are enabling faster responsiveness, creating better customer experiences, speeding office or mobile interactions, and dramatically reducing existing communications costs.

Read now.

Applications White Papers
Forrester Total Economic Impact (TEI) Case Study - Oracle
In this paper, Forrester Consulting examines the total economic impact and potential return on investment (ROI) realized by three Enterprise organizations as they...
The Hidden Truth About Virtualizing Business-Critical Applications
This IDG whitepaper highlights key findings based on the Quickpoll Survey conducted with more than 300 Enterprise and Commercial IT decision makers worldwide...
Top 10 Myths About Virtualizing Business-Critical Applications
Even though virtualization has brought positive change to enterprise IT over the last decade, some skepticism remains about how valuable virtualization can be...
Enterprise Java Applications on VMware: Unix to Linux Migration Guide
This guide focuses on key considerations for IT Architects who are in the process of migrating Java applications from UNIX to Linux as...
Virtualizing Tier 1 Applications: A Critical Step on the Journey Toward the Private Cloud  
This IDC white paper explains how much of the Enterprise IT community is at a crossroads in extending their journey to the private...
All Applications White Papers
Applications Webcasts
Live Webcast
Banish Poor Application Performance: Eliminate Business Disruptions, Increase End User Productivity
End User Experience, 30-Min Webinar
Wed. Feb. 22nd ~ 11 AM ET

Are you ready to gain the proactive ability to rapidly respond...
Apps QuickStart Series Part 2: Designing and Deploying SQL Server on VMware vSphere
Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as...
Apps QuickStart Series Part 1: Designing and Deploying Exchange 2010 on VMware vSphere
Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and...
Virtualize Business-Critical Applications with Confidence
Virtualizing business-critical applications has become a key focus for organizations as they move along their virtualization journey. With the launch of VMware vSphere®...
Discover the Benefits of Virtualization for Federal Applications
Want to say goodbye to missed SLAs? VMware can help you virtualize mission-critical applications such as Oracle, MS Exchange and SharePoint to achieve...
Reduce Application Lifecycle Management Costs with VMware ThinApp
Traditional desktop application deployment and management is a time-consuming and costly endeavor for IT. From development to deployment, including help desk support, the...
All Applications Webcasts
Newsletter Sign-Up

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all newsletters | Privacy Policy
IT Jobs