Efficient Support for Range Queries and Range Updates Using Contention Adapting Search Trees

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

Abstract

We extend contention adapting trees (CA trees), a family of concurrent data structures for ordered sets, to support linearizable range queries, range updates, and operations that atomically operate on multiple keys such as bulk insertions and deletions. CA trees differ from related concurrent data structures by adapting themselves according to the contention level and the access patterns to scale well in a multitude of scenarios. Variants of CA trees with different performance characteristics can be derived by changing their sequential component. We experimentally compare CA trees to state-of-the-art concurrent data structures and show that CA trees beat the best data structures we compare against with up to 57 % in scenarios that contain basic set operations and range queries, and outperform them by more than 1200 % in scenarios that also contain range updates.

References

  1. 1.
    Avni, H., Shavit, N., Suissa, A.: Leaplist: Lessons learned in designing TM-supported range queries. In: Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC 2013, pp. 299–308. ACM, New York, NY, USA (2013)Google Scholar
  2. 2.
    Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A practical concurrent binary search tree. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP, pp. 257–268. ACM (2010)Google Scholar
  3. 3.
    Brown, T., Avni, H.: Range queries in Non-blocking k-ary search trees. In: Flocchini, P., Binoy, R., Baldoni, R. (eds.) OPODIS 2012. LNCS, vol. 7702, pp. 31–45. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  4. 4.
    Brown, T., Helga, J.: Non-blocking k-ary search trees. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 207–221. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  5. 5.
    Calciu, I., Dice, D., Lev, Y., Luchangco, V., Marathe, V.J., Shavit, N.: NUMA-aware reader-writer locks. In: Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP, pp. 157–166. ACM, New York, NY, USA (2013)Google Scholar
  6. 6.
  7. 7.
    Crain, T., Gramoli, V., Raynal, M.: A speculation-friendly binary search tree. In: Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2012, pp. 161–170. ACM, New York, NY, USA (2012)Google Scholar
  8. 8.
    Fraser, K.: Practical lock-freedom. Ph.D. thesis, University of Cambridge Computer Laboratory (2004)Google Scholar
  9. 9.
    Knuth, D.E.: The Art of Computer Programming: Sorting and Searching, 2nd edn. Addison-Wesley, Reading (1998)Google Scholar
  10. 10.
    Lameter, C.: Effective synchronization on Linux/NUMA systems. In: Proceedings of the Gelato Federation Meeting (2005)Google Scholar
  11. 11.
    Natarajan, A., Mittal, N.: Fast concurrent lock-free binary search trees. In: Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2014, pp. 317–328. ACM, New York, NY, USA (2014)Google Scholar
  12. 12.
    Österlund, E., Löwe, W.: Concurrent transformation components using contention context sensors. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014, pp. 223–234. ACM, New York, NY, USA (2014)Google Scholar
  13. 13.
    Prokopec, A., Bronson, N.G., Bagwell, P., Odersky, M.: Concurrent tries with efficient non-blocking snapshots. In: Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPopp 2012, pp. 151–160. ACM, NY, USA (2012)Google Scholar
  14. 14.
    Pugh, W.: A skip list cookbook. Technical report, College Park, MD, USA (1990)Google Scholar
  15. 15.
    Robertson, C.: Implementing contention-friendly range queries in non-blocking key-value stores. Bachelor thesis, The University of Sydney, November 2014Google Scholar
  16. 16.
    Sagonas, K., Winblad, K.: Contention adapting trees. Technical Report, available in[6] (2014)Google Scholar
  17. 17.
    Sagonas, K., Winblad, K.: More scalable ordered set for ETS using adaptation. In: ACM Erlang Workshop, pp. 3–11. ACM, September 2014Google Scholar
  18. 18.
    Sagonas, K., Winblad, K.: Contention adapting trees. In: 14th International Symposium on Parallel and Distributed Computing, pp. 215–224. IEEE, June 2015Google Scholar
  19. 19.
    Tarjan, R.E.: Data Structures and Network Algorithms, vol. 14. SIAM (1983)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Department of Information TechnologyUppsala UniversityUppsalaSweden

Personalised recommendations