In this special feature from The Exascale Report, industry thought leaders share their views on Graph computing.
In this reader opinion article, we solicit commentary in response to the question, “Why is the Graph 500 so important to HPC, and eventually, to the development of exascale applications?”
To better prepare for unprecedented sizes of data sets, many in the community believe we need to change our views on performance measurement from FLOPS to TEPS (Traversed Edges per Second.)
The Graph 500 has an impressive steering committee of more than 50 international HPC experts from academia, industry and many of the national laboratories. According to the Graph 500 website, they are in the process of developing comprehensive benchmarks to address three application kernels: concurrent search, optimization (single source shortest path), and edge-oriented (maximal independent set), while attempting to focus on five graph-related business areas: Cybersecurity, Medical Informatics, Data Enrichment, Social Networks, and Symbolic Networks.
As it picks up more momentum, the Graph 500 brings a nice balance to HPC benchmarks and complements the Top 500 with a tool for better measuring performance on data intensive applications.
Trying to help our readers better understand the relevance of the Graph 500, we asked the following question:
According to Richard Murphy, a Principal Member of the Technical Staff at Sandia, “The Graph500’s goal is to promote awareness of complex data problems.” He goes on to explain, “Traditional HPC benchmarks – HPL being the preeminent – focus more on compute performance. Current technology trends have led to tremendous imbalance between the computer’s ability to calculate and to move data around, and in some sense produced a less powerful system as a result. Because “big data” problems tend to be more data movement and less computation oriented, the benchmark was created to draw awareness to the problem.”
Why is the Graph 500 so important to HPC, and eventually, to the development of exascale applications?
Steve Scott, CTO of NVIDIA’s Tesla business offers the following perspective: “The Graph 500 is important, as it stands as a proxy (albeit, an overly simple one) for an emerging class of graph analytics and Big Data problems. Graph analytic techniques hold tremendous promise for performing complex analysis of large, unstructured, datasets. They are of increasing interest in several markets, including defense and intelligence, business intelligence, and optimization of processes in complex networks such as transportation, electrical grid, etc. GPUs achieve excellent performance on graph problems due to their high memory bandwidth and many threads for latency tolerance (these problems typically have very poor locality).”
And yet another perspective comes from Intel’s John Gustafson, a Director at Intel Labs in Santa Clara, CA, “The answer is simple: Graph 500 stresses the performance bottleneck for modern supercomputers. The Top 500 stresses double precision floating-point, which vendors have made so fast that it has become almost completely irrelevant at predicting performance for the full range of applications. Graph 500 is communication-intensive, which is exactly what we need to improve the most. Make it a benchmark to win, and vendors will work harder at relieving the bottleneck of communication.”
And we wrap up our reader commentary section with Bill Gropp, Director of the Parallel Computing Institute at the University of Illinois Urbana-Champaign. Gropp sums up our question, “Why is the Graph 500 so important to HPC, and eventually, to the development of exascale applications” with this very simple and to the point perspective, “To start the process of bringing new application areas into HPC.”
For an in-depth discussion of the Graph 500, listen to this audio interview with Pradeep Dubey, a senior principal engineer and Director of the Parallel Computing Lab (PCL) at Intel Labs.
This article appears courtesy of The Exascale Report. Subscribe today.