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
- Spix, George A.; Gaertner, Gregory G.; Wengelski, Diane M.
- US Patent Document 5,202,988
System and method for implementing an atomic wait for notification operation
patent, January 1998
- Connelly, David W.; Chan, Patrick
- US Patent Document 5,706,515
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
- Shavit, Nir N.; Martin, Paul; Steele, Jr., Guy L.
- US Patent Document 7,000,234
Dynamic circular work-stealing deque
patent, March 2008
- Chase, David R.; Lev, Yosef
- US Patent Document 7,346,753
Configurable memory system and method for providing atomic counting operations in a memory device
patent, September 2010
- Bellofatto, Ralph E.; Gara, Alan; Giampapa, Mark E.
- US Patent Document 7,797,503
Method and system for a ticket lock using a dynamically reconfigurable distributed polling area
patent-application, January 2007
- Bliss, Brian E.
- US Patent Application 11/173775; 20070006232
A fetch-and-op implementation for parallel computers
journal, May 1988
- Lipovski, G. J.; Vaughan, P.
- ACM SIGARCH Computer Architecture News, Vol. 16, Issue 2
Nonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors
journal, May 1998
- Michael, Maged M.; Scott, Michael L.
- Journal of Parallel and Distributed Computing, Vol. 51, Issue 1
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
Algorithms for scalable synchronization on shared-memory multiprocessors
journal, February 1991
- Mellor-Crummey, John M.; Scott, Michael L.
- ACM Transactions on Computer Systems, Vol. 9, Issue 1
A simple, fast and scalable non-blocking concurrent FIFO queue for shared memory multiprocessor systems
conference, January 2001
- Tsigas, Philippas; Zhang, Yi
- Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures - SPAA '01
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
Wait-free synchronization
journal, January 1991
- Herlihy, Maurice
- ACM Transactions on Programming Languages and Systems, Vol. 13, Issue 1
Axioms for concurrent objects
conference, January 1987
- Herlihy, M. P.; Wing, J. M.
- Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '87
Active memory operations
conference, January 2007
- Fang, Zhen; Zhang, Lixin; Carter, John B.
- Proceedings of the 21st annual international conference on Supercomputing - ICS '07
Dynamic circular work-stealing deque
conference, January 2005
- Chase, David; Lev, Yossi
- Proceedings of the 17th annual ACM symposium on Parallelism in algorithms and architectures - SPAA'05
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