Dealing with HPC Correctness: Challenges and Opportunities

By Ignacio Laguna, Lawrence Livermore National Laboratory and Ganesh Gopalakrishnan, University of Utah

January 25, 2018

Editor’s Note: HPC Correctness – producing reliable HPC code – is a long-term challenge that’s grown only more difficult with the proliferation of heterogeneous computing and the drive towards exascale. This article by Ignacio Laguna (Lawrence Livermore National Laboratory) and Ganesh Gopalakrishnan (University of Utah) describes the problem and reviews recent efforts to develop solutions. As noted in the article, the report from the DOE HPC Correctness Summit has many valuables insights. Thanks also to Sonia Sachs, ALCF Program Manager, Advanced Scientific Computing Research, DOE, who coordinated preparation of the article.

Developing correct and reliable HPC software is notoriously difficult. While effective correctness techniques for serial codes (e.g., verification, debugging and systematic testing) have been in vogue for decades, such techniques are in their infancy for HPC codes. Why is that?

HPC correctness techniques are burdened with all the well-known problems associated with serial software plus special challenges:

  • growing heterogeneity (e.g., architectures with CPUs, special purpose accelerators)
  • massive scales of computation (i.e., some bugs only manifest under very high degrees of concurrency)
  • use of combined parallel programming models (e.g., MPI+X) that often lead to non-intuitive behaviors
  • new scalable numerical algorithms (e.g., to leverage reduced precision in floating-point arithmetic)
  • use of different compilers and optimizations

 

HPC practitioners see additional demands on their time as they learn how to effectively utilize newer machine types that can support much larger problem scales. Developing new and scalable algorithms that work well on next-generation machines while also supporting new science imposes additional—and non-trivial—demands. Developers often don’t have time left to graduate beyond the use of printf debugging or traditional debuggers. Unfortunately, mounting evidence suggests that significant productivity losses due to show-stopper bugs do periodically occur, making the development of better debugging methods inevitable.

Two recent efforts took aim at these challenges. First, an HPC correctness summit sponsored by the U.S. Department of Energy (DOE) resulted in a report (50+ pages) covering a spectrum of issues that can help lay this missing foundation in HPC debugging and correctness.

Second, a well-attended workshop entitled Correctness 2017: First International Workshop on Software Correctness for HPC Applications took place at SC17. This article summarizes these two efforts and concludes with avenues for furthering HPC correctness research. We also invite reader comments on ideas and opportunities to advance this cause.

1. HPC Correctness Summit

Held on January 25–26, 2017, at the DOE headquarters (Washington, D.C.), the HPC Correctness Summit included discussions of several show-stopper bugs that have occurred during large-scale, high-stakes HPC projects. Each bug took several painstaking months of debugging to rectify, revealing the potential for productivity losses and uncertainties of much more severe proportions awaiting the exascale era.

The DOE report distills many valuable nuggets of information not easily found elsewhere. For instance, it compiles one of the most comprehensive tables capturing existing debugging and testing solutions, the family of techniques they fall under, and further details of the state of development of these tools.

The report concludes that we must aim for rigorous specifications, go after debugging automation by emphasizing bug-hunting over formal proofs, and launch a variety of activities that address the many facets of correctness.

These facets include reliable compilation; detecting data races; root-causing the sources of floating-point result variability brought in by different algorithms, compilers, and platforms; combined uses of static and dynamic analysis; focus on libraries; and smart IDEs.

Last but not least, the DOE report laments a near-total absence of a community culture of sharing bug repositories, developing common debugging solutions, and even talking openly about bugs (and not merely about performance and scalability successes). Dr. Leslie Lamport, the 2014 ACM Turing Award Winner, observes that the difficulty of verification can be an indirect measure of how ill-structured the software design is. A famous verification researcher, Dr. Ken McMillan, states it even more directly: We design through debugging. Promoting this culture of openness calls for incentives through well-targeted research grants, as it takes real work to reach a higher plane of rigor. While some of the best creations in the HPC-land were acts of altruism, experience suggests that more than altruism is often inevitable.

