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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Java programming. https://en.wikibooks.org/wiki/Java_Programming
Perf tool. https://perf.wiki.kernel.org/index.php
Reentrant locks. http://docs.oracle.com/java7/api/
Synchrobench. https://github.com/gramoli/synchrobench
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)
Aragon, C.R., Seidel, R.G.: Randomized search trees. In: FOCS, pp. 450–454 (1989)
Blelloch, G.E., Reid-Miller, M.: Fast set operations using treaps. In: SPAA, pp. 16–26 (1998)
Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A practical concurrent binary search tree. In: PPoPP, pp. 257–268 (2010)
Crain, T., Gramoli, V., Raynal, M.: A contention-friendly binary search tree. In: ICPP, pp. 229–240 (2013)
Drachsler, D., Vechev, M., Yahav, E.: Practical concurrent binary search trees via logical ordering. In: PPoPP, pp. 343–356 (2014)
Ellen, F., Fatourou, P., Ruppert, E., van Breugel, F.: Non-blocking binary search trees. In: PODC, pp. 131–140 (2010)
Fraser: Practical lock freedom. Ph.D. thesis, University of Cambridge (2003)
Herlihy, M.P., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers, San Francisco (2008)
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. TOPLAS 12(3), 463–492 (1990)
Lea, D.: Concurrent skip list (2005)
Martínez, C., Roura, S.: Randomized binary search trees. JACM 45(2), 288–323 (1998)
Natarajan, A., Mittal, N.: Fast concurrent lock-free binary search trees. In: PPoPP, pp. 317–328 (2014)
Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. CACM 33(6), 668–676 (1990)
Reitbauer, A.: Java Enterprise Performance. entwickler Press, Frankfurt (2011)
Shavit, N.: Data structures in the multicore age. CACM 54(3), 76–84 (2011)
Weiss, M.A.: Data Structures and Algorithm Analysis in C++, 3rd edn. Pearson Press, Boston (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)