skip to main content
abstract

The lock-free k-LSM relaxed priority queue

Published:24 January 2015Publication History
Skip Abstract Section

Abstract

We present a new, concurrent, lock-free priority queue that relaxes the delete-min operation to allow deletion of any of the ρ smallest keys instead of only a minimal one, where ρ is a parameter that can be configured at runtime. It is built from a logarithmic number of sorted arrays, similar to log-structured merge-trees (LSM). For keys added and removed by the same thread the behavior is identical to a non-relaxed priority queue. We compare to state-of-the-art lock-free priority queues with both relaxed and non-relaxed semantics, showing high performance and good scalability of our approach.

References

  1. Y. Afek, G. Korland, and E. Yanovsky. Quasi-Linearizability: Relaxed consistency for improved concurrency. In Principles of Distributed Systems (OPODIS), volume 6490 of Lecture Notes in Computer Science, pages 395–410, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. Alistarh, J. Kopinsky, J. Li, and N. Shavit. The spraylist: A scalable relaxed priority queue. In 20st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. Erd˝os and A. Rényi. On random graphs. Publicationes Mathematicae Debrecen, 6:290–297, 1959.Google ScholarGoogle Scholar
  4. T. A. Henzinger, C. M. Kirsch, H. Payer, A. Sezgin, and A. Sokolova. Quantitative relaxation of concurrent data structures. In 40th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pages 317–328, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Lindén and B. Jonsson. A skiplist-based concurrent priority queue with minimal memory contention. In Principles of Distributed Systems (OPODIS), volume 8304 of Lecture Notes in Computer Science, pages 206–220, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. O’Neil, E. Cheng, D. Gawlick, and E. O’Neil. The log-structured merge-tree (LSM-tree). Acta Informatica, 33(4):351–385, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Wimmer. Variations on Task Scheduling for Shared Memory Systems. PhD thesis, Vienna University of Technology, 2014.Google ScholarGoogle Scholar
  8. M. Wimmer, F. Versaci, J. L. Träff, D. Cederman, and P. Tsigas. Data structures for task-based priority scheduling. In 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), pages 379–380, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The lock-free k-LSM relaxed priority queue

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!