Recommendation for sponsoring the Summit was made by the DOE ASCR program manager Dr. Sonia R. Sachs, under the leadership of research director Dr. William Harrod. In addition to the authors of this article, participating researchers were Paul Hovland (Argonne National Lab), Costin Iancu (Lawrence Berkeley National Lab), Sriram Krishnamoorthy (Pacific Northwest National Lab), Richard Lethin (Reservoir Labs), Koushik Sen (UC Berkeley), Stephen Siegel (University of Delaware), and Armando SolarLezama (MIT).

2. HPC Correctness Workshop

As correctness becomes an increasingly important aspect of HPC applications, the research and practitioner community begins to discuss ways to address the problem. Correctness 2017: The First International Workshop on Software Correctness for HPC Applications debuted at the SC conference series on November 12, 2017, demonstrating growing interest on this topic. The goal was to discuss ideas for HPC correctness, including novel research methods to solve challenging problems as well as tools and techniques that can be used in practice today.

A keynote address by Stephen Siegel (Associate Professor, University of Delaware) on the CIVL verification language opened the workshop, followed by seven paper presentations grouped into three categories: applications and algorithms correctness; runtime systems correctness; and code generation and code equivalence correctness.

Topics of discussion included static analysis for finding the root-cause of floating-point variability, how HPC communities like climate modeling deal with platform-dependent result variability, and ambitious proposals aimed at in situ model checking of MPI applications. Participants also examined automated synthesis of HPC algorithms and successes in detecting extremely tricky cases of OpenMP errors by applying rigorous model-level analysis.

While using formal methods to verify large HPC applications is perhaps too ambitious today, a question arose: Can formal methods be applied to verify properties of small HPC programs? (For example, small programs like DOE proxy applications extracted from large production applications could be used to mimic some features of large-scale applications.) Workshop participants agreed that this may be a possibility—at least for some small proxy applications or for some of their key components.

The audience voiced enthusiastic support for continuing correctness workshops at SC. This inaugural workshop was organized by Ignacio Laguna (Lawrence Livermore National Laboratory) and Cindy Rubio-González (University of California at Davis).

3. What’s Next?

As the community depends on in silico experiments for large-scale science and engineering projects, trustworthy platforms and tools will ensure that investments in HPC infrastructures and trained personnel are effective and efficient. While further experience is yet to be gained on cutting-edge exascale machines and their productive use, waiting for the machines to be fully operational before developing effective debugging solutions is extremely short-sighted. Today’s petaflop machines can—and should—be harnessed for testing and calibrating debugging solutions for the exascale era.

Initiatives to address the correctness problem in HPC, such as the DOE summit and the SC17 workshop, are only the beginning of many more such studies and events to follow. In addition to the DOE, the authors thank their own organizations for their support and for facilitating these discussions.

Overall, we encourage the HPC community to acknowledge that debugging is fundamentally an enabler of performance optimizations. While this question was not settled in any formal way at the Correctness workshop, the level of interest exhibited by the attendees coupled with their keen participation suggested that research on rigorous methods at all levels must be encouraged and funded. There was however widespread agreement that conventional methods aren’t bringing in the requisite levels of incisiveness with respect to defect elimination in HPC.

Ganesh Gopalakrishnan’s work is supported by research grants from divisions under the NSF directorate for Computer and Information Science and Engineering. Ignacio Laguna’s work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under contract DEAC52-07NA27344 (LLNL-MI-744729).

Subscribe to HPCwire's Weekly Update!

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

The IBM-Meta AI Alliance Promotes Safe and Open AI Progress

December 5, 2023

IBM and Meta have co-launched a massive industry-academic-government alliance to shepherd AI development. The new group has united under the AI Alliance banner to promote responsible innovation in AI. Historically, techn Read more…

ChatGPT Friendly Programming Languages
(hello-world.llm)

December 4, 2023

 Using OpenAI's ChatGPT to write code is an alluring goal. Describing "what to" solve, but not "how to solve" would be a huge breakthrough in computer programming. Alas, we are nowhere near this capability. In particula Read more…

IBM Quantum Summit: Two New QPUs, Upgraded Qiskit, 10-year Roadmap and More

December 4, 2023

IBM kicks off its annual Quantum Summit today and will announce a broad range of advances including its much-anticipated 1121-qubit Condor QPU, a smaller 133-qubit Heron QPU, that’s optimized for combining with multipl Read more…

The Annual SCinet Mandala

November 30, 2023

Perhaps you have seen images of Tibetan Buddhists creating beautiful and intricate images with colored sand. These sand mandalas can take weeks to create, only to be ritualistically dismantled when the image is finished. Read more…

Alibaba Shuts Down its Quantum Computing Effort

November 30, 2023

In case you missed it, China’s e-commerce giant Alibaba has shut down its quantum computing research effort. It’s not entirely clear what drove the change. Reuters’ reported earlier this week that Alibaba “cut a Read more…

AWS Solution Channel

Shutterstock 2030529413

Reezocar Rethinks Car Buying Using Computer Vision and ML on AWS

Overview

Every car that finds its way to a landfill marks another dent in the fight for a sustainable future. Reezocar, an online hub for buying and selling used cars, has a mission to change this. Read more…

QCT Solution Channel

QCT and Intel Codeveloped QCT DevCloud Program to Jumpstart HPC and AI Development

Organizations and developers face a variety of issues in developing and testing HPC and AI applications. Challenges they face can range from simply having access to a wide variety of hardware, frameworks, and toolkits to time spent on installation, development, testing, and troubleshooting which can lead to increases in cost. Read more…

SC23: The Ethics of Supercomputing

November 29, 2023

Why should HPC practitioners care about ethics? And, what are our ethics in HPC? These questions were central to a lively discussion at the SC23 Birds-of-a-Feather (BoF) session: With Great Power Comes Great Responsib Read more…

The IBM-Meta AI Alliance Promotes Safe and Open AI Progress

December 5, 2023

IBM and Meta have co-launched a massive industry-academic-government alliance to shepherd AI development. The new group has united under the AI Alliance banner Read more…

Shutterstock 1336284338

ChatGPT Friendly Programming Languages
(hello-world.llm)

December 4, 2023

 Using OpenAI's ChatGPT to write code is an alluring goal. Describing "what to" solve, but not "how to solve" would be a huge breakthrough in computer programm Read more…

IBM Quantum Summit: Two New QPUs, Upgraded Qiskit, 10-year Roadmap and More

December 4, 2023

IBM kicks off its annual Quantum Summit today and will announce a broad range of advances including its much-anticipated 1121-qubit Condor QPU, a smaller 133-qu Read more…

The Annual SCinet Mandala

November 30, 2023

Perhaps you have seen images of Tibetan Buddhists creating beautiful and intricate images with colored sand. These sand mandalas can take weeks to create, only Read more…

SC23: The Ethics of Supercomputing

November 29, 2023

Why should HPC practitioners care about ethics? And, what are our ethics in HPC? These questions were central to a lively discussion at the SC23 Birds-of-a-Fe Read more…

Grace Hopper’s Big Debut in AWS Cloud While Graviton4 Launches

November 29, 2023

Editors Note: Additional Coverage of the AWS-Nvidia 65 Exaflop ‘Ultra-Cluster’ and Graviton4 can be found on our sister site Datanami. Amazon Web Service Read more…

Analyst Panel Says Take the Quantum Computing Plunge Now…

November 27, 2023

Should you start exploring quantum computing? Yes, said a panel of analysts convened at Tabor Communications HPC and AI on Wall Street conference earlier this y Read more…

SCREAM wins Gordon Bell Climate Prize at SC23

November 21, 2023

The first Gordon Bell Prize for Climate Modeling was presented at SC23 in Denver. The award went to a team led by Sandia National Laboratories that had develope Read more…

CORNELL I-WAY DEMONSTRATION PITS PARASITE AGAINST VICTIM

October 6, 1995

