Fast Mutual Exclusion for Uniprocessors

Abstract

In this paper we describe restartable atomic sequences, an optimistic mechanism for implementing simple atomic operations (such as Test-and-Set) on a uniprocessor. A thread that is suspended within a restartable atomic sequence is resumed by the operating system at the beginning of the sequence, rather than at the point of suspension. This guarantees that the thread eventually executes the sequence atomically. A restartable atomic sequence has significantly less overhead than other software-based synchronization mechanisms, such as kernel emulation or software, reservation. Consequently, it is an attractive alternative for use on uniprocessors that do not support atomic operations. Even on processors that do support atomic operations in hardware, restartable atomic sequences can have lower overhead. We describe different implementations of restartable atomic sequences for the Mach 3.0 and Taos operating systems. These systems' thread management packages rely on atomic operations to implement higher-level mutual exclusion facilities. We show that improving the performance of low-level atomic operations, and therefore mutual exclusion mechanisms, improves application performance.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 01, 1992
Accession Number
ADA261663

Entities

People

  • Brian N. Bershad
  • David D. Redell
  • John R. Ellis

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Application Software
  • Collisions
  • Compilers
  • Computer Programming
  • Computer Science
  • Computers
  • Detection
  • Information Processing
  • Information Science
  • Instructions
  • Language
  • Multiprocessors
  • Multithreading
  • Operating Systems
  • Parallel Computing
  • Programming Languages

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.