Concurrent Linearizable Nearest Neighbour Search in LockFree-kD-tree
Rapport, 2015

The Nearest neighbour search (NNS) is an important problem in a large number of application domains dealing with multidimensional data. In concurrent settings, where dynamic modi?cations are allowed, a linearizable implementation of NNS is highly desirable to discover the latest nearest neighbour of a given target data-point. In this paper, we introduce 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 commonly 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.




nearest neighbor search

concurrent data structure

similarity search


Bapi Chatterjee

Chalmers, Data- och informationsteknik, Nätverk och system

Ivan Walulya

Chalmers, Data- och informationsteknik, Nätverk och system

Philippas Tsigas

Chalmers, Data- och informationsteknik, Nätverk och system


Informations- och kommunikationsteknik




Datavetenskap (datalogi)

Technical report - Department of Computer Science and Engineering, Chalmers University of Technology and Göteborg University

Mer information