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.
- https://www.census.gov/geo/maps-data/data/tiger.html.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- J. L. Bentley. Multidimensional binary search trees used for associative searching. CACM, 18(9):509--517, 1975. Google Scholar
Digital Library
- N. G. Bronson, J. Casper, H. Chafi, and K. Olukotun. A practical concurrent binary search tree. SIGPLAN Not., 45(5):257--268, 2010. Google Scholar
Digital Library
- T. Brown and H. Avni. Range Queries in Non-blocking k-ary Search Trees, pages 31--45. Springer Berlin Heidelberg, 2012.Google Scholar
- B. Chatterjee. CKDTree. In https://tinyurl.com/hl3oktt.Google Scholar
- B. Chatterjee. Concurrent linearizable nearest neighbour search in lockfree-kd-tree. Technical Report 2015:08, ISNN 1652--926X, Chalmers University of Technology, 2015.Google Scholar
- B. Chatterjee. Lock-free linearizable 1-dimensional range queries. In 18th ICDCN, pages 9--18. ACM, 2017. Google Scholar
Digital Library
- B. Chatterjee, N. Nguyen, and P. Tsigas. Efficient lock-free binary search trees. In 33rd PODC, pages 322--331, 2014. Google Scholar
Digital Library
- M. Dubois and C. Scheurich. Memory access dependencies in shared-memory multiprocessors. Software Engineering, IEEE Transactions on, 16(6):660--673, 1990. Google Scholar
Digital Library
- F. Ellen, P. Fatourou, E. Ruppert, and F. van Breugel. Non-blocking binary search trees. In 29th PODC, pages 131--140, 2010. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- T. L. Harris. A pragmatic implementation of non-blocking linked-lists. In DISC, volume 1, pages 300--314. Springer, 2001. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- S. V. Howley and J. Jones. A non-blocking internal binary search tree. In 24th SPAA, pages 161--171, 2012. Google Scholar
Digital Library
- J. Ichnowski and R. Alterovitz. Scalable multicore motion planning using lock-free concurrency. Robotics, IEEE Transactions on, 30(5):1123--1136, 2014.Google Scholar
- S. D. Levy. KDTree. In edu.wlu.cs.levy.CG.KDTree.Google Scholar
- 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 Scholar
Digital Library
- A. W. Moore. Efficient memory-based learning for robot control. Technical Report 209, University of Cambridge, 1991.Google Scholar
- D. M. Mount and S. Arya. Ann: a library for approximate nearest neighbor searching. http://www.cs.umd.edu/~mount/ANN/, 1998.Google Scholar
- A. Natarajan and N. Mittal. Fast concurrent lock-free binary search trees. In 19th PPoPP, pages 317--328, 2014. Google Scholar
Digital Library
- E. Petrank and S. Timnat. Lock-free data-structure iterators. In Distributed Computing, pages 224--238. Springer, 2013. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- H. Samet. Foundations of multidimensional and metric data structures. Morgan Kaufmann, 2006. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Recommendations
Concurrent linearizable nearest neighbour search in LockFree-kD-tree
Highlights- The included proof is generic and presents a useful contour for proving correctness – linearizability and lock-freedom – of similar data structures.
AbstractThe 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 the NNS is ...
A simple and practical concurrent non-blocking unbounded graph with linearizable reachability queries
ICDCN '19: Proceedings of the 20th International Conference on Distributed Computing and NetworkingGraph algorithms applied in many applications, including social networks, communication networks, VLSI design, graphics, and several others, require dynamic modifications - addition and removal of vertices and/or edges - in the graph. This paper ...
Lock-free Linearizable 1-Dimensional Range Queries
ICDCN '17: Proceedings of the 18th International Conference on Distributed Computing and NetworkingEfficient concurrent data structures that support range queries are highly sought-after in a number of application areas. For example, the contemporary big-data processing platforms employ them as in-memory index structures for fast and scalable real-...




Comments