Exponential growth in classical computing over the last two decades has produced hardware and software that support lightning-fast processing speeds, but advancements are topping out as computing architectures reach their power and performance limits. Over time, computer architectures have become much more complex.
A group of computer scientists from Department of Energy national laboratories, including Oak Ridge, Lawrence Berkeley, Sandia, Los Alamos, Argonne, and Brookhaven, convened in early 2018 to consider how the field can best meet the challenges posed by the phenomenon they label “extreme heterogeneity.” ORNL was represented by the Computing and Computational Sciences Directorate’s Jeffrey Vetter, Catherine Schuman, and Travis Humble.
The group’s report, compiled following the 2018 DOE Office of Advanced Scientific Computing Research Basic Research Needs Workshop on Extreme Heterogeneity, was recently published.
“For nearly two decades, scientists relied on relatively simple HPC architectures with one type of processor, one type of main memory, and one type of interconnect,” Vetter, who chaired the workshop, said.
“In 2010, we saw the emergence of HPC architectures with multiple types of processors and memory, and now we’re seeing architectures that combine CPUs, GPUs, accelerators, and perhaps even a reconfigurable core into one multichip package,” Vetter said. “This diversity of processors, memory systems, and interconnection networks leads to extreme heterogeneity.”
In short, all the developments that made ever-faster computations possible have upended the field after decades of relative stability. “Future programmers are faced with a computing melting pot,” Humble said. “The diversity of computing choices, many of them unprecedented and novel, yields exciting performance opportunities but also introduces new barriers to adoption.”
The workshop examined the consequences of current trends toward complexity—increasing numbers of parallel operations, highly differentiated hardware accelerators to speed up data processing, programming methods that do not accurately reflect operating costs, the need for intelligent runtime systems, and wide differences in performance and workflows—and recommended the best responses.
Vetter warned that if challenges posed by extreme heterogeneity go unanswered, computational science could come to a standstill while scientists grapple with architectural diversity and this new pace of change. “They won’t have time to add new features to their applications for more capable science,” he said.
Workshop attendees developed five priority research directions aimed at meeting the challenges of increasing complexity in computing architectures. First, programmer productivity will be improved when the field creates new flexible, expressive programming abstractions that allow for fluid migration across architectures and straightforward development of software through improved composability and construction.
Second, where there are heterogeneous resources in the same node, using automated methods for scheduling work on architectures to optimize performance, energy, and availability will be vital. “Most developers won’t have expertise in all available resources, so ‘smart’ compilers and software development tools will help,” Schuman said.
Incorporating machine learning or other predictive techniques, Vetter added, will relieve programmers from having to manually specify which resources to use for various tasks.
Third, modeling and predicting performance of systems will become more important as computer scientists evaluate a dizzying number of hardware and software options. “The ultimate goal is embedding performance data in an application so that it can make decisions about how best to execute and adapt dynamically,” Vetter said.
Today’s heterogeneous architectures pose challenges not only for computing processes but also for enabling reproducible science, the group’s fourth priority research direction. What might have been attributed to a difference in methods or a flaw in hypotheses before the advent of extreme heterogeneity could reflect subtle differences in system components and their nondeterministic interactions. Advances in reproducibility will allow scientists to quickly identify the root cause of errors and evaluate potential solutions.
The group’s fifth priority research direction addresses facilitating data management, analytics, and workflows across heterogeneous platforms. Collaborating across facilities often means, for example, that a computer scientist might run a workflow across DOE’s ESNet high performance network, a laptop, ORNL’s Spallation Neutron Source, and Cori at the National Energy Research Scientific Computing Center.
“In this scenario, instead of looking at a thousand nodes in a single architecture, you’re having to address extreme heterogeneity at the higher level of many networks, supercomputers, and storage systems, composed of many different types of technologies,” Vetter said.
Vetter stressed that computer science research must focus on ensuring application teams are productive by minimizing the amount of effort they spend porting and optimizing their software for extremely heterogeneous architectures, which are on the horizon.
“Ideally, teams would write their software once, and then run it anywhere with competitive performance,” Vetter said. “If we can develop solutions to our priority research directions, we can start to make progress toward this goal.”
The 2018 DOE ASCR Basic Research Needs Workshop on Extreme Heterogeneity and its final report were supported by DOE’s Office of Science. More workshop details are available at https://orau.gov/exheterogeneity2018, and the final report is available from OSTI (PDF).
ORNL is managed by UT–Battelle, LLC for DOE’s Office of Science, the single largest supporter of basic research in the physical sciences in the United States. DOE’s Office of Science is working to address some of the most pressing challenges of our time. For more information, please visit http://science.energy.gov/.