The problem consists in counting the number of nodes in an implicitly constructed tree that is parameterized in shape, depth, size and imbalance [1]. UTS trees are generated using a process, in which the number of children of a node is a random variable with a given distribution.
Our implementation supports binomial trees, i.e. each node has
./main_uts.out {...}
where the available options are:
-
--t
: tree type0
: binary (default)1
: geometric2
: hybrid3
: balanced
-
--m
: number of children per node in binary trees- any positive integer (
2
by default)
- any positive integer (
-
--q
: probability of having child nodes in binary trees- any real number between
0.0
and1.0
(0.499995
by default)
- any real number between
-
--b
: root branching factor- any positive integer (
2000
by default)
- any positive integer (
-
--r
: seed for RNG state at root- any positive integer (
0
by default)
- any positive integer (
-
--g
: instance granularity- any positive integer (
1
by default)
- any positive integer (
sample_trees_UTS.sh
contains sample workloads for UTS, along with the tree statistics.
- S. Olivier, J. Huan, J. Liu, et al. (2007) UTS: An Unbalanced Tree Search Benchmark. 19th International Workshop on Languages and Compilers for Parallel Computing. DOI: 10.1007/978-3-540-72521-3_18.