Skip to main content

Concurrent Treaps

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Java programming. https://en.wikibooks.org/wiki/Java_Programming

  2. Perf tool. https://perf.wiki.kernel.org/index.php

  3. Reentrant locks. http://docs.oracle.com/java7/api/

  4. Synchrobench. https://github.com/gramoli/synchrobench

  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)

    MATH  Google Scholar 

  6. Aragon, C.R., Seidel, R.G.: Randomized search trees. In: FOCS, pp. 450–454 (1989)

    Google Scholar 

  7. Blelloch, G.E., Reid-Miller, M.: Fast set operations using treaps. In: SPAA, pp. 16–26 (1998)

    Google Scholar 

  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. Crain, T., Gramoli, V., Raynal, M.: A contention-friendly binary search tree. In: ICPP, pp. 229–240 (2013)

    Google Scholar 

  10. Drachsler, D., Vechev, M., Yahav, E.: Practical concurrent binary search trees via logical ordering. In: PPoPP, pp. 343–356 (2014)

    Google Scholar 

  11. Ellen, F., Fatourou, P., Ruppert, E., van Breugel, F.: Non-blocking binary search trees. In: PODC, pp. 131–140 (2010)

    Google Scholar 

  12. Fraser: Practical lock freedom. Ph.D. thesis, University of Cambridge (2003)

    Google Scholar 

  13. Herlihy, M.P., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers, San Francisco (2008)

    Google Scholar 

  14. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. TOPLAS 12(3), 463–492 (1990)

    Article  Google Scholar 

  15. Lea, D.: Concurrent skip list (2005)

    Google Scholar 

  16. Martínez, C., Roura, S.: Randomized binary search trees. JACM 45(2), 288–323 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  17. Natarajan, A., Mittal, N.: Fast concurrent lock-free binary search trees. In: PPoPP, pp. 317–328 (2014)

    Google Scholar 

  18. Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. CACM 33(6), 668–676 (1990)

    Article  Google Scholar 

  19. Reitbauer, A.: Java Enterprise Performance. entwickler Press, Frankfurt (2011)

    Google Scholar 

  20. Shavit, N.: Data structures in the multicore age. CACM 54(3), 76–84 (2011)

    Article  Google Scholar 

  21. Weiss, M.A.: Data Structures and Algorithm Analysis in C++, 3rd edn. Pearson Press, Boston (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Praveen Alapati .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Alapati, P., Saranam, S., Mutyam, M. (2017). Concurrent Treaps . In: Ibrahim, S., Choo, KK., Yan, Z., Pedrycz, W. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2017. Lecture Notes in Computer Science(), vol 10393. Springer, Cham. https://doi.org/10.1007/978-3-319-65482-9_63

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-65482-9_63

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-65481-2

  • Online ISBN: 978-3-319-65482-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics