Finite-state verification for high performance computing

  • Authors:
  • George S. Avrunin;Stephen F. Siegel;Andrew R. Siegel

  • Affiliations:
  • University of Massachusetts, Amherst, MA;University of Massachusetts, Amherst, MA;Argonne National Laboratory, Argonne, IL

  • Venue:
  • Proceedings of the second international workshop on Software engineering for high performance computing system applications
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

A glance at the list of the world's most powerful computing systems (top500.org) reveals that high performance computing has become practically synonymous with parallel computing. Yet parallel programs are notoriously difficult to get right. It is hard enough to verify that an ordinary sequential program computes what it is intended to compute, and parallelism introduces an entirely new layer of complexity. Moreover, parallel programs can behave non-deterministically, in the sense that they can produce different results when run with different numbers of processors, or when run on different platforms, and sometimes even when run twice on the same platform. Experience has shown that just to detect or reproduce these problems---let alone to pinpoint their causes and correct them---can be extremely time-consuming and labor-intensive.