UFO Trees: Practical and Provably-Efficient Parallel Batch-Dynamic Trees
Quinten De Man, Atharva Sharma, Kishen N Gowda, Laxman Dhulipala
TL;DR
This paper tackles maintaining dynamic forests under edge updates while supporting rich queries, a problem where traditional link-cut trees lack parallel batch capabilities. It introduces UFO trees, a parallel batch-dynamic tree structure based on unbounded fan-out contraction that achieves work-efficient updates and poly-log depth, while providing extensive query support akin to RC/topology trees. The authors prove diameter-related performance advantages, develop batch-update algorithms for both topology and UFO trees, and demonstrate through extensive experiments that UFO trees offer superior practical performance and scalable memory usage, even approaching billion-scale inputs. Overall, UFO trees offer a robust, scalable building block for dynamic graph algorithms in practice, with strong theoretical guarantees and broad applicability.
Abstract
The dynamic trees problem is to maintain a tree under edge updates while supporting queries like connectivity queries or path queries. Despite the first data structure for this fundamental problem -- the link-cut tree -- being invented 40 years ago, our experiments reveal that they are still the fastest sequential data structure for the problem. However, link-cut trees cannot support parallel batch-dynamic updates and have limitations on the kinds of queries they support. In this paper, we design a new parallel batch-dynamic trees data structure called UFO trees that simultaneously supports a wide range of query functionality, supports work-efficient parallel batch-dynamic updates, and is competitive with link-cut trees when run sequentially. We prove that a key reason for the strong practical performance of both link-cut trees and UFO trees is that they can perform updates and queries in sub-logarithmic time for low-diameter trees. We perform an experimental study of our optimized C++ implementations of UFO trees with ten other dynamic tree implementations, several of which are new, in a broad benchmark of both synthetic and real-world trees of varying diameter and size. Our results show that, in both sequential and parallel settings, UFO trees are the fastest dynamic tree data structure that supports a wide range of queries. Our new implementation of UFO trees has low space usage and easily scales to billion-size inputs, making it a promising building block for implementing more complex dynamic graph algorithms in practice.
