skip to main content
10.1145/248052.248106acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
Article
Free access

Simple, fast, and practical non-blocking and blocking concurrent queue algorithms

Published: 01 May 1996 Publication History
First page of PDF

References

[1]
T.E. Anderson. The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors. IEEE Transactions on Parallel and Distributed Systems, 1 (1):6-16, January 1990.
[2]
G. Barnes. A Method for Implementing Lock-Free Data Structures. In Proceedings of the Fifth Annual ACM Symposium on Parallel Algorithms and Architectures, Velen, Germany, June-July 1993.
[3]
A. Gottlieb, B. D. Lubachevsky, and L. Rudolph. Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential Processors. ACM Transactions on Programming Languages and Systems, 5(2): 164-189, April 1983.
[4]
M.P. Herlihy and J. M. Wing. Axions for Concurrent Objects. In Proceedings of the 14th ACM Symposium on Principles of Programming Languages, pages 13- 26, January 1987.
[5]
M.P. Herlihy and J. M. Wing. Linearizability' A Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems, 12(3):463-492, July 1990.
[6]
M. Herlihy. A Methodology for Implementing Highly Concurrent Data Objects. ACM Transactions on Programming Languages and Systems, 15(5):745-770, November 1993.
[7]
K. Hwang and F. A. Briggs. Computer Architecture and Parallel Processing. McGraw-Hill, 1984.
[8]
L. Kontothanassis and R. Wisniewski. Using Scheduler Information to Achieve Optimal Barrier Synchronization Performance. In Proceedings of the Fourth ACM Symposium on Principles and Practice of Parallel Programming, May 1993.
[9]
L. Lamport. Specifying Concurrent Program Modules. ACM Transactions on Programming Languages and Systems, 5(2): 190-222, April 1983.
[10]
H. Massalin and C. Pu. A Lock-Free Multiprocessot OS Kernel. Technical Report CUCS-005-91, Computer Science Department, Columbia University, 1991.
[11]
J.M. Mellor-Crummey. Concurrent Queues: Practical Fetch-and-~ Algorithms. TR 229, Computer Science Department, University of Rochester, November 1987.
[12]
J.M. Mellor-Crummey and M. L. Scott. Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors. ACM Transactions on Computer Systems, 9(1):21-65, February 1991.
[13]
M.M. Michael and M. L. Scott. Correction of a Memory Management Method for Lock-Free Data Structures. Technical Report 599, Computer Science Department, University of Rochester, December 1995.
[14]
S. Prakash, Y. H. Lee, and T. Johnson. A Non-Blocking Algorithm for Shared Queues Using Compare-and_Swap. In Proceedings of the 1991 International Conference on Parallel Processing, pages 1I:68-75, 1991.
[15]
S. Prakash, Y. H. Lee, and T. Johnson. Non-Blocking Algorithms for Concurrent Data Structures. Technical Report 91-002, University of Horida, 1991.
[16]
S. Prakash, Y. H. Lee, and T Johnson. A Nonblocking Algorithm for Shared Queues Using Compare-and-Swap. IEEE Transactions on Computers, 43(5):548-559, May 1994.
[17]
R. Sites. Operating Systems and Computer Architecture. In H. Stone, editor, Introduction to Computer Architecture, 2nd edition, Chapter 12, 1980. Science Research Associates.
[18]
J.M. Stone. A Simple and Correct Shared-Queue Algorithm Using Compare-and-Swap. In Proceedings Supercomputing '90, November 1990.
[19]
J.M. Stone. A Non-Blocking Compare-and-Swap Algorithm for a Shared Circular Queue. In S. Tzafesms et al., editors, Parallel and Distributed Computing in Engineering Systems, pages 147-152, 1992. Elsevier Science Publishers.
[20]
H.S. Stone. High Performance Computer Architecture. Addison-Wesley, 1993.
[21]
R.K. Treiber. Systems Programming: Coping with Parallelism. In RJ 5118, IBM Almaden Research Center, April 1986.
[22]
J. Turek, D. Shasha, and S. Prakash. Locking without Blocking: Making Lock Based Concurrent Data Structure Algorithms Nonblocking. In Proceedings of the 1 lth ACM SIGACT-SiGMOD-SIGART Symposium on Principles of Database Systems, pages 212-222, 1992.
[23]
J.D. Valois. Implementing Lock-Free Queues. In Seventh International Conference on Parallel and Distributed Computing Systems, Las Vegas, N'V, October 1994.
[24]
J.D. Valois. Lock-Free Data Structures. Ph.D. dissertation, Rensselaer Polytechnic Institute, May 1995.
[25]
R.W. Wisniewski, L. Kontothanassis, and M. L. Scott. Scalable Spin Locks for Multiprogrammed Systems. In Proceedings of the Eighth International Parallel Processing Symposium, pages 583- 589, Cancun, Mexico, April 1994. Earlier but expanded version available as TR 454, Computer Science Department, University of Rochester, April 1993.
[26]
R.W. Wisniewski, L. I. Kontothanassis, and M. L. Scott. High Performance Synchronization Algorithms for Multiprogrammed Multiprocessors. In Proceedings of the Fifth ACM Symposium on Principles and Practice of Parallel Programming, Santa Barbara, CA, July 1995.

