DCAS-based concurrent deques

  • Authors:
  • Ole Agesen;David L. Detlefs;Christine H. Flood;Alexander T. Garthwaite;Paul A. Martin;Nir N. Shavit;Guy L. Steele, Jr.

  • Affiliations:
  • VMware and Sun Microsystems Laboratories;Sun Microsystems Laboratories;Sun Microsystems Laboratories;Sun Microsystems Laboratories;Sun Microsystems Laboratories;Sun Microsystems Laboratories;Sun Microsystems Laboratories

  • Venue:
  • Proceedings of the twelfth annual ACM symposium on Parallel algorithms and architectures
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

The computer industry is currently examining the use of strong synchronization operations such as double compare-and-swap (DCAS) as a means of supporting non-blocking synchronization on tomorrow's multiprocessor machines. However, before such a strong primitive will be incorporated into hardware design, its utility needs to be proven by developing a body of effective non-blocking data structures using DCAS.As part of this effort, we present two new linearizable non-blocking implementations of concurrent deques using the DCAS operation. The first uses an array representation, and improves on former algorithms by allowing uninterrupted concurrent access to both ends of the deque while correctly handling the difficult boundary cases when the deque is empty or full. The second uses a linked-list representation, and is the first non-blocking unbounded-memory deque implementation. It too allows uninterrupted concurrent access to both ends of the deque.