Concurrent linearizable nearest neighbour search in LockFree-kD-tree
Artikel i vetenskaplig tidskrift, 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

Författare

Bapi Chatterjee

Institute of Science and Technology Austria

Ivan Walulya

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

Philippas Tsigas

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

Theoretical Computer Science

0304-3975 (ISSN)

Vol. 886 27-48

Ämneskategorier

Språkteknologi (språkvetenskaplig databehandling)

Bioinformatik (beräkningsbiologi)

Datorsystem

DOI

10.1016/j.tcs.2021.06.041

Mer information

Senast uppdaterat

2021-09-16