Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

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

Patent ·
OSTI ID:1158797
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.
Research Organization:
International Business Machines Corporation, Armonk, NY (United States)
Sponsoring Organization:
USDOE
Assignee:
International Business Machines Corporation (Armonk, NY)
Patent Number(s):
8,838,944
Application Number:
12/564,535
OSTI ID:
1158797
Country of Publication:
United States
Language:
English

References (11)

A fetch-and-op implementation for parallel computers journal May 1988
Thread scheduling for multiprogrammed multiprocessors
  • 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
conference January 1998
Axioms for concurrent objects conference January 1987
Dynamic circular work-stealing deque conference January 2005
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
Wait-free synchronization journal January 1991
Algorithms for scalable synchronization on shared-memory multiprocessors journal February 1991
An efficient algorithm for concurrent priority queue heaps journal November 1996
Active memory operations conference January 2007
A simple, fast and scalable non-blocking concurrent FIFO queue for shared memory multiprocessor systems conference January 2001

Similar Records

Concurrent operations on priority queues
Journal Article · Sat Dec 31 23:00:00 EST 1988 · Commun. ACM; (United States) · OSTI ID:5871864

Evaluation of concurrent priority queue algorithms. Technical report
Technical Report · Thu Jan 31 23:00:00 EST 1991 · OSTI ID:5603266

Performance analysis of a scheme for concurrency/synchronization using queueing network models
Journal Article · Sun Nov 30 23:00:00 EST 1986 · Int. J. Parallel Program.; (United States) · OSTI ID:5606462

Related Subjects