Research in Wait-Free Synchronization

Abstract

The goal of our research is to develop systematic understanding of the theory and practice of highly concurrent data objects. Despite impressive progress in hardware that has made multiprocessors readily available for parallel processing, there is little agreement on the relative merits of competing architectures, and it has often proved difficult to realize these machines' potential for parallelism. Our research exploits the theory of abstract data types to derive: (1) impossibility results, showing that certain kinds of concurrency simply cannot be achieved with certain primitives; (2) new techniques for specifying and reasoning about the behavior of concurrent objects; and (3) synchronization algorithms permitting new, higher degrees of concurrency. The resulting theory yields consequences for algorithm and programming language design. We view a concurrent system as a collection of sequential processes that communicate through shared objects. Each object has a type, which defines a set of possible values, and a set of primitive operations that provide the only means to create and manipulate that object. This model is general, encompassing both message passing architectures in which the shared objects are message queues and shared-memory architectures in which the shared objects are data structures in memory. Traditionally, interprocess synchronization theory has centered around the notion of mutual exclusion. We do not rely on mutual exclusion as the sole means to synchronize processes. Implementation of a concurrent object is WAIT-FREE if it guarantees that any process will complete any operation within a fixed number of steps, independent of the level of contention and execution speeds of other processes.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 11, 1991
Accession Number
ADA242675

Entities

People

  • Jeannette Wing

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Distributed Computing
  • Electronic Mail
  • Fault Tolerance
  • Language
  • Native Americans
  • Parallel Computing
  • Parallel Processing
  • Programming Languages
  • Simulations
  • Simulators
  • Software Development
  • Trees (Data Structures)

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.
  • Theoretical Analysis.