DOE Patents title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Fast concurrent array-based stacks, queues and deques using fetch-and-increment-bounded, fetch-and-decrement-bounded and store-on-twin synchronization primitives

Abstract

Implementation primitives for concurrent array-based stacks, queues, double-ended queues (deques) and wrapped deques are provided. In one aspect, each element of the stack, queue, deque or wrapped deque data structure has its own ticket lock, allowing multiple threads to concurrently use multiple elements of the data structure and thus achieving high performance. In another aspect, new synchronization primitives FetchAndIncrementBounded (Counter, Bound) and FetchAndDecrementBounded (Counter, Bound) are implemented. These primitives can be implemented in hardware and thus promise a very fast throughput for queues, stacks and double-ended queues.

Inventors:
; ; ; ; ; ;
Issue Date:
Research Org.:
International Business Machines Corp., Armonk, NY (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1158797
Patent Number(s):
8838944
Application Number:
12/564,535
Assignee:
International Business Machines Corporation (Armonk, NY)
Patent Classifications (CPCs):
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
DOE Contract Number:  
B554331
Resource Type:
Patent
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING

Citation Formats

Chen, Dong, Gara, Alana, Heidelberger, Philip, Kumar, Sameer, Ohmacht, Martin, Steinmacher-Burow, Burkhard, and Wisniewski, Robert. Fast concurrent array-based stacks, queues and deques using fetch-and-increment-bounded, fetch-and-decrement-bounded and store-on-twin synchronization primitives. United States: N. p., 2014. Web.
Chen, Dong, Gara, Alana, Heidelberger, Philip, Kumar, Sameer, Ohmacht, Martin, Steinmacher-Burow, Burkhard, & Wisniewski, Robert. Fast concurrent array-based stacks, queues and deques using fetch-and-increment-bounded, fetch-and-decrement-bounded and store-on-twin synchronization primitives. United States.
Chen, Dong, Gara, Alana, Heidelberger, Philip, Kumar, Sameer, Ohmacht, Martin, Steinmacher-Burow, Burkhard, and Wisniewski, Robert. Tue . "Fast concurrent array-based stacks, queues and deques using fetch-and-increment-bounded, fetch-and-decrement-bounded and store-on-twin synchronization primitives". United States. https://www.osti.gov/servlets/purl/1158797.
@article{osti_1158797,
title = {Fast concurrent array-based stacks, queues and deques using fetch-and-increment-bounded, fetch-and-decrement-bounded and store-on-twin synchronization primitives},
author = {Chen, Dong and Gara, Alana and Heidelberger, Philip and Kumar, Sameer and Ohmacht, Martin and Steinmacher-Burow, Burkhard and Wisniewski, Robert},
abstractNote = {Implementation primitives for concurrent array-based stacks, queues, double-ended queues (deques) and wrapped deques are provided. In one aspect, each element of the stack, queue, deque or wrapped deque data structure has its own ticket lock, allowing multiple threads to concurrently use multiple elements of the data structure and thus achieving high performance. In another aspect, new synchronization primitives FetchAndIncrementBounded (Counter, Bound) and FetchAndDecrementBounded (Counter, Bound) are implemented. These primitives can be implemented in hardware and thus promise a very fast throughput for queues, stacks and double-ended queues.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2014},
month = {9}
}

Works referenced in this record:

System for communicating among processors having different speeds
patent, April 1993


Dynamic circular work-stealing deque
patent, March 2008


Configurable memory system and method for providing atomic counting operations in a memory device
patent, September 2010


A fetch-and-op implementation for parallel computers
journal, May 1988


Nonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors
journal, May 1998


Fast synchronization on shared-memory multiprocessors: An architectural approach
journal, October 2005


Algorithms for scalable synchronization on shared-memory multiprocessors
journal, February 1991


A simple, fast and scalable non-blocking concurrent FIFO queue for shared memory multiprocessor systems
conference, January 2001


Thread scheduling for multiprogrammed multiprocessors
conference, January 1998

  • Arora, Nimar S.; Blumofe, Robert D.; Plaxton, C. Greg
  • Proceedings of the tenth annual ACM symposium on Parallel algorithms and architectures - SPAA '98
  • https://doi.org/10.1145/277651.277678

Wait-free synchronization
journal, January 1991


Axioms for concurrent objects
conference, January 1987


Active memory operations
conference, January 2007


Dynamic circular work-stealing deque
conference, January 2005


An efficient algorithm for concurrent priority queue heaps
journal, November 1996