1. Concurrent linearizable nearest neighbour search in LockFree-kD-tree
- Author
-
Ivan Walulya, Bapi Chatterjee, and Philippas Tsigas
- Subjects
Structure (mathematical logic) ,Linearizability ,Theoretical computer science ,General Computer Science ,Concurrent data structure ,Computer science ,Nearest neighbor search ,020207 software engineering ,0102 computer and information sciences ,02 engineering and technology ,Data structure ,Abstract data type ,01 natural sciences ,Theoretical Computer Science ,k-d tree ,010201 computation theory & mathematics ,Scalability ,0202 electrical engineering, electronic engineering, information engineering ,Non-blocking algorithm - 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 the 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 ( ) 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.
- Published
- 2021