Since 1986 - Covering the Fastest Computers in the World and the People Who Run Them

Language Flags
April 29, 2014

Evolving Exascale Applications Via Graphs

Tiffany Trader

There is little point to building expensive exaflop-class computing machines if applications are not available to exploit the tremendous scale and parallelism. Consider that exaflop-class supercomputers will exhibit billion-way parallelism, and that calculations will be restricted by energy consumption, heat generation, and data movement. This level of complexity is sufficient to stymy application development, which is why simplifying the development process is a crucial part of a unified exascale strategy.

PNNL LULESH graph 600x

This formal CnC graph was developed from an initial sketch of LULESH mapped on a whiteboard and embodies good software design practice.

Evolving applications toward exascale is one of the main aims of the Data Intensive Scientific Computing group at Pacific Northwest National Laboratory. Scientists there are working to establish formal design processes based on Concurrent Collections (CnC), a graph programming model that combines task and data parallelism.

In a short writeup highlighting their work, the group notes that “hiding the complexities that underpin exascale system operations from application developers is a critical challenge facing teams designing next-generation supercomputers.” By combining task and data parallelism, the scientists are progressing toward this important goal.

The team used their technique to transform the Livermore Unstructured Lagrangian Explicit Shock Hydrodynamics (LULESH) proxy application code that models hydrodynamics (the motion of materials relative to each other when subjected to forces) into a complete CnC specification. The specification can be implemented and executed using a paradigm that takes advantage of the massive parallelism and power-conserving features of future exaflop-class systems.

“By developing formal processes that capture data and control dependencies and separate computations from implementation issues, the complexities of exascale systems can be hidden, dramatically decreasing development cost and increasing opportunities for automatic performance optimizations,” explains an article from PNNL highlighting the research.

Instead of the time-consuming method of generating code via trial and error, the CnC specification begins with an overview of the dataflow between software components. The next step is formalizing opportunities for analysis and optimization of parallelism, energy efficiency, data movement, and faults. In the case of the CnC model for LULESH, the team started with a whiteboard sketch that came out of an application workshop. Domain experts with functional knowledge provided the application logic for the original assessment. The sketch was transformed into a formal graph at which point the PNNL scientists performed static analysis, applied optimization techniques, and identified bugs. Thus some costs commonly associated with development and testing processes were reduced before any code was written.

“The formalization of scientific applications as graphs is extremely important and enlightening,” said Dr. John Feo, director of the Center for Adaptive Supercomputer Software and Data Intensive Scientific Computing group lead at PNNL. “In addition to providing a natural and obvious pathway for application development, we identified communications and optimization issues that could be addressed with added clarity before the computation steps were even implemented.”

LULESH code was segmented into smaller parts, each corresponding to the formal CnC procedures. Then, the LULESH code was wrapped in CnC steps before executing the application to assess its correctness.

The CnC application method now is being applied to a second software code, MiniGMG, another compact geometric multigrid benchmark for optimization, architecture, and algorithmic research. PNNL’s Data Intensive Scientific Computing group also is engaged in using LULESH to develop and evaluate other tuning models.

This research was carried out as part of the Traleika Glacier X-Stack program, which brings together industrial, academic, and DOE Co-Design centers to address exascale software stack applications. The Traleika Glacier team includes: Intel, the University of Delaware, ET International, Reservoir Labs, the University of Illinois at Urbana-Champaign, Rice University, the University of California, San Diego, and PNNL.

SC14 Virtual Booth Tours

AMD SC14 video AMD Virtual Booth Tour @ SC14
Click to Play Video
Cray SC14 video Cray Virtual Booth Tour @ SC14
Click to Play Video
Datasite SC14 video DataSite and RedLine @ SC14
Click to Play Video
HP SC14 video HP Virtual Booth Tour @ SC14
Click to Play Video
IBM DCS3860 and Elastic Storage @ SC14 video IBM DCS3860 and Elastic Storage @ SC14
Click to Play Video
IBM Flash Storage
@ SC14 video IBM Flash Storage @ SC14  
Click to Play Video
IBM Platform @ SC14 video IBM Platform @ SC14
Click to Play Video
IBM Power Big Data SC14 video IBM Power Big Data @ SC14
Click to Play Video
Intel SC14 video Intel Virtual Booth Tour @ SC14
Click to Play Video
Lenovo SC14 video Lenovo Virtual Booth Tour @ SC14
Click to Play Video
Mellanox SC14 video Mellanox Virtual Booth Tour @ SC14
Click to Play Video
Panasas SC14 video Panasas Virtual Booth Tour @ SC14
Click to Play Video
Quanta SC14 video Quanta Virtual Booth Tour @ SC14
Click to Play Video
Seagate SC14 video Seagate Virtual Booth Tour @ SC14
Click to Play Video
Supermicro SC14 video Supermicro Virtual Booth Tour @ SC14
Click to Play Video