Concurrent linearizable nearest neighbour search in LockFree-kD-tree
Journal article, 2021

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 ([Formula presented] ) 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.

Linearizability

kD-tree

Similarity search

Lock-free

Nearest neighbour search

Concurrent data structure

Author

Bapi Chatterjee

Institute of Science and Technology Austria

Ivan Walulya

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

Philippas Tsigas

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

Theoretical Computer Science

0304-3975 (ISSN)

Vol. 886 27-48

Subject Categories

Language Technology (Computational Linguistics)

Bioinformatics (Computational Biology)

Computer Systems

DOI

10.1016/j.tcs.2021.06.041

More information

Latest update

9/16/2021