Cited By

View all
  • (2024)Automated Robustness Verification of Concurrent Data Structure Libraries against Relaxed Memory ModelsProceedings of the ACM on Programming Languages10.1145/36898028:OOPSLA2(2578-2605)Online publication date: 8-Oct-2024
  • (2024)A Proof Recipe for Linearizability in Relaxed Memory Separation LogicProceedings of the ACM on Programming Languages10.1145/36563848:PLDI(175-198)Online publication date: 20-Jun-2024
  • (2024)Concurrent Immediate Reference CountingProceedings of the ACM on Programming Languages10.1145/36563838:PLDI(151-174)Online publication date: 20-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC '96: Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
May 1996
344 pages
ISBN:0897918002
DOI:10.1145/248052
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1996

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. compare_and_swap
  2. concurrent queue
  3. lock-free
  4. multiprogramming
  5. non-blocking

Qualifiers

  • Article

Conference

PODC96
Sponsor:

Acceptance Rates

PODC '96 Paper Acceptance Rate 69 of 117 submissions, 59%;
Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)808
  • Downloads (Last 6 weeks)107
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Automated Robustness Verification of Concurrent Data Structure Libraries against Relaxed Memory ModelsProceedings of the ACM on Programming Languages10.1145/36898028:OOPSLA2(2578-2605)Online publication date: 8-Oct-2024
  • (2024)A Proof Recipe for Linearizability in Relaxed Memory Separation LogicProceedings of the ACM on Programming Languages10.1145/36563848:PLDI(175-198)Online publication date: 20-Jun-2024
  • (2024)Concurrent Immediate Reference CountingProceedings of the ACM on Programming Languages10.1145/36563838:PLDI(151-174)Online publication date: 20-Jun-2024
  • (2024)Testing Concurrent Algorithms on JVM with Lincheck and IntelliJ IDEAProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3685301(1821-1825)Online publication date: 11-Sep-2024
  • (2024)Teaching Parallel Algorithms Using the Binary-Forking Model2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW63119.2024.00080(346-351)Online publication date: 27-May-2024
  • (2024)How to�Relax Instantly: Elastic Relaxation of�Concurrent Data StructuresEuro-Par 2024: Parallel Processing10.1007/978-3-031-69583-4_9(119-133)Online publication date: 26-Aug-2024
  • (2024)Exploring the�Boundaries of�Rely/Guarantee and�Links to�LinearisabilityThe Practice of Formal Methods10.1007/978-3-031-66673-5_13(247-267)Online publication date: 4-Sep-2024
  • (2024)Intrathread Method Orders Based Adaptive Testing of�Concurrent ObjectsTheoretical Aspects of Software Engineering10.1007/978-3-031-64626-3_6(91-108)Online publication date: 14-Jul-2024
  • (2024)Highly-Efficient Persistent FIFO QueuesStructural Information and Communication Complexity10.1007/978-3-031-60603-8_14(238-261)Online publication date: 23-May-2024
  • (2023)Dynamic Skyline Computation with LSD TreesAnalytics10.3390/analytics20100092:1(146-162)Online publication date: 9-Feb-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media