As the exascale era looms, a number of research groups are pinpointing the bevy of barriers that the next generation of elite systems will bring.
From his vantage point as Argonne National Lab’s Associate Director for Computing, Environmental, and Life Sciences, Rick Stevens has identified the key challenges of the leap to billion-core systems. In a recent Department of Energy report on the coming challenges and benefits of exascale computing, he said that while the magnitude of the programming challenges ahead is daunting, power is also a major concern.
According to Stevens, a billion-processor computer, if relying on efficient technologies we have now, will gobble over a gigawatt of electricity. To put that in context, even the top-performing utility power plants in the United States generate only a few gigawatts, with most producing less than four. While he contends that GPU computing is one way to curb this incredible hunger for energy, as it stands now, one single exascale machine could require its own dedicated power plant.
Outside of programming and energy consumption, the other barrier to exascale systems is general reliability. He says that with the vast increase in core count comes a vast possibility of failures, noting “If you just scale up from today’s technology, an exascale computer wouldn’t stay up for more than a few minutes at a time” which means that a machine’s failure rate would be once per week or more, at least if you consider that Lawrence Livermore National Lab’s IBM BlueGene/L drops off about once every two weeks.
With the massive boost in power requirements and reliability worries, the role of hyper-smart cluster management software will become more critical. This is a topic that Bill Nitzberg, the self-described “cynical engineer” who serves as CTO for Altair Engineering’s PBS Works division, is quite passionate about, even though he’s “heard it all before” in the pre-petascale days.
Even in high performance computing where every element is being pushed to the limit, it can be a little tough to get excited about the middleware piece of the HPC race. Of course, without the behind the scenes scheduling and workload management, all the raw clustered compute power in the world is essentially useless. And when it comes to this scale of computing where all the challenges that Rick Stevens alluded to can eventually be mitigated (at varying levels) via effective management, middleware might get more attention that it used to.
Nitzberg revealed how the next generation of supercomputers will need to be brainier, not brawnier. He might be biased, coming as he does from the cluster management perspective, so but the fact is—the two most problematic elements of exascale systems outside of programming (power and reliability) can have significant solutions at the management layer.
He says that instead of focusing our attention on making the next generation of supercomputers simply use less power, he claims there also needs to be a focus on making very wise use of what power is available.
As Nitzberg said, “When I think about the future of computing, whether it’s GPUs, clouds, whatever, I see a lot of trends—the issue of power is no trend, this is an ongoing problem we’ll need to face. When I think of making the future generation of computers smarter, the computer scientist in me thinks about optimization and the environmental side of me thinks about power.”
Nitzberg puts this idea of wise power management over mere reduction in context, noting that there needs to be a way for operators of ultra-scale machines to reconsider what workloads they choose to run and when they do so. This might sound, on the surface, very simple—this idea of picking jobs wisely to maximize power and cost efficiency—but he argues that many systems need to be proven for funders as running at peak capacity. He sees this as a concept that might suit the funding powers that be in the short term, but over the long term, the costs of operating such systems will spiral out of control. Running at 99 percent capacity isn’t always necessary and sure isn’t cheap.
Many HPC management software layers provide energy-aware features. For example, Nitzberg described the “Green Provisioning” feature in their PBS Professional product. This, like Platform Computing’s Dynamic Power Optimizer, uses sophisticated monitoring tools that shut down, restart, and reroute according to temperature and other factors in large data center enviornments. According to PBS Works, this solution was “validated by several large-scale customers and has lowered their energy use by up to 20 percent.”
Louis Westby from Platform Computing told us, “There is already a lot out there to help users power up an down, but there are innovations missing in a lot of those solutions. Temperature level monitoring across an entire data center at that scale to ensure there is a steady influx of power and management of heat are, of course, very important when it’s at [exascale].”
Platform Computing, Bright Computing and PBS Works already have power management solutions available that power down systems according to fault detection and they also manage data center temperatures to reroute workloads according to these readings. Open source solutions are also trying to keep pace but as Nitzberg told us, there is no way that the open source solutions available are able to keep pace with the many demands that will come at exascale.
Platform’s Westby said that their solutions on power management are very similar to that of PBS and indeed, as Nitzberg noted, there are still innovations to be made before any workload suite would be ready to tackle the challenges of exascale. Westby noted that they have an eye on the future in terms of smart energy management. She says that one area that affects energy consumption is making sure that the system is able to intelligently handle temperature fluctuations and focus on fail-proof failover mechanisms.