Data Management at NERSC in the Era of Petascale Deep Learning

By Rob Farber

May 9, 2018

Now that computer scientists at Lawrence Berkeley National Laboratory’s National Energy Research Scientific Computing Center (NERSC) have demonstrated 15 petaflops deep-learning training performance on the Cray Cori supercomputer, the NERSC staff is working to address the data management issues that arise when running production deep-learning codes at such scale. The existing deep learning tools were not designed to efficiently ingest or manage the terabyte- to petabyte-sized deep-learning training sets that scientists can now use on this leadership class supercomputer. “Enabling the NERSC user community to perform deep learning at scale on Cori,” Quincey Koziol (Staff, Berkeley Lab) observes, “means scientists can use deep learning as part of their leading-edge scientific efforts.”

Thus NERSC staff are working to break new ground in adapting existing deep-learning frameworks to run efficiently at scale on thousands of nodes while giving researchers the ability to create and manage training sets containing tens to hundreds of terabytes of data in a portable fashion. For these datasets, it is imperative that they are formatted so Cori can ingest them efficiently at runtime.

Appreciating the magnitude of the petascale data management problem

To appreciate the magnitude of the petascale data management problem, consider that the 9,600 Intel Xeon Phi nodes used in the 15 petaflops deep learning training performance contained over a petabyte of main memory. (Specifically, 921.6 terabytes of DDR4 RAM and 153.6 terabytes of high-bandwidth 3D stacked memory.)

The first petascale training runs on the Cray XC40 Cori supercomputer focused on scalability, which left lots of room for groundbreaking research in training on really big datasets. Kurth, et.al. noted in their paper “Deep Learning at 15PF: Supervised and Semi-Supervised Classification for Scientific Data” that the climate dataset contained 15 TB of data and the HEP (High Energy Physics) data contained 10 million images. With more than a petabyte of RAM contained in 9,600 nodes, Cori can obviously utilize much larger data sets.

Not so obvious are the asynchronous data management issues that crop up after the data has been ingested and the training run has started. These asynchronous methods use prefetching and lots of communications, so per-node memory usage and network performance are critical to running at the petascale.

Without getting too technical, the 15 petaflops deep learning performance was achieved using a hybrid, asynchronous implementation of the SGD (stochastic gradient descent) numerical optimization method. SGD is a common numerical method used by popular packages such as Caffe (used in the 15 petaflops Cori runs) and TensorFlow.

Thorsten Kurth (Application Performance Specialist, NERSC) observes that, “Tensorflow is the most widely used framework and is therefore a primary optimization target at the moment, but the deep learning software world changes rapidly so that sustainable implementations are necessary. Thus it makes sense to create libraries of optimized kernels that can be used by many deep learning frameworks. This same idea can be used to create methods for the data feeding/IO operations.” These optimized libraries can then be rapidly adopted to new upcoming frameworks such as pytorch and mxnet, Kurth observes.

Addressing the challenges

Given the popularity of TensorFlow, the NERSC team is working to adapt TensorFlow to run at scale on Cori. The main challenges, Koziol observes, are threefold:

  • TensorFlow uses text or binary images for input rather than HDF5 or another data format typically used by HPC scientists. Koziol and NERSC are currently integrating HDF5 with TensorFlow.
  • TensorFlow uses a client-server model rather than MPI, which is the typical communications package for scientific applications that run on HPC systems. This means that there are no collective operations inside TensorFlow, which can cause performance issues.
  • TensorFlow uses an asynchronous training that is very loosely coupled, which means data prefetching is critical to prevent performance from suffering due to data starvation. Conversely, prefetching increases the per-node memory consumption, so an appropriate balance must be struck to prefetch “just enough and no more.” Finding that ideal balance without overburdening any node or set of nodes with data in a large (think hundred- or thousand-node) training run is a fertile research area as NERSC brings TensorFlow into a new scaling realm.

HDF5 integration

The data management aspects of deep learning are often overlooked as researchers work to speed training and find the right ANN (Artificial Neural Network) architecture(s) to solve complex problems.

In reality, much of a data scientist’s time is spent creating a clean, representative dataset for training. The data challenge becomes that much larger and unwieldly when creating data for a petascale, deep-learning-capable, leadership-class supercomputer like Cori. Data management is sometimes referred to as the Victorian Era Child of the 21st Century – to be seen and not heard. Unfortunately, the challenges associated with Cori-sized datasets simply cannot be ignored.

