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.
Sterling believes that it’s not always necessary to use global barriers. Not every core needs to wait for all the tasks on all the other cores to finish. The cores that finish last are the ones that need the data from all the other cores before finishing their own tasks Every other core sits idly by to wait for them to catch up and release the barrier. The idle cores could be working on new tasks if they weren’t held back by the barrier, waiting for the last cores, whose data they don’t need, to catch up.
An example comes from climate modeling, where the researcher is studying changes in temperature over the ocean. The model has to take into account a lot of different variables, such as energy and mass transfer, different chemistries in the ocean, solar radiation, and the transfer of energy from the boundary areas of the water. It also has to take into account highly irregular coastlines, islands, or the distribution of ice. But when studying a cross-section of a grid over the ocean, it’s not necessary to wait for all the calculations to be completed for every section of the grid before moving on to the next task. One grid in the middle of the Atlantic is only going to be affected by areas within tens or hundreds of kilometers, not by sections in the Pacific. Some of the calculations do not need to wait for the entire set of processors to finish.
The problem is that it’s virtually impossible for the programmer to figure out in advance all the permutations of tasks and cores that would move things along more rapidly. That’s where the ParalleX execution model comes in. Dynamic modeling means that the system can automatically detect when tasks are finished and cores are sitting idle. It can then assign new tasks to those cores. Everything still needs to be synchronized at certain points, but ParalleX sets up many smaller barriers rather than one global barrier.
Sterling has a lot of confidence in the work at CREST, which is devising a new software stack that will insert an XPRESS layer into the X-Stack system. But just creating a plug-in stack layer is not sufficient. CREST’s work is being done in conjunction with Sandia’s light weight kernel operating system, integrating them tightly together. “We’re able to redefine the OS and the runtime system jointly, which creates a whole new protocol, a whole new relationship between those two pieces of software,” he says.
Where his work goes further than other efforts as parallelism, he adds, is moving beyond an ad-hoc approach to an integrated system.
“We redefine the execution model so these things stop being hacks, stop being patches and they start being something of a comprehensive or a coherent, complete paradigm,” he says. “We feel it’s very important that everything be designed within the context and scope of everything else so it all makes sense. That will create a whole new ability to dialog between the two software layers.”
How much improvement can this approach offer? Theoretically the combined project could increase efficiency by a factor of 20. So far, his tests have managed to increase efficiency by a factor of two.
Might it be better to just figure out how to evolve MPI to do the same kind of thing? Sterling acknowledges that it might, but ultimately he doubts if that approach will be able to make the leap forward in parallelism that’s needed. He compares it to punctuated equilibrium in evolutionary biology. Evolution is not always gradual change; sometimes it encounters a rapidly changing environment and must adapt quickly.
Sterling believes we’re at such a point today. “It’s not just because of big data, although that’s the big thing right now,” he says. More importantly, he says, the big need is for dynamic graph structures. Climate modeling, for example, is a hugely complex problem that requires more than a two-dimensional approach. Accounting for hurricanes and other phenomena in oceans requires a z-axis. Industrial design, microbiology, and controlled fusion are also deep, highly non-linear problems that need solving with dynamic graphs. This kind of parallelism is key to the future of HPC, not just for number crunching, he says, but for “HPC symbolic information, which means knowledge management and understanding by machines.”
While the overall program is officially dedicated to creating exascale computing, Sterling believes it could prove its importance much sooner than that. He refers to the need for “extreme scale” computing, not exascale, which is an arbitrary benchmark. A lot of progress can be made along the way. Getting to exascale represents in increase in compute power of two orders of magnitude from today’s best supercomputers. But one order of magnitude or less would go a long way to improving materials science, industrial design, microbiology and what he sees as the most important need for the 21st century, controlled fusion. Supercomputers are already showing limitations for some of the kinds of scientific programming people want to do.
“You don’t have to wait until the end of the decade to worry about exascale,” he says. “The challenge is today, not some far future challenge. We are losing today and we need new methods today.”
He believes he has a good chance of meeting that challenge. And that makes him very happy. “There will be nothing like it,” he says. “I find it very exciting.”
Feeds by Topic
- Developer Tools
Feeds by Industry
October 22, 2014
October 21, 2014
- Advanced Clustering Offering Phi Developer Kit
- DUG to Purchase HPC Hardware from SGI
- NSC Sweden and Meteo France Select Mellanox InfiniBand Offerings for HPC Applications
- SysFera and Kitware Partner to Integrate HPC Technologies
- Cray to Release Third Quarter 2014 Financial Results on October 28
- DOE, ORNL, and EPB Begin New Partnership
- New Project Hosted on IBM’s World Community Grid Debuts Today
October 20, 2014
- VLSCI Receives $6.65M Grant from the Victorian Government
- HPCAC-ISC 2015 Student Cluster Competition Applications Now Being Accepted
- GLOBALFOUNDRIES to Acquire IBM’s Microelectronics Business
- Mellanox Ethernet Offerings Selected for New HP ARM Datacenter Platform
- IBM Reports 2014 Third Quarter Results
October 17, 2014
- SGI to Host Analyst Day at SC14
- AMD Reports 2014 Third Quarter Results
- OVH Launches Cloud Service Based on IBM POWER8 Processor
October 16, 2014
- Supermicro and Nexenta Collaborate
- SGI UV for SAP HANA Introduced
- SC14 Announces New Plenary to Focus on the Importance of Supercomputers in Society
- CPU 24/7 Joins UberCloud Marketplace
Most Read Features
- CPUs Outperform GPUs in Financial Markets Benchmark
- Cray Strikes Balance with Next-Generation XC40 Supercomputer
- Cray Launches Hadoop into HPC Airspace
- Moonshot Moves HPC Closer to ARM’s Reach
- Why Aren’t There More Startups in HPC?
- What’s Behind the HPC Justification Problem?
- Report Assesses NSF Supercomputing
- What’s Still Missing for HPC Users in Manufacturing
- PayPal Finds Order from Chaos with HPC
- Will Magnets Be the Cure for What Ails Moore’s Law?
- More Features…
Most Read Short Takes
- India to Launch $730M National Supercomputing Mission
- In Support of Open Source
- A New Era in HPC
- Preparing for Manycore
- Supercomputing Drives Wind Power Efficiency
- NSF Promotes Data Science with $31M Award
- Seismic Explorers Set Exascale Course
- Air Force Stocks Its Supercomputing Arsenal
- Report Pins HPC Progress to Software Scalability
- KAUST Tackles Extreme Event Prediction
- More Short Takes…
Most Read Off The Wire
- RIKEN Selects Fujitsu to Develop New Supercomputer
- Jülich Supercomputing Centre to Develop HPC Platform for the Human Brain Project
- Fujitsu to Provide KAU with a New HPC System
- Bill Blake Joins D-Wave Systems
- LANL Teams with HPC Groups for Advanced Climate Change Understanding
- Top Supercomputers of India List Released
- SGI Introduces DMF for Lustre
- Fabio Gallo Appointed VP and GM of Eurotech’s HPC Business Unit
- University of Pittsburgh Receives $500,000 from the NSF
- HPC Wales Awarded ISO 9001 Certification
- More Off The Wire…
- Read more…
- Read more…
- Read more…
- Read more…
- Read more…
- Read more…
- 10/15/14 | Adaptive Computing, Cray, NetApp, ScaleMP, Seagate | From industry leaders to national supercomputing centers, there’s no single path to the bleeding edge of information technology. So how do Read more…
- 9/26/14 | Altair | The University of Nottingham chose Altair’s PBS Works suite as the integrated workload management solution for their HPC system comprising over Read more…
- Read more…
- Read more…