Service restrictions from February 12-22, 2026—more information on the University Library website

Result: Nonblocking k-compare-single-swap

Title:
Nonblocking k-compare-single-swap
Contributors:
The Pennsylvania State University CiteSeerX Archives
Publication Year:
2003
Collection:
CiteSeerX
Document Type:
Academic journal text
File Description:
application/pdf
Language:
English
Rights:
Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number:
edsbas.EF76B1D5
Database:
BASE

Further Information

The current literature offers two extremes of nonblocking software synchronization support for concurrent data struc-ture design: intricate designs of specific structures based on single-location operations such as compare-and-swap (CAS), and general-purpose multilocation transactional memory im-plementations. While the former are sometimes efficient, they are invariably hard to extend and generalize. The lat-ter are flexible and general, but costly. This paper aims at a middle ground: reasonably efficient multilocation operations that are general enough to reduce the design difficulties of algorithms based on CAS alone. We present an obstruction-free implementation of an atomic k-location-compare single-swap (KCSS) operation. KCSS allows for simple nonblocking manipulation of linked data structures by overcoming the key algorithmic difficulty in their design: making sure that while a pointer is be-ing manipulated, neighboring parts of the data structure remain unchanged. Our algorithm is efficient in the com-mon uncontended case: A successful k-location KCSS oper-ation requires only two CAS operations, two stores, and 2k noncached loads when there is no contention. We therefore believe our results lend themselves to efficient and flexible nonblocking manipulation of list-based data structures in today’s architectures.