Engineering MultiQueues: Fast Relaxed Concurrent Priority Queues

Authors Marvin Williams, Peter Sanders, Roman Dementiev



PDF
Thumbnail PDF

File

LIPIcs.ESA.2021.81.pdf
  • Filesize: 1.4 MB
  • 17 pages

Document Identifiers

Author Details

Marvin Williams
  • Karlsruhe Institute of Technology, Germany
Peter Sanders
  • Karlsruhe Institute of Technology, Germany
Roman Dementiev
  • Intel Deutschland GmbH, München, Germany

Cite AsGet BibTex

Marvin Williams, Peter Sanders, and Roman Dementiev. Engineering MultiQueues: Fast Relaxed Concurrent Priority Queues. In 29th Annual European Symposium on Algorithms (ESA 2021). Leibniz International Proceedings in Informatics (LIPIcs), Volume 204, pp. 81:1-81:17, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2021)
https://doi.org/10.4230/LIPIcs.ESA.2021.81

Abstract

Priority queues with parallel access are an attractive data structure for applications like prioritized online scheduling, discrete event simulation, or greedy algorithms. However, a classical priority queue constitutes a severe bottleneck in this context, leading to very small throughput. Hence, there has been significant interest in concurrent priority queues with relaxed semantics. We investigate the complementary quality criteria rank error (how close are deleted elements to the global minimum) and delay (for each element x, how many elements with lower priority are deleted before x). In this paper, we introduce MultiQueues as a natural approach to relaxed priority queues based on multiple sequential priority queues. Their naturally high theoretical scalability is further enhanced by using three orthogonal ways of batching operations on the sequential queues. Experiments indicate that MultiQueues present a very good performance-quality tradeoff and considerably outperform competing approaches in at least one of these aspects. We employ a seemingly paradoxical technique of "wait-free locking" that might be of more general interest to convert sequential data structures to relaxed concurrent data structures.

Subject Classification

ACM Subject Classification
  • Computing methodologies → Concurrent computing methodologies