Ithaca, NY --Visitors to this year's Supercomputing '95 (SC'95) conference will witness a life-and-death struggle between parasite and victim, using virtual Read more…

SGI POWERS VIRTUAL OPERATING ROOM USED IN SURGEON TRAINING

October 6, 1995

Surgery simulations to date have largely been created through the development of dedicated applications requiring considerable programming and computer graphi Read more…

U.S. Will Relax Export Restrictions on Supercomputers

October 6, 1995

New York, NY -- U.S. President Bill Clinton has announced that he will definitely relax restrictions on exports of high-performance computers, giving a boost Read more…

Dutch HPC Center Will Have 20 GFlop, 76-Node SP2 Online by 1996

October 6, 1995

Amsterdam, the Netherlands -- SARA, (Stichting Academisch Rekencentrum Amsterdam), Academic Computing Services of Amsterdam recently announced that it has pur Read more…

Cray Delivers J916 Compact Supercomputer to Solvay Chemical

October 6, 1995

Eagan, Minn. -- Cray Research Inc. has delivered a Cray J916 low-cost compact supercomputer and Cray's UniChem client/server computational chemistry software Read more…

NEC Laboratory Reviews First Year of Cooperative Projects

October 6, 1995

Sankt Augustin, Germany -- NEC C&C (Computers and Communication) Research Laboratory at the GMD Technopark has wrapped up its first year of operation. Read more…

Sun and Sybase Say SQL Server 11 Benchmarks at 4544.60 tpmC

October 6, 1995

Mountain View, Calif. -- Sun Microsystems, Inc. and Sybase, Inc. recently announced the first benchmark results for SQL Server 11. The result represents a n Read more…

New Study Says Parallel Processing Market Will Reach $14B in 1999

October 6, 1995

Mountain View, Calif. -- A study by the Palo Alto Management Group (PAMG) indicates the market for parallel processing systems will increase at more than 4 Read more…

Leading Solution Providers

Contributors

SC23 Booth Videos

Achronix @ SC23
AMD @ SC23
AWS @ SC23
Altair @ SC23
CoolIT @ SC23
Cornelis Networks @ SC23
CoreHive @ SC23
DDC @ SC23
HPE @ SC23 with Justin Hotard
HPE @ SC23 with Trish Damkroger
Intel @ SC23
Intelligent Light @ SC23
Lenovo @ SC23
Penguin Solutions @ SC23
QCT Intel @ SC23
Tyan AMD @ SC23
Tyan Intel @ SC23
HPCwire LIVE from SC23 Playlist

CORNELL I-WAY DEMONSTRATION PITS PARASITE AGAINST VICTIM

October 6, 1995

Ithaca, NY --Visitors to this year's Supercomputing '95 (SC'95) conference will witness a life-and-death struggle between parasite and victim, using virtual Read more…

SGI POWERS VIRTUAL OPERATING ROOM USED IN SURGEON TRAINING

October 6, 1995

Surgery simulations to date have largely been created through the development of dedicated applications requiring considerable programming and computer graphi Read more…

U.S. Will Relax Export Restrictions on Supercomputers

October 6, 1995

New York, NY -- U.S. President Bill Clinton has announced that he will definitely relax restrictions on exports of high-performance computers, giving a boost Read more…

Dutch HPC Center Will Have 20 GFlop, 76-Node SP2 Online by 1996

October 6, 1995

Amsterdam, the Netherlands -- SARA, (Stichting Academisch Rekencentrum Amsterdam), Academic Computing Services of Amsterdam recently announced that it has pur Read more…

Cray Delivers J916 Compact Supercomputer to Solvay Chemical

October 6, 1995

Eagan, Minn. -- Cray Research Inc. has delivered a Cray J916 low-cost compact supercomputer and Cray's UniChem client/server computational chemistry software Read more…

NEC Laboratory Reviews First Year of Cooperative Projects

October 6, 1995

Sankt Augustin, Germany -- NEC C&C (Computers and Communication) Research Laboratory at the GMD Technopark has wrapped up its first year of operation. Read more…

Sun and Sybase Say SQL Server 11 Benchmarks at 4544.60 tpmC

October 6, 1995

Mountain View, Calif. -- Sun Microsystems, Inc. and Sybase, Inc. recently announced the first benchmark results for SQL Server 11. The result represents a n Read more…

New Study Says Parallel Processing Market Will Reach $14B in 1999

October 6, 1995

Mountain View, Calif. -- A study by the Palo Alto Management Group (PAMG) indicates the market for parallel processing systems will increase at more than 4 Read more…

  • arrow
  • Click Here for More Headlines
  • arrow
HPCwire