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