The Splay-List: A Distribution-Adaptive Concurrent Skip-List

Authors Vitaly Aksenov, Dan Alistarh, Alexandra Drozdova, Amirkeivan Mohtashami



PDF
Thumbnail PDF

File

LIPIcs.DISC.2020.3.pdf
  • Filesize: 0.7 MB
  • 18 pages

Document Identifiers

Author Details

Vitaly Aksenov
  • ITMO, St. Petersburg, Russia
Dan Alistarh
  • IST Austria, Klosterneuburg, Austria
Alexandra Drozdova
  • ITMO University, St. Petersburg, Russia
Amirkeivan Mohtashami
  • Sharif University of Technology, Tehran, Iran

Cite As Get BibTex

Vitaly Aksenov, Dan Alistarh, Alexandra Drozdova, and Amirkeivan Mohtashami. The Splay-List: A Distribution-Adaptive Concurrent Skip-List. In 34th International Symposium on Distributed Computing (DISC 2020). Leibniz International Proceedings in Informatics (LIPIcs), Volume 179, pp. 3:1-3:18, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2020) https://doi.org/10.4230/LIPIcs.DISC.2020.3

Abstract

The design and implementation of efficient concurrent data structures has seen significant attention. However, most of this work has focused on concurrent data structures providing good worst-case guarantees. In real workloads, objects are often accessed at different rates, since access distributions may be non-uniform. Efficient distribution-adaptive data structures are known in the sequential case, e.g. the splay-trees; however, they often are hard to translate efficiently in the concurrent case. 
In this paper, we investigate distribution-adaptive concurrent data structures, and propose a new design called the splay-list. At a high level, the splay-list is similar to a standard skip-list, with the key distinction that the height of each element adapts dynamically to its access rate: popular elements "move up," whereas rarely-accessed elements decrease in height. We show that the splay-list provides order-optimal amortized complexity bounds for a subset of operations, while being amenable to efficient concurrent implementation. Experimental results show that the splay-list can leverage distribution-adaptivity to improve on the performance of classic concurrent designs, and can outperform the only previously-known distribution-adaptive design in certain settings.

Subject Classification

ACM Subject Classification
  • Theory of computation → Data structures design and analysis
  • Theory of computation → Concurrent algorithms
Keywords
  • Data structures
  • self-adjusting
  • concurrency

Metrics

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

References

  1. Yehuda Afek, Haim Kaplan, Boris Korenfeld, Adam Morrison, and Robert E. Tarjan. Cbtree: A practical concurrent self-adjusting search tree. In Proceedings of the 26th International Conference on Distributed Computing, DISC'12, pages 1-15, Berlin, Heidelberg, 2012. Springer-Verlag. URL: https://doi.org/10.1007/978-3-642-33651-5_1.
  2. Vitaly Aksenov, Dan Alistarh, Alexandra Drozdova, and Amirkeivan Mohtashami. The splay-list: A distribution-adaptive concurrent skip-list. arXiv preprint arXiv:2008.01009, 2020. Google Scholar
  3. Maya Arbel-Raviv, Trevor Brown, and Adam Morrison. Getting to the root of concurrent binary search tree performance. In 2018 USENIX Annual Technical Conference (USENIX ATC 18), pages 295-306, Boston, MA, July 2018. USENIX Association. URL: https://www.usenix.org/conference/atc18/presentation/arbel-raviv.
  4. Amitabha Bagchi, Adam L Buchsbaum, and Michael T Goodrich. Biased skip lists. Algorithmica, 42(1):31-48, 2005. Google Scholar
  5. Prosenjit Bose, Karim Douïeb, and Stefan Langerman. Dynamic optimality for skip lists and b-trees. In Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms, pages 1106-1114, 2008. Google Scholar
  6. Trevor Brown. Techniques for Constructing Efficient Data Structures. PhD thesis, PhD thesis, University of Toronto, 2017. Google Scholar
  7. Valentina Ciriani, Paolo Ferragina, Fabrizio Luccio, and Shanmugavelayutham Muthukrishnan. Static optimality theorem for external memory string access. In The 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002. Proceedings., pages 219-227. IEEE, 2002. Google Scholar
  8. Brian F Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. Benchmarking cloud serving systems with ycsb. In Proceedings of the 1st ACM symposium on Cloud computing, pages 143-154, 2010. Google Scholar
  9. Andreia Correia and Pedro Ramalhete. Scalable reader-writer lock in c++1x. http://concurrencyfreaks.blogspot.com/2015/01/scalable-reader-writer-lock-in-c1x.html, 2015.
  10. Faith Ellen, Panagiota Fatourou, Eric Ruppert, and Franck van Breugel. Non-blocking binary search trees. In Proceedings of the 29th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, PODC '10, pages 131-140, New York, NY, USA, 2010. ACM. URL: https://doi.org/10.1145/1835698.1835736.
  11. Keir Fraser. Practical lock-freedom. Technical Report UCAM-CL-TR-579, University of Cambridge, Computer Laboratory, February 2004. Google Scholar
  12. Keir Fraser. Practical lock-freedom. PhD thesis, PhD thesis, Cambridge University Computer Laboratory, 2003. Also available as Technical Report UCAM-CL-TR-579, 2004. Google Scholar
  13. Maurice Herlihy, Yossi Lev, Victor Luchangco, and Nir Shavit. A simple optimistic skiplist algorithm. In Proceedings of the 14th international conference on Structural information and communication complexity, SIROCCO'07, pages 124-138, Berlin, Heidelberg, 2007. Springer-Verlag. Google Scholar
  14. Maurice Herlihy and Nir Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2008. Google Scholar
  15. John Iacono. Alternatives to splay trees with o (log n) worst-case access times. In Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms, pages 516-522. Society for Industrial and Applied Mathematics, 2001. Google Scholar
  16. Donald Ervin Knuth. The art of computer programming, volume 3. Pearson Education, 1997. Google Scholar
  17. Doug Lea, 2007. URL: http://java.sun.com/javase/6/docs/api/java/util/concurrent/ConcurrentSkipListMap.html.
  18. Charles Martel. Self-adjusting multi-way search trees. Information Processing Letters, 38(3):135-141, 1991. Google Scholar
  19. Maged M Michael. High performance dynamic lock-free hash tables and list-based sets. In Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures, pages 73-82. ACM, 2002. Google Scholar
  20. Aravind Natarajan and Neeraj Mittal. Fast concurrent lock-free binary search trees. In Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '14, pages 317-328, New York, NY, USA, 2014. ACM. URL: https://doi.org/10.1145/2555243.2555256.
  21. Meikel Poess and Chris Floyd. New tpc benchmarks for decision support and web commerce. ACM Sigmod Record, 29(4):64-71, 2000. Google Scholar
  22. William Pugh. Concurrent maintenance of skip lists, 1998. Google Scholar
  23. Daniel Dominic Sleator and Robert Endre Tarjan. Self-adjusting binary search trees. Journal of the ACM (JACM), 32(3):652-686, 1985. Google Scholar
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