z-logo
open-access-imgOpen Access
Concurrent Binary Trees (with application to longest edge bisection)
Author(s) -
Jonathan Dupuy
Publication year - 2020
Publication title -
proceedings of the acm on computer graphics and interactive techniques
Language(s) - English
Resource type - Journals
ISSN - 2577-6193
DOI - 10.1145/3406186
Subject(s) - binary tree , computer science , parallel computing , binary number , bitmap , random binary tree , thread (computing) , binary search tree , optimal binary search tree , algorithm , heap (data structure) , theoretical computer science , mathematics , tree structure , k ary tree , arithmetic , operating system , computer vision
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 algorithm 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.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom