Global to push GA events into
skip to main content

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

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:
OSTI Identifier:
1158797
Assignee:
International Business Machines Corporation (Armonk, NY) OSTI
Patent Number(s):
8,838,944
Application Number:
12/564,535
Contract Number:
B554331
Research Org:
International Business Machines Corporation, Armonk, NY (United States)
Sponsoring Org:
USDOE
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING

Works referenced in this record:

Fast synchronization on shared-memory multiprocessors: An architectural approach
journal, October 2005
  • Fang, Zhen; Zhang, Lixin; Carter, John B.
  • Journal of Parallel and Distributed Computing, Vol. 65, Issue 10, p. 1158-1170
  • DOI: 10.1016/j.jpdc.2005.04.013

An efficient algorithm for concurrent priority queue heaps
journal, November 1996
  • Hunt, Galen C.; Michael, Maged M.; Parthasarathy, Srinivasan
  • Information Processing Letters, Vol. 60, Issue 3, p. 151-157
  • DOI: 10.1016/S0020-0190(96)00148-2