Prior to joining NERSC, Koziol was director of core software and high-performance computing at the HDF Group, where he spent 11 years developing the HDF5 I/O middleware package and overseeing the group’s HPC development efforts. This makes Koziol a natural to incorporate the versatile HDF5 data model into TensorFlow. HDF5 is a Hierarchical Data Format that can represent very large, complex numerical datasets along with their metadata in a portable format that can be moved between machines. HDF5 1.10.2 is the current, latest version. The specification is open, and the tools are open source. Development of HDF5 is done by the HDF Group, a nonprofit corporation.

The benefits of HDF5 integration into TensorFlow means that scientists can use tools and a data format that have been developed over decades to enable scientists to portably manage even the largest scientific datasets. Portability means the data preprocessing and data cleaning can happen on remote systems using familiar open-source tools and frameworks. Once ready, the data can be moved onto Cori and ingested into TensorFlow. According to Koziol, this helps address the challenge of “How do we get data into the system fast enough?”

Those who are interested can find the scripts and one example of HDF5 integration in the NERSC cori-tf-distributed-examples repository on github. Specifically, https://github.com/NERSC/cori-tf-distributed-examples.

Other work in progress

NERSC is also working to address TensorFlow’s memory consumption issue and speed the collective operations. However, these are non-trivial problems that will take time. As Koziol observes, “The MPI community has been thinking about collectives for about 20 years. TensorFlow is currently only about two years old.”

Along with the per-node memory consumption challenges that must be addressed when using asynchronous training methods, researchers are also rapidly increasing the complexity of the ANNs they use to solve complex problems. Deeper and more complex ANNs utilize more parameters, which further exacerbates the memory consumed per node problem. For example, calculating the gradient for SGD in TensorFlow is becoming an issue even when running on small systems.

The NERSC team has to contend with those issues as well as prefetching and buffering of data used to support the asynchronous operations during training, so the CPU is used as effectively as possible. The large memory of the Intel Xeon Phi nodes helps, as does the fact that the data extraction and training both occur on the CPU, but finding the right configuration can be challenging, Koziol notes. “Sometimes it helps to have a small number of fat nodes,” he observes.

Steps to the future

Koziol emphasizes that deep learning workloads stress the data ingest capabilities of current supercomputers. He hopes future supercomputer designs will incorporate more features to speed data ingest for data-intensive workloads like deep learning.

Current supercomputer designs have focused on burst buffers for checkpoint/restart, a common write-optimized I/O operation used in modeling and simulation software in which the state of the simulation is quickly saved (the checkpoint operation) so that thousands of hours of compute time won’t be lost in the event of a failure. In the unlikely event that something bad does happen, the supercomputer simply reloads the last checkpoint from storage (a restart operation) and continues with the calculation once the problem is fixed. The frequency of the checkpoint operation dictates how much supercomputer runtime will be lost in the event of a failure.

As deep learning becomes an ever more common workload on supercomputers, Koziol envisions a future where supercomputers are specifically designed to support faster data ingest for deep learning and other data-intensive workloads.

Summary

The NERSC Cori supercomputer has made the training of deep-learning ANNs a member of the petascale application club. Now the NERSC data management team is working to make this petascale capability available to its users to facilitate their ability to perform leading-edge science. Incorporating HDF5 into TensorFlow is an excellent beginning to making TensorFlow a petascale-capable platform for deep learning.

Rob Farber is a global technology consultant and author with an extensive background in HPC and advanced computational technology that he applies at national labs and commercial organizations. He can be reached at info@techenablement.com

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industy updates delivered to you every week!

InfiniBand Still Tops in Supercomputing

July 19, 2018

In the competitive global HPC landscape, system and processor vendors, nations and end user sites certainly get a lot of attention--deservedly so--but more than ever, the network plays a crucial role. While fast, perform Read more…

By Tiffany Trader

HPC for Life: Genomics, Brain Research, and Beyond

July 19, 2018

During the past few decades, the life sciences have witnessed one landmark discovery after another with the aid of HPC, paving the way toward a new era of personalized treatments based on an individual’s genetic makeup Read more…

By Warren Froelich

WCRP’s New Strategic Plan for Climate Research Highlights the Importance of HPC

July 19, 2018

