Browse > Article
http://dx.doi.org/10.7583/JKGS.2020.20.5.53

HD-Tree: High performance Lock-Free Nearest Neighbor Search KD-Tree  

Lee, Sang-gi (Dept. of Digital Entertainment, Korea Polytechnic Univ.)
Jung, NaiHoon (Dept. of Game & Multimedia Engineering, Korea Polytechnic Univ.)
Abstract
Supporting NNS method in KD-Tree algorithm is essential in multidimensional data applications. In this paper, we propose HD-Tree, a high-performance Lock-Free KD-Tree that supports NNS in situations where reads and writes occurs concurrently. HD-Tree reduced the number of synchronization nodes used in NNS and requires less atomic operations during Lock-Free method execution. Comparing with existing algorithms, in a multi-core system with 8 core 16 thread, HD-Tree's performance has improved up to 95% on NNS and 15% on modifying in oversubscription situation.
Keywords
KD-Tree; Lock-Free; Data structure; Nearest Neighbor Search;
Citations & Related Records
연도 인용수 순위
  • Reference
1 B. Chatterjee, I. Walulya, and P. Tsigas. "Concurrent linearizable nearest neighbour search in lockfree-kd-tree". ICDCN '18: Proceedings of the 19th International Conference on Distributed Computing and Networking, 2018.
2 A. Natarajan, A. Ramachandran and N. Mittal. "FEAST: A Lightweight Lock-free Concurrent Binary Search Tree". ACM Transactions on Parallel Computing. 2020.
3 H. Wen, J. Izraelevitz, W. Cai, H. A. Beadle and M. L. Scott. "Interval-based memory reclamation". ACM SIGPLAN Notices. 2018.
4 Steam Hardware&Software Survey: July 2020. https://store.steampowered.com/hwsurvey/cpus/
5 M. Herlihy and N. Shavit. "The Art of Multiprocessor Programming Revised Reprint". Morgan Kaufmann, 2012.
6 J. L. Bentley. "Multidimensional binary search trees used for associative searching". CACM, vol. 18, no. 9, pp. 509-517, 1975.   DOI
7 M. Herlihy. "Wait-Free Synchronization". ACM Transactions on Programming Languages and Systems (TOPLAS), 13 (1): 124-149, Jan. 1991.   DOI
8 D. Dechev, P. Pirkelbauer and B. Stroustrup. "Understanding and Effectively Preventing the ABA Problem in Descriptor-based Lock-free Designs". 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, 2010.
9 M. Michael, "Hazard pointers: Safe memory reclamation for lock-free objects", IEEE Transactions on Parallel and Distributed Systems, 15 (6): 491-504. 2004.   DOI
10 F. Ellen, P. Fatourou, E. Ruppert, and F. van Breugel. "Non-blocking binary search trees". In Proceedings of the 29th ACM Symposium on Principles of Distributed Computing (PODC'10). ACM, New York, NY, 131-140. 2010.
11 T. Brown, F. Ellen, and E. Ruppert. "A general technique for non-blocking trees". In Proceedings of the 19th ACM Symposium on Principles and Practice of Parallel Programming (PPoPP'14). ACM, New York, NY, 329-342. 2014.