Debugging Parallel Programs with Instant Replay.

Abstract

The debugging cycle is the most common methodology for finding and correcting errors in sequential programs. Cyclic debugging is effective because sequential programs are usually deterministic. Debugging parallel programs is considerably more difficult because successive executions of the same program often do not produce the same results. In this paper we present a general solution for reproducing the execution behavior of parallel programs, termed Instant Replay. During program execution we save the relative order of significant events as they occur, not the data associated with such events. As a result, our approach requires less time and space to save the information needed for program replay than other methods. Our technique is not dependent on any particular form of interprocess communication. It provides for replay of an entire program, rather than individual processes in isolation. No centralized bottlenecks are introduced and there is no need for synchronized clocks or a globally-consistent logical time. The authors describe a prototype implementation of Instant Replay on the BBN Butterfly Parallel Processor, and discuss how it can be incorporated into the debugging cycle for parallel programs. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 1986
Accession Number
ADA179902

Entities

People

  • John M. Mellor-crummey
  • Thomas J. Leblanc

Organizations

  • University of Rochester

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Case Studies
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Language
  • Lepidoptera
  • Models
  • Operating Systems
  • Parallel Processors
  • Programming Languages
  • Prototypes
  • Software Development
  • Virtual Machines

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computer Science/Computer Engineering/Data Science/Digital Signal Processing.
  • Database Systems and Applications
  • Operations Research

Technology Areas

  • Space