Keywords
  • concurrent data structure
  • priority queues
  • randomized algorithms
  • wait-free locking

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Dan Alistarh, Trevor Brown, Justin Kopinsky, Jerry Z. Li, and Giorgi Nadiradze. Distributionally linearizable data structures. In 30th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 133-142, New York, NY, USA, 2018. URL: https://doi.org/10.1145/3210377.3210411.
  2. Dan Alistarh, Justin Kopinsky, Jerry Li, and Giorgi Nadiradze. The power of choice in priority scheduling. In Proceedings of the ACM Symposium on Principles of Distributed Computing, pages 283-292, 2017. Google Scholar
  3. Dan Alistarh, Justin Kopinsky, Jerry Li, and Nir Shavit. The SprayList: A scalable relaxed priority queue. Technical Report MSR-TR-2014-16, Microsoft Research, September 2014. URL: http://research.microsoft.com/apps/pubs/default.aspx?id=209108.
  4. P. Berenbrink, A. Czumaj, A. Steger, and B. Vöcking. Balanced allocations: The heavily loaded case. In 32th Annual ACM Symposium on Theory of Computing, pages 745-754, 2000. Google Scholar
  5. Timo Bingmann. TLX: Collection of sophisticated C++ data structures, algorithms, and miscellaneous helpers, 2018. , retrieved Oct. 7, 2020. URL: https://panthema.net/tlx.
  6. Irina Calciu, Hammurabi Mendes, and Maurice Herlihy. The adaptive priority queue with elimination and combining. CoRR, abs/1408.1021, 2014. URL: http://arxiv.org/abs/1408.1021,
  7. R. Dementiev, L. Kettner, J. Mehnert, and P. Sanders. Engineering a sorted list data structure for 32 bit keys. In 6th Workshop on Algorithm Engineering & Experiments, pages 142-151, New Orleans, 2004. Google Scholar
  8. N. Deo and S. Prasad. Parallel heap: An optimal parallel priority queue. The Journal of Supercomputing, 6(1):87-98, 1992. Google Scholar
  9. Daniel Funke, Sebastian Lamm, Peter Sanders, Christian Schulz, Darren Strash, and Moritz von Looz. Communication-free massively distributed graph generation. In 2018 IEEE International Parallel and Distributed Processing Symposium, IPDPS, Vancouver, BC, Canada, 2018. Google Scholar
  10. Jakob Gruber, Jesper Larsson Träff, and Martin Wimmer. Benchmarking concurrent priority queues: Performance of k-lsm and related data structures, 2016. URL: http://arxiv.org/abs/1603.05047.
  11. Andreas Haas, Michael Lippautz, Thomas A Henzinger, Hannes Payer, Ana Sokolova, Christoph M Kirsch, and Ali Sezgin. Distributed queues in shared memory: multicore performance and scalability through quantitative relaxation. In Proceedings of the ACM International Conference on Computing Frontiers, page 17. ACM, 2013. Google Scholar
  12. Thomas A Henzinger, Christoph M Kirsch, Hannes Payer, Ali Sezgin, and Ana Sokolova. Quantitative relaxation of concurrent data structures. In ACM SIGPLAN Notices, volume 48, pages 317-328. ACM, 2013. Google Scholar
  13. M. Herlihy and N. Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann, 2008. Google Scholar
  14. R. M. Karp and Y. Zhang. Parallel algorithms for backtrack search and branch-and-bound. Journal of the ACM, 40(3):765-789, 1993. Google Scholar
  15. Jonatan Lindén and Bengt Jonsson. A skiplist-based concurrent priority queue with minimal memory contention. In Principles of Distributed Systems, pages 206-220. Springer, 2013. Google Scholar
  16. Tobias Maier, Peter Sanders, and Roman Dementiev. Concurrent hash tables: Fast and general?(!). ACM Transactions on Parallel Computing (TOPC), 5, 2019. Google Scholar
  17. W. Pugh. Skip lists: A probabilistic alternative to balanced trees. Communications of the ACM, 33(6):668-676, 1990. Google Scholar
  18. A. Ranade, S. Cheng, E. Deprit, J. Jones, and S. Shih. Parallelism and locality in priority queues. In Sixth IEEE Symposium on Parallel and Distributed Processing, pages 97-103, October 1994. Google Scholar
  19. Hamza Rihani, Peter Sanders, and Roman Dementiev. Multiqueues: Simpler, faster, and better relaxed concurrent priority queues. CoRR, abs/1411.1209, 2014. URL: http://arxiv.org/abs/1411.1209,
  20. Hamza Rihani, Peter Sanders, and Roman Dementiev. Multiqueues: Simple relaxed concurrent priority queues. In 27th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 80-82, 2015. URL: https://doi.org/10.1145/2755573.2755616.
  21. Konstantinos Sagonas and Kjell Winblad. The contention avoiding concurrent priority queue. In International Workshop on Languages and Compilers for Parallel Computing, pages 314-330. Springer, 2016. Google Scholar
  22. Konstantinos Sagonas and Kjell Winblad. A contention adapting approach to concurrent ordered sets. Journal of Parallel and Distributed Computing, 115:1-19, 2018. Google Scholar
  23. P. Sanders. Randomized priority queues for fast parallel access. Journal Parallel and Distributed Computing, Special Issue on Parallel and Distributed Data Structures, 49:86-97, 1998. Google Scholar
  24. P. Sanders. Fast priority queues for cached memory. ACM Journal of Experimental Algorithmics, 5, 2000. Google Scholar
  25. Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, and Roman Dementiev. Sequential and Parallel Algorithms and Data Structures - The Basic Toolbox. Springer, 2019. URL: https://doi.org/10.1007/978-3-540-77978-0.
  26. Nir Shavit and Itay Lotan. Skiplist-based concurrent priority queues. In 14th Int. Parallel and Distributed Processing Symposium (IPDPS), pages 263-268. IEEE, 2000. Google Scholar
  27. Håkan Sundell and Philippas Tsigas. Fast and lock-free concurrent priority queues for multi-thread systems. In Int. Parallel and Distributed Processing Symposium (IPDPS), pages 11-20. IEEE, 2003. Google Scholar
  28. Peter van Emde Boas. Preserving order in a forest in less than logarithmic time. Information Processing Letters, 6(3):80-82, 1977. Google Scholar
  29. J. W. J. Williams. Algorithm 232 (HEAPSORT). Communications of the ACM, 7:347-348, 1964. Google Scholar
  30. Martin Wimmer, Jakob Gruber, Jesper Larsson Träff, and Philippas Tsigas. The lock-free k-lsm relaxed priority queue. ACM SIGPLAN Notices, 50(8):277-278, 2015. Google Scholar
  31. Martin Wimmer, Francesco Versaci, Jesper Larsson Träff, Daniel Cederman, and Philippas Tsigas. Data structures for task-based priority scheduling. In 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), pages 379-380, New York, NY, USA, 2014. ACM. URL: https://doi.org/10.1145/2555243.2555278.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail