On Friday, Sept. 8, Kathy Yelick of Lawrence Berkeley National Laboratory and the University of California, Berkeley, delivered the keynote address on “Breakthrough Science at the Exascale” at the ACM Europe Conference in Barcelona. In conjunction with her presentation, Yelick agreed to a short Q&A discussion with HPCwire.
The timing of Yelick’s talk is timely as one year ago, on Sept. 7, 2016, the U.S. Department of Energy made the first in a series of announcements about funding support for various components of the Exascale Computing Program, or ECP. The ECP was established to develop the exascale applications, system software, and hardware innovations necessary to enable the delivery of capable exascale systems.
Yelick is the Associate Laboratory Director for Computing Sciences, which includes the National Energy Research Scientific Computing Center (NERSC), the Energy Sciences Network (ESnet) and the Computational Research Division, which does research in applied mathematics, computer science, data science, and computational science. Yelick is also a professor of Electrical Engineering and Computer Sciences at the University of California at Berkeley. Her research is in parallel programming languages, compilers, algorithms and automatic performance tuning. Yelick was director of NERSC from 2008 to 2012. She was recently elected to the National Academy of Engineering (NAE) and the American Association of Arts and Sciences, and is an ACM Fellow and recipient of the ACM/IEEE Ken Kennedy and Athena awards.
HPCwire: What scientific applications necessitate the development of exascale?
Kathy Yelick: There are more than 20 ECP applications that, broadly speaking, fall into the areas of national security, energy, the environment, manufacturing, infrastructure, healthcare and scientific discovery. Associated with each is an exascale challenge problem—something that requires around 50 times the computational power of current systems. They include a diverse set of problems such as a 100-year simulation of the integrity of fields where petroleum is extracted or energy waste is stored; a predictive simulation of an urban area that includes buildings, water quality and electricity demands; and detailed simulations of the universe to better explain and interpret the latest observational data. There are also applications analyzing data at an unprecedented scale, from the newest light sources to complex environmental genomes, and cancer research data that includes patient genetics, tumor genomes, molecular simulations and clinical data.
These applications will help us develop cleaner energy, improve the resilience of our infrastructure, develop materials for extreme environments, adapt to changes in the water cycle, understand the origin of elements in the universe, and develop smaller, more powerful accelerators for use in medicine and industry. And as a California resident, I’m interested in the work to better assess the risks posed by earthquakes.
These projects are not simply scaling or porting old codes to new machines, but each of represents a new predictive or analytic capability. Several are completely new to high performance computing, and others add new capabilities to existing codes, integrating new physical models that are often at widely different space or time scales than the original code.
HPCwire: How do you respond to concerns that exascale programs are too focused on the hardware or will only benefit so-called hero codes?
Yelick: That’s an interesting statement in that ECP is currently committed to funding over $200 million this year to support applications development, software and hardware R&D in partnerships with vendors. There will be substantial machine acquisitions outside the project, but the project itself is directed at these other parts of the ecosystem. As I noted earlier, the application portfolio is not directed at a few hero codes, but represents a broad range of applications from both traditional and non-traditional HPC problem domains.
The NERSC facility is not slated to get one of the first exascale systems, but we expect to provide such a capability a few of years later with the NERSC-10 acquisition. Similarly, NSF is planning a leadership scale acquisition in roughly the same time frame, which should also benefit from the ECP investments. The investments made now in exascale R&D and software will benefit all exascale systems, and lessons learned on the initial applications will inform other teams. NERSC has experience going back to the introduction of massive parallelism in helping the community make such a transition and has already started preparing the user community through its NERSC Exascale Science Applications Program, NESAP. NESAP has 20 user code teams, some of which overlap with the ECP applications, partnered with NERSC and the vendors to prepare their codes for exascale.
HPCwire: What is your perspective on the progress that is being made toward exascale, given the challenges (power, concurrency, fault-tolerance, applications)?
Yelick: We are making great progress in our applications, which were the subject of a recent internal project review. Several of the application teams have found new levels of concurrency and memory optimizations to deal with the most recent DOE HPC system, the NERSC Cori machine with its 68-core nodes and high-bandwidth memory. Much of the ECP software and programming technology can be leveraged across multiple applications, both within ECP and beyond. For example, the Adaptive Mesh Refinement Co-Design Center (AMReX) which was launched last November is releasing its new framework to support the development of block-structured AMR algorithms at the end of September. At least five of the ECP application projects are using AMR, allowing them to efficiently simulate fine-resolution features.
Some of the R&D projects are also getting a better handle on the type of failures that will be important in practice. The hardware R&D on processor and memory designs have made great strides in reducing total system power, but it remains a challenge, and the resulting architecture innovations continue to raise software challenges for the rest of the team. Overall, we’re seeing the benefit of collaborations across the different parts of the project, incorporation of previous research results, and the need for even tighter integration across these parts.
HPCwire: There’s an expectation that exascale supercomputers will need to support simulation, big data and machine learning workloads, which currently have distinct software stacks. What are your thoughts on this challenge? Will container technology be helpful?
Yelick: Containers can certainly help support a variety of software stacks, including today’s analytics stack, and NERSC’s Shifter technology has helped bring this to its HPC systems. But I think we’ll also see new software developed for machine learning to achieve much higher performance levels and move them over to lighter-weight software. Porting Spark or TensorFlow to an exascale system will bring new user communities, but may not produce the most efficient use of these machines.
It’s somewhat ironic that training for deep learning probably has more similarity to the HPL benchmark than many of the simulations that are run today, although requirements for numerical precision are different and likely to lead to some architectural divergence. The algorithms in this space are evolving rapidly and projects like CAMERA (the Center for Advanced Mathematics for Energy Research Applications) are developing methods for analyzing data from some of the large DOE experimental facilities. Some of our policies around use of HPC need to change to better fit data workloads, both to handle on-demand computing for real-time data streams and to address the long-term needs for data provenance and sharing. The idea of receiving HPC allocations for a year at a time, and having jobs that sit in queues, will not work for these problems. NERSC is exploring all of these topics, such as with their recent 15-petaflop deep learning run described in a paper [and covered by HPCwire] by a team from NERSC, Intel and Stanford; a pilot for real-time job queues; automated metadata analysis through machine learning; and their NESAP for Data partnerships.
HPCwire: Speaking of machine learning and adapting codes to exascale, you’re the PI for the ECP applications project “Exascale Solutions for Microbiome Analysis,’ which also involves Los Alamos National Lab and DOE’s Joint Genome Institute. Can you tell us more about that project and how you’re tailoring Meraculous for exascale systems?
Yelick: The ExaBiome project is developing scalable methods for genome analysis, especially the analysis of microorganisms, which are central players in the environment, food production and human health. They occur naturally as “microbiomes,” cooperative communities of microbes, which means that sequencing an environmental sample produces a metagenome with thousands or even millions of individual species mixed together. Many of the species cannot be cultured in a lab and may never have been seen before—JGI researchers have even discovered new life forms from such analyses. To help understand the function of various genes, Aydin Buluc and Ariful Azad in the Computational Research Division have developed a new high performance clustering algorithm called HipMCL. Such bioinformatics analysis has often been viewed as requiring shared memory machines with large memory, but we have found that using clever parallel algorithms and HPC systems with low-latency interconnects and lightweight communication, we can scale these algorithms to run across petascale systems.
The algorithms are very different than most physical simulations because they involve graph walks, hash tables and highly unstructured sparse matrices. The de novo metagenome assembly challenge is to construct the individual genomes from the mixture of fragments produced by sequencers; it is based on an assembler called Meraculous, developed by Dan Rokhsar’s group at JGI and UC Berkeley. As part of the ExaBiome project we’ve built a scalable implementation extended to handle metagenomes called MetaHipMer (Metagenome High Performance Meraculous). These tools will enable the analysis of very complex environmental samples, and analysis over time, to understand how the microbial community changes with the rest of the environment and influences that environment.
The algorithms also reflect an important workload for future exascale machines. As described in our recent EuroPar 2017 paper, they require fine-grained communication and therefore can take advantage of high injection rates, low latency and remote atomic operations (e.g., remotely incrementing a counter) in the networks. The computation is entirely dominated by these operations and local string alignment algorithms, so there’s no floating point in the entire application. It’s important that we keep all of these workloads in mind as we push towards exasacle, to ensure the machines are capable of graph problems, bioinformatics and other highly irregular computational patterns that may be of interest outside of science and engineering communities.
HPCwire: What are some of the other key points from your talk that you’d like to share with our readers?
Yelick: First, the science breakthroughs from exascale programs will rely not just on faster machines, but also on the development of new application capabilities that build on prior research in mathematics, computer science and data science. We need to keep this research pipeline engaged over the next few years, so that we continue to have a vibrant research community to produce the critical methods and techniques that we will need to solve computational and data science challenges beyond exascale.
In that same vein, we shouldn’t think of exascale as an end goal, but rather as another point in the continuum of scientific computing. While much of DOE’s computing effort is currently devoted to exascale, we are already looking beyond to specialized digital architectures, quantum and neuromorphic computing, and new models of scientific investigation and collaboration for addressing future challenges.