Designing Checkers for Programs that Run in Parallel

Research output: Contribution to journalArticlepeer-review

Abstract

Program correctness for parallel programs is an even more problematic issue than for serial programs. We extend the theory of program result checking to parallel programs, and find general techniques for designing such result checkers that work for many basic problems in parallel computation. These result checkers are simple to program and are more efficient than the actual computation of the result. For example, sorting, multiplication, parity, the all-pairs shortest-path problem and majority all have constant depth result checkers, and the result checkers for all but the last problem use a linear number of processors. We show that there are P-complete problems (evaluating straight-line programs, linear programming) that have very fast, even constant depth, result checkers.

Original languageEnglish
Pages (from-to)287-301
Number of pages15
JournalAlgorithmica
Volume15
Issue number4
DOIs
StatePublished - Apr 1996
Externally publishedYes

Keywords

  • Parallel algorithms
  • Program result checking

Fingerprint

Dive into the research topics of 'Designing Checkers for Programs that Run in Parallel'. Together they form a unique fingerprint.

Cite this