The Sandia National Laboratories have launched a new program meant to speed development of an exascale-capable operating system. The project, dubbed XPRESS (eXacale Programming Environment and System Software) will receive $2.3 million per year for the next three years from the Department of Energy. We’ve previously covered DoE and DARPA initiatives to bring exascale computing to market, and discussed the formidable challenges hardware engineers must overcome to make such efforts a reality.
The software issues are every bit as problematic. The project’s director, Ron Brightwell, notes that the operating systems and message-passing programs currently used on modern supercomputers are 15-20 years old and were written in an era when individual nodes with hundreds of processors weren’t even on the drawing board. XPRESS, he states, “aims to provide a system software foundation designed to maximize the performance and scalability of future large-scale parallel computers.”
This is the sort of “back to the drawing board” project that individual companies rarely engage in. Intel has sunk a great deal of time and effort into researching many-core architectures and driving low-power processors, as has Microsoft, but both companies develop products with an eye towards short-to-mid-term commercialization. One of the hard realities of hardware design is that evolution tends to pay considerably better dividends than revolution does.
What Sandia is trying to build is an operating system that can scale across thousands of nodes far more efficiently than current products.
This old-style power loom neatly illustrates the problem. The advent of industrial looms allowed cloth to be woven at a far greater speed than ever before, at higher thread densities and by a single operator, but thread densities can’t increase indefinitely. The tension on each thread has to be kept constant — but the amount of tension per bobbin will vary depending on its distance. Bobbins must spin smoothly and the associated mechanisms that keep the entire loom in operation must run with extreme precision.
Therein lies the problem with modern operating systems — they’re not actually all that modern. Simply stacking more bobbins in a larger loom eventually becomes impossible; the resulting machine is either too slow to be effective or too complex to run at full capacity.
Right now, the goal of the Sandia team is tackle specific problems rather than trying to scale an entire OS up to exascale levels. Specifically, the task force will focus on reducing overhead, instruction latency, and simultaneous memory accesses. This last can substantially slow a program if the same data area needs to be accessed by multiple processes simultaneously.
There are tie-ins with the work Intel is doing with Xeon Phi and its own ultra-low power Atom servers. Many of the challenges of scaling supercomputing up to exascale levels are related to the problem of scaling power consumption down below 1W. Solving them requires extremely high power efficiency, intra-core communication, and the ability to clock gate significant blocks of silicon to reduce overall power consumption.
Right now, the DoE hopes to begin exascale buildouts by 2020. That’s substantially longer than it took to make the jump to petascale, but it might be doable if initiatives like this pan out.
Now read: The history of supercomputers