Making root cause analysis feasible for large code bases: A solution approach for a climate model

Daniel J. Milroy, Allison H. Baker, Dorit M. Hammerling, Youngsung Kim, Elizabeth R. Jessup, Thomas Hauser

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

10 Scopus citations

Abstract

Large-scale simulation codes that model complicated science and engineering applications typically have huge and complex code bases. For such simulation codes, where bit-for-bit comparisons are too restrictive, finding the source of statistically significant discrepancies (e.g., from a previous version, alternative hardware or supporting software stack) in output is non-trivial at best. Although there are many tools for program comprehension through debugging or slicing, few (if any) scale to a model as large as the Community Earth System Model (CESM), which consists of more than 1.5 million lines of Fortran code. Currently for the CESM, we can easily determine whether a discrepancy exists in the output using a by now well-established statistical consistency testing tool. However, this tool provides no information as to the possible cause of the detected discrepancy, leaving developers in a seemingly impossible (and frustrating) situation. Therefore, our aim in this work is to provide the tools to enable developers to trace a problem detected through the CESM output to its source. To this end, our strategy is to reduce the search space for the root cause(s) to a tractable size via a series of techniques that include creating a directed graph of internal CESM variables, extracting a subgraph (using a form of hybrid program slicing), partitioning into communities, and ranking nodes by centrality. Runtime variable sampling then becomes feasible in this reduced search space. We demonstrate the utility of this process on multiple examples of CESM simulation output by illustrating how sampling can be performed as part of an efficient parallel iterative refinement procedure to locate error sources, including sensitivity to CPU instructions. By providing CESM developers with tools to identify and understand the reason for statistically distinct output, we have positively impacted the CESM software development cycle and, in particular, its focus on quality assurance.

Original languageEnglish
Title of host publicationHPDC 2019- Proceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing
PublisherAssociation for Computing Machinery, Inc
Pages73-84
Number of pages12
ISBN (Electronic)9781450366700
DOIs
StatePublished - Jun 17 2019
Externally publishedYes
Event28th ACM International Symposium on High-Performance Parallel and Distributed Computing, HPDC 2019 - Phoenix, United States
Duration: Jun 22 2019Jun 29 2019

Publication series

NameHPDC 2019- Proceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing

Conference

Conference28th ACM International Symposium on High-Performance Parallel and Distributed Computing, HPDC 2019
Country/TerritoryUnited States
CityPhoenix
Period06/22/1906/29/19

Funding

We thank Dong Ahn, John Dennis, and Sriram Sankaranarayanan for their helpful advice.We are especially grateful to Ganesh Gopalakrishnan, Michael Bentley, and Ian Briggs for providing feedback on an initial draft. This research used computing resources provided by the NCAR Computational and Information Systems Laboratory, sponsored by the National Science Foundation and other agencies. This work was funded in part by the Intel Parallel Computing Center for Weather and Climate Simulation.

Keywords

  • Abstract syntax tree
  • Community detection
  • Eigenvector centrality
  • Graph analysis
  • Program slicing
  • Root cause analysis

Fingerprint

Dive into the research topics of 'Making root cause analysis feasible for large code bases: A solution approach for a climate model'. Together they form a unique fingerprint.

Cite this