Abstract
We introduce the concurrent binary tree (CBT), a novel concurrent representation to build and update arbitrary binary trees in parallel. Fundamentally, our representation consists of a binary heap, i.e., a 1D array, that explicitly stores the sum-reduction tree of a bitfield. In this bitfield, each one-valued bit represents a leaf node of the binary tree encoded by the CBT, which we locate algorithmically using a binary-search over the sum-reduction. We show that this construction allows to dispatch down to one thread per leaf node and that, in turn, these threads can safely split and/or remove nodes concurrently via simple bitwise operations over the bitfield. The practical benefit of CBTs lies in their ability to accelerate binary-tree-based algorithms with parallel processors. To support this claim, we leverage our representation to accelerate a longest-edge-bisection-based algorithm that computes and renders adaptive geometry for large-scale terrains entirely on the GPU. For this specific algorithm, the CBT accelerates processing speed linearly with the number of processors.
Supplemental Material
Available for Download
Supplemental movie, appendix, image and software files for, Concurrent Binary Trees (with application to longest edge bisection)
- Ryoichi Ando, Nils Thürey, and Chris Wojtan. 2013. Highly Adaptive Liquid Simulations on Tetrahedral Meshes. ACM Trans. Graph. 32, 4, Article 103 (July 2013), 10 pages. https://doi.org/10.1145/2461912.2461982Google Scholar
Digital Library
- Ciprian Apetrei. 2014. Fast and Simple Agglomerative LBVH Construction. In Computer Graphics and Visual Computing (CGVC), Rita Borgo and Wen Tang (Eds.). The Eurographics Association. https://doi.org/10.2312/cgvc.20141206Google Scholar
- F. Betul Atalay and David M. Mount. 2007. Pointerless Implementation of Hierarchical Simplicial Meshes and Efficient Neighbor Finding in Arbitrary Dimensions. International Journal of Computational Geometry & Applications 17, 06 (2007), 595--631. https://doi.org/10.1142/S0218195907002495 arXiv:https://doi.org/10.1142/S0218195907002495Google Scholar
Cross Ref
- Eric Bruneton and Fabrice Neyret. 2008. Precomputed Atmospheric Scattering. Computer Graphics Forum 27, 4 (2008), 1079--1086. https://doi.org/10.1111/j. 1467--8659.2008.01245.x arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1111/j. 1467--8659.2008.01245.xGoogle Scholar
Cross Ref
- M. Duchaineau, M. Wolinsky, D. E. Sigeti, M. C. Miller, C. Aldrich, and M. B. Mineev-Weinstein. 1997. ROAMing terrain: Real-time Optimally Adapting Meshes. In Proceedings. Visualization '97 (Cat. No. 97CB36155). 81--88. https://doi.org/10.1109/VISUAL.1997.663860Google Scholar
Cross Ref
- W. Evans, D. Kirkpatrick, and G. Townsend. 2001. Right-Triangulated Irregular Networks. Algorithmica 30, 2 (June 2001), 264--286. https://doi.org/10.1007/s00453-001-0006-xGoogle Scholar
Digital Library
- Kirill Garanzha, Jacopo Pantaleoni, and David McAllister. 2011. Simpler and Faster HLBVH with Work Queues. In Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics (Vancouver, British Columbia, Canada) (HPG '11). Association for Computing Machinery, New York, NY, USA, 59--64. https://doi.org/10.1145/2018323.2018333Google Scholar
Digital Library
- Mark Harris et al. 2007. Optimizing parallel reduction in CUDA. Nvidia developer technology 2, 4 (2007), 70.Google Scholar
- D.J. Hebert. 1994. Symbolic Local Refinement of Tetrahedral Grids. Journal of Symbolic Computation 17, 5 (1994), 457 - 472. https://doi.org/10.1006/jsco.1994.1029Google Scholar
Digital Library
- Tero Karras. 2012. Maximizing Parallelism in the Construction of BVHs, Octrees, and k-d Trees. In Eurographics/ACM SIGGRAPH Symposium on High Performance Graphics, Carsten Dachsbacher, Jacob Munkberg, and Jacopo Pantaleoni (Eds.). The Eurographics Association. https://doi.org/10.2312/EGGH/HPG12/033-037Google Scholar
- Brano Kemen. 2009. Procedural terrain algorithm visualization. https://outerra.blogspot.com/2009/02/procedural-terrain-algorithm.htmlGoogle Scholar
- Peter Lindstrom, David Koller, William Ribarsky, Larry F. Hodges, Nick Faust, and Gregory A. Turner. 1996. Real-Time, Continuous Level of Detail Rendering of Height Fields (SIGGRAPH '96). Association for Computing Machinery, New York, NY, USA, 109--118. https://doi.org/10.1145/237170.237217Google Scholar
Digital Library
- P. Lindstrom and V. Pascucci. 2002. Terrain simplification simplified: a general framework for view-dependent out-of-core visualization. IEEE Transactions on Visualization and Computer Graphics 8, 3 (July 2002), 239--254. https://doi.org/10.1109/TVCG.2002.1021577Google Scholar
Digital Library
- Joseph M. Maubach. 1995. Local Bisection Refinement for N-Simplicial Grids Generated by Reflection. SIAM Journal on Scientific Computing 16, 1 (1995), 210--227. https://doi.org/10.1137/0916014Google Scholar
Digital Library
- Can Özturan. 1996. Worst Case Complexity of Parallel Triangular Mesh Refinement by Longest Edge Bisection. Technical Report. Institute for Computer Applications in Science and Engineering.Google Scholar
- M. Cecilia Rivara. 1984. Algorithms for refining triangular grids suitable for adaptive and multigrid techniques. Internat. J. Numer. Methods Engrg. 20, 4 (1984), 745--756. https://doi.org/10.1002/nme.1620200412 arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/nme.1620200412Google Scholar
Cross Ref
- Luiz Velho. 2000. Semi-Regular 4-8 Refinement and Box Spline Surfaces. In Proceedings of the 13th Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI '00). IEEE Computer Society, USA, 131--138.Google Scholar
Digital Library
- Luiz Velho and Denis Zorin. 2001. 4--8 Subdivision. Computer Aided Geometric Design 18, 5 (2001), 397--427. https://doi.org/10.1016/S0167-8396(01)00039-5 Subdivision Algorithms.Google Scholar
Digital Library
- K. Weiss and L. De Floriani. 2011. Simplex and Diamond Hierarchies: Models and Applications. 2127--2155 pages. https://doi.org/10.1111/j. 1467-8659.2011.01853.x arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1467-8659.2011.01853.xGoogle Scholar
- M. Adil Yalcin, Kenneth Weiss, and Leila De Floriani. 2011. GPU Algorithms for Diamond-based Multiresolution Terrain Processing. In Eurographics Symposium on Parallel Graphics and Visualization, Torsten Kuhlen, Renato Pajarola, and Kun Zhou (Eds.). The Eurographics Association. https://doi.org/10.2312/EGPGV/EGPGV11/121-130Google Scholar
Index Terms
Concurrent Binary Trees (with application to longest edge bisection)
Recommendations
Implementing parallel and concurrent tree structures
PPoPP '19: Proceedings of the 24th Symposium on Principles and Practice of Parallel ProgrammingAs one of the most important data structures used in algorithm design and programming, balanced search trees are widely used in real-world applications for organizing data. Answering the challenges thrown up by modern large-volume and ever-changing data,...
Parallel algorithms for computing the smallest binary tree size in unit simplex refinement
Refinement of the unit simplex by iterative longest edge bisection (LEB) up to sub-simplices have a size smaller or equal to a given accuracy, generates a binary tree. For a dimension higher than three, the size of the generated tree depends on the ...
On subtrees of trees
We study that over a certain type of trees (e.g., all trees or all binary trees) with a given number of vertices, which trees minimize or maximize the total number of subtrees (or subtrees with at least one leaf). Trees minimizing the total number of ...






Comments