Advertisement

Range Queries in Non-blocking k-ary Search Trees

  • Trevor Brown
  • Hillel Avni
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7702)

Abstract

We present a linearizable, non-blocking k-ary search tree (k-ST) that supports fast searches and range queries. Our algorithm uses single-word compare-and-swap (CAS) operations, and tolerates any number of crash failures. Performance experiments show that, for workloads containing small range queries, our k-ST significantly outperforms other algorithms which support these operations, and rivals the performance of a leading concurrent skip-list, which provides range queries that cannot always be linearized.

Keywords

Shared Memory Range Query Binary Search Tree Linearization Point Abstract Data Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. J. ACM 40(4), 873–890 (1993)zbMATHCrossRefGoogle Scholar
  2. 2.
    Afek, Y., Avni, H., Shavit, N.: Towards Consistency Oblivious Programming. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 65–79. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  3. 3.
    Attiya, H., Guerraoui, R., Ruppert, E.: Partial snapshot objects. In: Proc. 20th Annual Symposium on Parallelism in Algorithms and Architectures, SPAA 2008, pp. 336–343. ACM, New York (2008)CrossRefGoogle Scholar
  4. 4.
    Barnes, G.: A method for implementing lock-free data structures. In: Proc. 5th ACM Symposium on Parallel Algorithms and Architectures, pp. 261–270 (1993)Google Scholar
  5. 5.
    Braginsky, A., Petrank, E.: A lock-free b+tree. In: Proceedings of the 24th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2012, pp. 58–67. ACM, New York (2012)CrossRefGoogle Scholar
  6. 6.
    Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A practical concurrent binary search tree. In: Proc. 15th ACM Symposium on Principles and Practice of Parallel Programming, pp. 257–268 (2010)Google Scholar
  7. 7.
    Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: Transactional predication: high-performance concurrent sets and maps for stm. In: PODC, pp. 6–15 (2010)Google Scholar
  8. 8.
    Brown, T., Avni, H.: Range queries in non-blocking k-ary search trees, http://www.cs.toronto.edu/~tabrown/kstrq
  9. 9.
    Brown, T., Helga, J.: Non-blocking k-ary search trees. In: Proc. 15th International Conference on Principles of Distributed Systems, pp. 207–211 (2011), Complete proof and code available at http://www.cs.toronto.edu/~tabrown/ksts, more details in Tech. Report CSE-2011-04, York University
  10. 10.
    Ellen, F., Fatourou, P., Ruppert, E., van Breugel, F.: Non-blocking binary search trees. In: Proc. 29th ACM Symposium on Principles of Distributed Computing, pp. 131–140 (2010), Full version in Tech. Report CSE-2010-04, York UniversityGoogle Scholar
  11. 11.
    Okasaki, C.: Purely functional data structures. Cambridge University Press, New York (1998)CrossRefGoogle Scholar
  12. 12.
    Prokopec, A., Bronson, N.G., Bagwell, P., Odersky, M.: Concurrent tries with efficient non-blocking snapshots. To appear in Proc. 17th ACM Symposium on Principles and Practice of Parallel Programming (2012)Google Scholar
  13. 13.
    Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, PODC 1995, pp. 204–213. ACM, New York (1995)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Trevor Brown
    • 1
  • Hillel Avni
    • 2
  1. 1.Dept. of Computer ScienceUniversity of TorontoCanada
  2. 2.Dept. of Computer ScienceTel-Aviv UniversityIsrael

Personalised recommendations