As climate modeling increasingly leverages exascale computing and researchers warn of an impending computing gap in climate research, the World Climate Research Programme (WCRP) is developing its new Strategic Plan – and high-performance computing is slated to play a critical role. Read more…

By Oliver Peckham

HPE Extreme Performance Solutions

Introducing the First Integrated System Management Software for HPC Clusters from HPE

How do you manage your complex, growing cluster environments? Answer that big challenge with the new HPC cluster management solution: HPE Performance Cluster Manager. Read more…

IBM Accelerated Insights

Are Your Software Licenses Impeding Your Productivity?

In my previous article, Improving chip yield rates with cognitive manufacturing, I highlighted the costs associated with semiconductor manufacturing, and how cognitive methods can yield benefits in both design and manufacture.  Read more…

U.S. Exascale Computing Project Releases Software Technology Progress Report

July 19, 2018

As is often noted the race to exascale computing isn’t just about hardware. This week the U.S. Exascale Computing Project (ECP) released its latest Software Technology (ST) Capability Assessment Report detailing progress so far. Read more…

By John Russell

InfiniBand Still Tops in Supercomputing

July 19, 2018

In the competitive global HPC landscape, system and processor vendors, nations and end user sites certainly get a lot of attention--deservedly so--but more than Read more…

By Tiffany Trader

HPC for Life: Genomics, Brain Research, and Beyond

July 19, 2018

During the past few decades, the life sciences have witnessed one landmark discovery after another with the aid of HPC, paving the way toward a new era of perso Read more…

By Warren Froelich

D-Wave Breaks New Ground in Quantum Simulation

July 16, 2018

Last Friday D-Wave scientists and colleagues published work in Science which they say represents the first fulfillment of Richard Feynman’s 1982 notion that Read more…

By John Russell

AI Thought Leaders on Capitol Hill

July 14, 2018

On Thursday, July 12, the House Committee on Science, Space, and Technology heard from four academic and industry leaders – representatives from Berkeley Lab, Argonne Lab, GE Global Research and Carnegie Mellon University – on the opportunities springing from the intersection of machine learning and advanced-scale computing. Read more…

By Tiffany Trader

HPC Serves as a ‘Rosetta Stone’ for the Information Age

July 12, 2018

In an age defined and transformed by its data, several large-scale scientific instruments around the globe might be viewed as a ‘mother lode’ of precious data. With names seemingly created for a ‘techno-speak’ glossary, these interferometers, cyclotrons, sequencers, solenoids, satellite altimeters, and cryo-electron microscopes are churning out data in previously unthinkable and seemingly incomprehensible quantities -- billions, trillions and quadrillions of bits and bytes of electro-magnetic code. Read more…

By Warren Froelich

Tsinghua Powers Through ISC18 Field

July 10, 2018

Tsinghua University topped all other competitors at the ISC18 Student Cluster Competition with an overall score of 88.43 out of 100. This gives Tsinghua their s Read more…

By Dan Olds

HPE, EPFL Launch Blue Brain 5 Supercomputer

July 10, 2018

HPE and the Ecole Polytechnique Federale de Lausannne (EPFL) Blue Brain Project yesterday introduced Blue Brain 5, a new supercomputer built by HPE, which displ Read more…

By John Russell

Pumping New Life into HPC Clusters, the Case for Liquid Cooling

July 10, 2018

High Performance Computing (HPC) faces some daunting challenges in the coming years as traditional, industry-standard systems push the boundaries of data center Read more…

By Scott Tease

Leading Solution Providers

SC17 Booth Video Tours Playlist

Altair @ SC17

Altair

AMD @ SC17

AMD

ASRock Rack @ SC17

ASRock Rack

CEJN @ SC17

CEJN

DDN Storage @ SC17

DDN Storage

Huawei @ SC17

Huawei

IBM @ SC17

IBM

IBM Power Systems @ SC17

IBM Power Systems

Intel @ SC17

Intel

Lenovo @ SC17

Lenovo

Mellanox Technologies @ SC17

Mellanox Technologies

Microsoft @ SC17

Microsoft

Penguin Computing @ SC17

Penguin Computing

Pure Storage @ SC17

Pure Storage

Supericro @ SC17

Supericro

Tyan @ SC17

Tyan

Univa @ SC17

Univa

  • arrow
  • Click Here for More Headlines
  • arrow
Do NOT follow this link or you will be banned from the site!
Share This