Skip to content

vincent-lafouasse/LockFreeQueue

Repository files navigation

LockFreeQueue

A review on wait-free data structures

configuration

you must provide CLF_QUEUE_SIZE one of two ways:

  1. command line: cmake -DCLF_QUEUE_SIZE=8192 [...]
  2. downstream CML.txt: set(CLF_QUEUE_SIZE 8192 CACHE STRING "" FORCE)
    • (FORCE required to override any cached value)

the absence of a default value is intentional. you MUST provide a size

References

  • [Swartz2008] A. Swartz, "Guerilla Open Access Manifesto," 2008. Archive.

  • [Lamport1983] L. Lamport, "Specifying Concurrent Program Modules," ACM Trans. Program. Lang. Syst., vol. 5, no. 2, pp. 190–222, Apr. 1983. DOI: 10.1145/69624.357207. Archive.

  • [MichaelScott1996] M. M. Michael and M. L. Scott, "Simple, fast, and practical non-blocking and blocking concurrent queue algorithms," in Proc. 15th Annu. ACM Symp. Princ. Distrib. Comput. (PODC '96), pp. 267–275, 1996. DOI: 10.1145/248052.248106. Archive.

  • [LadanMozes2004] E. Ladan-Mozes and N. Shavit, "An Optimistic Approach to Lock-Free FIFO Queues," in Proc. 18th Int. Symp. Distrib. Comput. (DISC '04), pp. 117–131, 2004. DOI: 10.1007/978-3-540-30186-8_9. Archive.

  • [Giacomoni2008] J. Giacomoni, T. Moseley, and M. Vachharajani, "FastForward for efficient pipeline parallelism: a cache-optimized concurrent lock-free queue," in Proc. 13th ACM SIGPLAN Symp. Princ. Pract. Parallel Program. (PPoPP '08), pp. 43–52, 2008. DOI: 10.1145/1345206.1345215. Archive.

  • [Aldinucci2012] M. Aldinucci, M. Danelutto, P. Kilpatrick, M. Meneghin, and M. Torquati, "An Efficient Unbounded Lock-Free Queue for Multi-core Systems," in Proc. 18th Int. Conf. Parallel Process. (Euro-Par '12), pp. 662–673, 2012. DOI: 10.1007/978-3-642-32820-6_65. Archive.

  • [Le2013] N. M. Lê, A. Guatto, A. Cohen, and A. Pop, "Correct and Efficient Bounded FIFO Queues," in Proc. 25th Int. Symp. Comp. Archit. High Perform. Comput. (SBAC-PAD '13), pp. 144–151, 2013. DOI: 10.1109/SBAC-PAD.2013.8. Archive.

About

Wait-free SPSC queue in C, derived from a systematic literature review. Algorithms prototyped in C++ against original pseudocode, winner ported to production C.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors