Circular queue management with split indexes
Abstract
Methods and apparatus for managing circular queues are disclosed. A pointer designates an index position of a particular queue element and contains an additional pointer state, whereby two pointer values (split indexes) can designate the same index position. Front and rear pointers are respectively managed by dequeue and enqueue logic. The front pointer state and rear pointer state distinguish full and empty queue states when both pointers designate the same index position. Asynchronous dequeue and enqueue operations are supported, no lock is required, and no queue entry is wasted. Hardware and software embodiments for numerous applications are disclosed.
- Inventors:
- Issue Date:
- Research Org.:
- Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 2221951
- Patent Number(s):
- 11693663
- Application Number:
- 17/500,851
- Assignee:
- UT-Battelle, LLC (Oak Ridge, TN)
- DOE Contract Number:
- AC05-00OR22725
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 10/13/2021
- Country of Publication:
- United States
- Language:
- English
Citation Formats
Miniskar, Narasinga Rao, Liu, Frank Y., and Vetter, Jeffrey S. Circular queue management with split indexes. United States: N. p., 2023.
Web.
Miniskar, Narasinga Rao, Liu, Frank Y., & Vetter, Jeffrey S. Circular queue management with split indexes. United States.
Miniskar, Narasinga Rao, Liu, Frank Y., and Vetter, Jeffrey S. Tue .
"Circular queue management with split indexes". United States. https://www.osti.gov/servlets/purl/2221951.
@article{osti_2221951,
title = {Circular queue management with split indexes},
author = {Miniskar, Narasinga Rao and Liu, Frank Y. and Vetter, Jeffrey S.},
abstractNote = {Methods and apparatus for managing circular queues are disclosed. A pointer designates an index position of a particular queue element and contains an additional pointer state, whereby two pointer values (split indexes) can designate the same index position. Front and rear pointers are respectively managed by dequeue and enqueue logic. The front pointer state and rear pointer state distinguish full and empty queue states when both pointers designate the same index position. Asynchronous dequeue and enqueue operations are supported, no lock is required, and no queue entry is wasted. Hardware and software embodiments for numerous applications are disclosed.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2023},
month = {7}
}
Works referenced in this record:
A lock-free, cache-efficient multi-core synchronization mechanism for line-rate network traffic monitoring
conference, April 2010
- Lee, Patrick P. C.; Chandranmenon, Girish
- 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS)
Implementation of a multiple writer single reader queue in a lock free and a contention free manner
patent, June 2015
- Kumar, Arun; Simhadri, Mehar
- US Patent Document 9,069,566
Lock-free dual queue with condition synchronization and time-outs
patent, September 2016
- Hopkins, William
- US Patent Document 9,448,856
Memory controller and method determining empty/full status of a FIFO memory using gray code counters
patent, June 1995
- Shyi, Jonathan; Shen, Kenny
- US Patent Document 5,426,756
Non-Blocking Synchronization Between Real-Time and Non-Real-Time Applications
journal, January 2020
- Ruiz, Alejandro Perez; Rivas, Mario Aldea; Harbour, Michael Gonzalez
- IEEE Access, Vol. 8
EQueue: Elastic Lock-Free FIFO Queue for Core-to-Core Communication on Multi-Core Processors
journal, January 2020
- Wang, Junchang; Tian, Yangfeng; Fu, Xiong
- IEEE Access, Vol. 8
Circular buffer management
patent, March 2002
- Laurenti, Gilbert; Djafarian, Karim; Catan, Herve
- US Patent Document 6,363,470
Method of management of a circular queue for asynchronous access
patent, November 2000
- Garcia, David J.; Sonnier, David P.
- US Patent Document 6,145,061
Non-power-of-two grey-code counter system having binary incrementer with counts distributed with bilateral symmetry
patent, January 2002
- Pontius, Timothy
- US Patent Document 6,337,893
Concurrent, non-blocking, lock-free queue and method, apparatus, and computer program product for implementing same
patent, September 2010
- Christenson, David A.
- US Patent Document 7,802,032
High performance queue implementations in multiprocessor systems
patent, February 2014
- Li, Xiao-Feng; Ju, Dz-ching
- US Patent Document 8,656,409
FastForward for efficient pipeline parallelism
conference, February 2008
- Giacomoni, John; Moseley, Tipp; Vachharajani, Manish
- Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Method and system to compute a status for a circular queue within a memory device
patent, August 2006
- Schober, Richard L.
- US Patent Document 7,089,380
B-Queue: Efficient and Practical Queuing for Fast Core-to-Core Communication
journal, August 2012
- Wang, Junchang; Zhang, Kai; Tang, Xinan
- International Journal of Parallel Programming, Vol. 41, Issue 1
A Memory Efficient Lock-Free Circular Queue
conference, May 2021
- Miniskar, Narasinga Rao; Liu, Frank; Vetter, Jeffrey S.
- 2021 IEEE International Symposium on Circuits and Systems (ISCAS)
Multi-threaded, lockless data parallelization
patent, June 2016
- Huetter, Raymond J.; McIntyre, Craig A.; Quoc, Myvan
- US Patent Document 9,378,059
Specifying Concurrent Program Modules
journal, April 1983
- Lamport, Leslie
- ACM Transactions on Programming Languages and Systems, Vol. 5, Issue 2
Single producer, single consumer lockless FIFO/LIFO queue
patent, January 2016
- Biswas, Shubhra
- US Patent Document 9,246,836