XPRESS Route to Exascale

In the world of supercomputers, where the top machines can cost upwards of $100 million, $1.1 million may not sound like much. To Thomas Sterling, chief scientist at the Center for Research in Extreme Scale Computing (CREST) at Indiana University, it's a sum that will go a long way toward funding his favorite project.

The Department of Energy awarded that amount to Indiana University's CREST last week to fund three years of work on the XPRESS (eXascale Programming Environment and System Software) project. CREST is collaborating with work going on simultaneously at Sandia National Laboratories and several other universities and research labs. The overall goal is to enable the creation of exascale computers.

HPCwire caught up with Sterling to discuss his role in the endeavor and what it means. As usual, he has some bold and controversial opinions on the future of supercomputing.

XPRESS, based on the ParalleX parallel computation model, is being designed to enable highly parallel processing. Collectively, the work being coordinated at Sandia, according to Sterling, represents "the single most important program in high performance computing that there is."

From left to right: Executive Associate Director Thomas Sterling, Director Andrew Lumsdaine, and Associate Director of Strategy Craig Stewart

Sterling's team at CREST, which is not yet 18 months old, is working on a unique new type of runtime environment, a dynamic system that will enable the software to automatically reallocate compute tasks over time. It will be self-correcting; detecting when processor cores are sitting idle and assigning them new tasks on the fly rather than sticking to the routines established by the human programmer, the compiler and the load time system. When it detects idle processors, it should be able to make adjustments on the order of a millisecond, or even a microsecond.

Sterling believes such a system could provide a dramatic improvement in the efficiency of supercomputers. Benchmarks such as Linpack or Highly Parallel Linpack don't always represent the real world. When even the most powerful supercomputers are running real and very complex applications, such as multi-scale, multi-physics applications, the efficiency may be as high as 70% or as low as 3%, he says. "You'll see that the efficiencies are often well below 10%," he adds. "You find yourself throwing away 90% of the computer."

Sterling acknowledges that others disagree with his approach. While other prominent research teams are working on improving the popular MPI (Message Passing Interface) to create a parallel processing system, Sterling has doubts about how far that kind of work can go. While a programmer can divide tasks among many different cores with MPI, the gains are limited because each task takes a different amount of time to complete. That requires setting up global barriers that keep each core from moving on to the next task until all the other cores have completed their tasks. A lot of cores, therefore, are sitting idle at any one time.

That works fine for many HPC programs; those in which the tasks are regular, even and coarse-grained, he says. There are plenty of such tasks in HPC, and MPI has been a big success as a result. But Sterling believes it is no longer sufficient to usher in the era of exascale. Complex scientific calculations are usually highly non-linear and the processing time of different cores can vary dramatically.

Next >>


Thursday, February 28, 2013
News & Events
Personnel Ref: