skip to main content
OSTI.GOV 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

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 Corp., Armonk, NY (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
B554331
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 (17)

System for communicating among processors having different speeds patent April 1993
System and method for implementing an atomic wait for notification operation patent January 1998
Maintaining a double-ended queue as a linked-list with sentinel nodes and delete flags with concurrent non-blocking insert and remove operations using a double compare-and-swap primitive patent February 2006
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
Method and system for a ticket lock using a dynamically reconfigurable distributed polling area patent-application January 2007
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
  • 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
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

Similar Records

Concurrent operations on priority queues
Journal Article · Sun Jan 01 00:00:00 EST 1989 · Commun. ACM; (United States) · OSTI ID:1158797

Evaluation of concurrent priority queue algorithms. Technical report
Technical Report · Fri Feb 01 00:00:00 EST 1991 · OSTI ID:1158797

Performance analysis of a scheme for concurrency/synchronization using queueing network models
Journal Article · Mon Dec 01 00:00:00 EST 1986 · Int. J. Parallel Program.; (United States) · OSTI ID:1158797

Related Subjects