Professional Documents
Culture Documents
LockFree-kD-tree ∗
05 05 90
2.0
k=106
2 1.5
1 1.0
0.5
0 0.0
2.5
25 25 50
2.0
k=106
2 1.5
1 1.0
0.5
0 0.0
50 50 00
2.0
2
k=106
Throughput (ops/µs)
1.5
1 1.0
0.5
2.5
05 05 90
2.0
k=107
2
1.5
1 1.0
0.5
0 0.0
25 25 50
2.0
2
k=107
1.5
1 1.0
0.5
0 0.0
2.5 2.5
50 50 00
2.0 2.0
k=107
1.5 1.5
1.0 1.0
0.5 0.5
0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
Threads (2x) Threads (2x)
LFKD LFKD(SC NNS) Levy Kd Ph tree
Figure 4: Performance on the SKEWED(6) and CLUSTER datasets. A column corresponds to the dimensionality.
bour search is generic and can be adapted to other multidi- Efficient and reliable lock-free memory reclamation based on
mensional data structures. We plan to design lock-free data reference counting. IEEE Transactions on Parallel and
structures which are suitable for nearest neighbour search in Distributed Systems, 20(8):1173–1187, 2009.
high dimensions, such as the ball-tree [20]. We also plan to [15] T. L. Harris. A pragmatic implementation of non-blocking
linked-lists. In DISC, volume 1, pages 300–314. Springer, 2001.
extend our work to k-nearest neighbour (kNN) search. [16] M. P. Herlihy and J. M. Wing. Linearizability: A correctness
condition for concurrent objects. ACM Transactions on
6 References Programming Languages and Systems (TOPLAS),
12(3):463–492, 1990.
[1] https://www.census.gov/geo/maps-data/data/tiger.html. [17] S. V. Howley and J. Jones. A non-blocking internal binary
[2] L. Arge, M. D. Berg, H. Haverkort, and K. Yi. The priority search tree. In 24th SPAA, pages 161–171, 2012.
r-tree: A practically efficient and worst-case optimal r-tree. [18] J. Ichnowski and R. Alterovitz. Scalable multicore motion
ACM Trans. Algorithms, 4(1):9:1–9:30, 2008. planning using lock-free concurrency. Robotics, IEEE
[3] S. Arya and H.-Y. A. Fu. Expected-case complexity of Transactions on, 30(5):1123–1136, 2014.
approximate nearest neighbor searching. SIAM Journal on [19] S. D. Levy. KDTree. In edu.wlu.cs.levy.CG.KDTree.
Computing, 32(3):793–815, 2003. [20] T. Liu, A. W. Moore, and A. Gray. New algorithms for efficient
[4] J. L. Bentley. Multidimensional binary search trees used for high-dimensional nonparametric classification. Journal of
associative searching. CACM, 18(9):509–517, 1975. Machine Learning Research, 7(Jun):1135–1158, 2006.
[5] N. G. Bronson, J. Casper, H. Chafi, and K. Olukotun. A [21] A. W. Moore. Efficient memory-based learning for robot
practical concurrent binary search tree. SIGPLAN Not., control. Technical Report 209, University of Cambridge, 1991.
45(5):257–268, 2010. [22] D. M. Mount and S. Arya. Ann: a library for approximate
[6] T. Brown and H. Avni. Range Queries in Non-blocking k-ary nearest neighbor searching.
Search Trees, pages 31–45. Springer Berlin Heidelberg, 2012. http:// www.cs.umd.edu/ ˜mount/ ANN/ , 1998.
[7] B. Chatterjee. CKDTree. In https:// tinyurl.com/ hl3oktt. [23] A. Natarajan and N. Mittal. Fast concurrent lock-free binary
[8] B. Chatterjee. Concurrent linearizable nearest neighbour search search trees. In 19th PPoPP, pages 317–328, 2014.
in lockfree-kd-tree. Technical Report 2015:08, ISNN 1652-926X, [24] E. Petrank and S. Timnat. Lock-free data-structure iterators.
Chalmers University of Technology, 2015. In Distributed Computing, pages 224–238. Springer, 2013.
[9] B. Chatterjee. Lock-free linearizable 1-dimensional range [25] A. Prokopec, N. G. Bronson, P. Bagwell, and M. Odersky.
queries. In 18th ICDCN, pages 9–18. ACM, 2017. Concurrent tries with efficient non-blocking snapshots. In Acm
[10] B. Chatterjee, N. Nguyen, and P. Tsigas. Efficient lock-free Sigplan Notices, volume 47, pages 151–160. ACM, 2012.
binary search trees. In 33rd PODC, pages 322–331, 2014. [26] H. Samet. Foundations of multidimensional and metric data
[11] M. Dubois and C. Scheurich. Memory access dependencies in structures. Morgan Kaufmann, 2006.
shared-memory multiprocessors. Software Engineering, IEEE [27] H. Sundell and P. Tsigas. Fast and lock-free concurrent priority
Transactions on, 16(6):660–673, 1990. queues for multi-thread systems. J. Parallel Distrib. Comput.,
[12] F. Ellen, P. Fatourou, E. Ruppert, and F. van Breugel. 65(5):609–627, 2005.
Non-blocking binary search trees. In 29th PODC, pages [28] T. Zäschke, C. Zimmerli, and M. C. Norrie. The ph-tree: A
131–140, 2010. space-efficient storage structure and multi-dimensional index.
[13] J. H. Friedman, J. L. Bentley, and R. A. Finkel. An algorithm In SIGMOD 2014, pages 397–408, 2014.
for finding best matches in logarithmic expected time. [29] K. Zhou, Q. Hou, R. Wang, and B. Guo. Real-time kd-tree
Transactions on Mathematical Software (TOMS), construction on graphics hardware. ACM Transactions on
3(3):209–226, 1977. Graphics (TOG), 27(5):126, 2008.
[14] A. Gidenstam, M. Papatriantafilou, H. Sundell, and P. Tsigas.