Concurrent Treaps

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10393)

Abstract

We propose algorithms to perform operations concurrently on treaps in a shared memory multi-core and multi-processor environment. Concurrent treaps hold the advantage of nodes’ priority for maintaining height of treaps. Concurrent treaps make use of logical ordering and physical ordering of nodes’ keys, and pessimistic locking mechanism to achieve synchronization. We observe that our concurrent treap implementations scale well as compared to the state-of-the-art implementations. We also study the impact of different locking objects on throughput of concurrent treaps. Our experimental results show that the concurrent treap implementation that uses AtomicInteger locking object provides better throughput and utilizes less memory footprint.

Keywords

Concurrent data structures Trees Treaps 

References

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
    Afek, Y., Kaplan, H., Korenfeld, B., Morrison, A., Tarjan, R.E.: Cbtree: a practical concurrent self-adjusting search tree. DISC 27(6), 393–417 (2014)MATHGoogle Scholar
  6. 6.
    Aragon, C.R., Seidel, R.G.: Randomized search trees. In: FOCS, pp. 450–454 (1989)Google Scholar
  7. 7.
    Blelloch, G.E., Reid-Miller, M.: Fast set operations using treaps. In: SPAA, pp. 16–26 (1998)Google Scholar
  8. 8.
    Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A practical concurrent binary search tree. In: PPoPP, pp. 257–268 (2010)Google Scholar
  9. 9.
    Crain, T., Gramoli, V., Raynal, M.: A contention-friendly binary search tree. In: ICPP, pp. 229–240 (2013)Google Scholar
  10. 10.
    Drachsler, D., Vechev, M., Yahav, E.: Practical concurrent binary search trees via logical ordering. In: PPoPP, pp. 343–356 (2014)Google Scholar
  11. 11.
    Ellen, F., Fatourou, P., Ruppert, E., van Breugel, F.: Non-blocking binary search trees. In: PODC, pp. 131–140 (2010)Google Scholar
  12. 12.
    Fraser: Practical lock freedom. Ph.D. thesis, University of Cambridge (2003)Google Scholar
  13. 13.
    Herlihy, M.P., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers, San Francisco (2008)Google Scholar
  14. 14.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. TOPLAS 12(3), 463–492 (1990)CrossRefGoogle Scholar
  15. 15.
    Lea, D.: Concurrent skip list (2005)Google Scholar
  16. 16.
    Martínez, C., Roura, S.: Randomized binary search trees. JACM 45(2), 288–323 (1998)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Natarajan, A., Mittal, N.: Fast concurrent lock-free binary search trees. In: PPoPP, pp. 317–328 (2014)Google Scholar
  18. 18.
    Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. CACM 33(6), 668–676 (1990)CrossRefGoogle Scholar
  19. 19.
    Reitbauer, A.: Java Enterprise Performance. entwickler Press, Frankfurt (2011)Google Scholar
  20. 20.
    Shavit, N.: Data structures in the multicore age. CACM 54(3), 76–84 (2011)CrossRefGoogle Scholar
  21. 21.
    Weiss, M.A.: Data Structures and Algorithm Analysis in C++, 3rd edn. Pearson Press, Boston (2009)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Indian Institute of Technology MadrasChennaiIndia

Personalised recommendations