{"oa":1,"date_updated":"2023-08-10T14:27:43Z","title":"Concurrent linearizable nearest neighbour search in LockFree-kD-tree","publication_identifier":{"issn":["0304-3975"]},"user_id":"4359f0d1-fa6c-11eb-b949-802e58b17ae8","doi":"10.1016/j.tcs.2021.06.041","external_id":{"isi":["000694718900004"]},"isi":1,"main_file_link":[{"open_access":"1","url":"https://publications.lib.chalmers.se/records/fulltext/232185/232185.pdf"}],"publication":"Theoretical Computer Science","department":[{"_id":"DaAl"}],"author":[{"orcid":"0000-0002-2742-4028","last_name":"Chatterjee","full_name":"Chatterjee, Bapi","id":"3C41A08A-F248-11E8-B48F-1D18A9856A87","first_name":"Bapi"},{"first_name":"Ivan","full_name":"Walulya, Ivan","last_name":"Walulya"},{"last_name":"Tsigas","full_name":"Tsigas, Philippas","first_name":"Philippas"}],"publication_status":"published","month":"09","date_created":"2021-08-08T22:01:31Z","abstract":[{"text":"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 (Image 1 ) 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.","lang":"eng"}],"article_type":"original","status":"public","oa_version":"Submitted Version","date_published":"2021-09-13T00:00:00Z","_id":"9827","citation":{"chicago":"Chatterjee, Bapi, Ivan Walulya, and Philippas Tsigas. “Concurrent Linearizable Nearest Neighbour Search in LockFree-KD-Tree.” Theoretical Computer Science. Elsevier, 2021. https://doi.org/10.1016/j.tcs.2021.06.041.","apa":"Chatterjee, B., Walulya, I., & Tsigas, P. (2021). Concurrent linearizable nearest neighbour search in LockFree-kD-tree. Theoretical Computer Science. Elsevier. https://doi.org/10.1016/j.tcs.2021.06.041","short":"B. Chatterjee, I. Walulya, P. Tsigas, Theoretical Computer Science 886 (2021) 27–48.","ista":"Chatterjee B, Walulya I, Tsigas P. 2021. Concurrent linearizable nearest neighbour search in LockFree-kD-tree. Theoretical Computer Science. 886, 27–48.","mla":"Chatterjee, Bapi, et al. “Concurrent Linearizable Nearest Neighbour Search in LockFree-KD-Tree.” Theoretical Computer Science, vol. 886, Elsevier, 2021, pp. 27–48, doi:10.1016/j.tcs.2021.06.041.","ieee":"B. Chatterjee, I. Walulya, and P. Tsigas, “Concurrent linearizable nearest neighbour search in LockFree-kD-tree,” Theoretical Computer Science, vol. 886. Elsevier, pp. 27–48, 2021.","ama":"Chatterjee B, Walulya I, Tsigas P. Concurrent linearizable nearest neighbour search in LockFree-kD-tree. Theoretical Computer Science. 2021;886:27-48. doi:10.1016/j.tcs.2021.06.041"},"type":"journal_article","article_processing_charge":"No","volume":886,"quality_controlled":"1","year":"2021","scopus_import":"1","language":[{"iso":"eng"}],"page":"27-48","intvolume":" 886","day":"13","publisher":"Elsevier","keyword":["Concurrent data structure","kD-tree","Nearest neighbor search","Similarity search","Lock-free","Linearizability"]}