skip to main content
10.1145/3154273.3154307acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicdcnConference Proceedingsconference-collections
research-article

Concurrent Linearizable Nearest Neighbour Search in LockFree-kD-tree

Published:04 January 2018Publication History

ABSTRACT

The Nearest neighbour search (NNS) is a fundamental problem in many application domains dealing with multidimensional data. In a concurrent setting, where dynamic modifications are allowed, a linearizable implementation of NNS is highly desirable.

This paper introduces the LockFree-kD-tree (LFkD-tree): a lock-free concurrent kD-tree, which implements an abstract data type (ADT) that provides the operations Add, Remove, Contains, and NNS. Our implementation is linearizable. The operations in the LFkD-tree use single-word read and compare-and-swap (CAS) atomic primitives, which are readily supported on available multi-core processors.

We experimentally evaluate the LFkD-tree using several benchmarks comprising real-world and synthetic datasets. The experiments show that the presented design is scalable and achieves significant speed-up compared to the implementations of an existing sequential kD-tree and a recently proposed multidimensional indexing structure, PH-tree.

References

  1. https://www.census.gov/geo/maps-data/data/tiger.html.Google ScholarGoogle Scholar
  2. L. Arge, M. D. Berg, H. Haverkort, and K. Yi. The priority r-tree: A practically efficient and worst-case optimal r-tree. ACM Trans. Algorithms, 4(1):9:1--9:30, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Arya and H.-Y. A. Fu. Expected-case complexity of approximate nearest neighbor searching. SIAM Journal on Computing, 32(3):793--815, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. L. Bentley. Multidimensional binary search trees used for associative searching. CACM, 18(9):509--517, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. N. G. Bronson, J. Casper, H. Chafi, and K. Olukotun. A practical concurrent binary search tree. SIGPLAN Not., 45(5):257--268, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. Brown and H. Avni. Range Queries in Non-blocking k-ary Search Trees, pages 31--45. Springer Berlin Heidelberg, 2012.Google ScholarGoogle Scholar
  7. B. Chatterjee. CKDTree. In https://tinyurl.com/hl3oktt.Google ScholarGoogle Scholar
  8. B. Chatterjee. Concurrent linearizable nearest neighbour search in lockfree-kd-tree. Technical Report 2015:08, ISNN 1652--926X, Chalmers University of Technology, 2015.Google ScholarGoogle Scholar
  9. B. Chatterjee. Lock-free linearizable 1-dimensional range queries. In 18th ICDCN, pages 9--18. ACM, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. Chatterjee, N. Nguyen, and P. Tsigas. Efficient lock-free binary search trees. In 33rd PODC, pages 322--331, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Dubois and C. Scheurich. Memory access dependencies in shared-memory multiprocessors. Software Engineering, IEEE Transactions on, 16(6):660--673, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. F. Ellen, P. Fatourou, E. Ruppert, and F. van Breugel. Non-blocking binary search trees. In 29th PODC, pages 131--140, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. H. Friedman, J. L. Bentley, and R. A. Finkel. An algorithm for finding best matches in logarithmic expected time. Transactions on Mathematical Software (TOMS), 3(3):209--226, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Gidenstam, M. Papatriantafilou, H. Sundell, and P. Tsigas. Efficient and reliable lock-free memory reclamation based on reference counting. IEEE Transactions on Parallel and Distributed Systems, 20(8):1173--1187, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. T. L. Harris. A pragmatic implementation of non-blocking linked-lists. In DISC, volume 1, pages 300--314. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. P. Herlihy and J. M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems (TOPLAS), 12(3):463--492, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. V. Howley and J. Jones. A non-blocking internal binary search tree. In 24th SPAA, pages 161--171, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Ichnowski and R. Alterovitz. Scalable multicore motion planning using lock-free concurrency. Robotics, IEEE Transactions on, 30(5):1123--1136, 2014.Google ScholarGoogle Scholar
  19. S. D. Levy. KDTree. In edu.wlu.cs.levy.CG.KDTree.Google ScholarGoogle Scholar
  20. T. Liu, A. W. Moore, and A. Gray. New algorithms for efficient high-dimensional nonparametric classification. Journal of Machine Learning Research, 7(Jun):1135--1158, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. W. Moore. Efficient memory-based learning for robot control. Technical Report 209, University of Cambridge, 1991.Google ScholarGoogle Scholar
  22. D. M. Mount and S. Arya. Ann: a library for approximate nearest neighbor searching. http://www.cs.umd.edu/~mount/ANN/, 1998.Google ScholarGoogle Scholar
  23. A. Natarajan and N. Mittal. Fast concurrent lock-free binary search trees. In 19th PPoPP, pages 317--328, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. E. Petrank and S. Timnat. Lock-free data-structure iterators. In Distributed Computing, pages 224--238. Springer, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Prokopec, N. G. Bronson, P. Bagwell, and M. Odersky. Concurrent tries with efficient non-blocking snapshots. In Acm Sigplan Notices, volume 47, pages 151--160. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. H. Samet. Foundations of multidimensional and metric data structures. Morgan Kaufmann, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. H. Sundell and P. Tsigas. Fast and lock-free concurrent priority queues for multi-thread systems. J. Parallel Distrib. Comput., 65(5):609--627, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. T. Zäschke, C. Zimmerli, and M. C. Norrie. The ph-tree: A space-efficient storage structure and multi-dimensional index. In SIGMOD 2014, pages 397--408, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. K. Zhou, Q. Hou, R. Wang, and B. Guo. Real-time kd-tree construction on graphics hardware. ACM Transactions on Graphics (TOG), 27(5):126, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    ICDCN '18: Proceedings of the 19th International Conference on Distributed Computing and Networking
    January 2018
    494 pages
    ISBN:9781450363723
    DOI:10.1145/3154273

    Copyright © 2018 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 4 January 2018

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited
  • Article Metrics

    • Downloads (Last 12 months)12
    • Downloads (Last 6 weeks)0

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader