## SIAM J. SCI. COMPUT. Vol. 30, No. 5, pp. 2675–2708 c ○ 2008 Society for Industrial and Applied Mathematics BOTTOM-UP CONSTRUCTION AND 2:1 BALANCE REFINEMENT OF LINEAR OCTREES IN PARALLEL ∗

### BibTeX

@MISC{Sundar_siamj.,

author = {Hari Sundar and Rahul S. Sampath and George Biros},

title = {SIAM J. SCI. COMPUT. Vol. 30, No. 5, pp. 2675–2708 c ○ 2008 Society for Industrial and Applied Mathematics BOTTOM-UP CONSTRUCTION AND 2:1 BALANCE REFINEMENT OF LINEAR OCTREES IN PARALLEL ∗},

year = {}

}

### OpenURL

### Abstract

Abstract. In this article, we propose new parallel algorithms for the construction and 2:1 balance refinement of large linear octrees on distributed memory machines. Such octrees are used in many problems in computational science and engineering, e.g., object representation, image analysis, unstructured meshing, finite elements, adaptive mesh refinement, and N-body simulations. Fixed-size scalability and isogranular analysis of the algorithms using an MPI-based parallel implementation was performed on a variety of input data and demonstrated good scalability for different processor counts (1 to 1024 processors) on the Pittsburgh Supercomputing Center’s TCS-1 AlphaServer. The results are consistent for different data distributions. Octrees with over a billion octants were constructed and balanced in less than a minute on 1024 processors. Like other existing algorithms for constructing and balancing octrees, our algorithms have O(N log N) work and O(N) storage complexity. Under reasonable assumptions on the distribution of octants and the work per octant, the parallel time complexity is O ( N np number of processors. log( N np)+np log np), where N is the size of the final linear octree and np is the

### Citations

506 |
Introdu to Parallel Computing - Design and Analysis of Algorithms. The Benjamin/Cummings Publishing Company
- Kumar
- 1994
(Show Context)
Citation Context ...lity. Remark. The main parallel cost of the algorithm is that related to the parallel sorts that run in O(N log N) work and O( N N log( np np )+np log(np)) time, assuming uniformly distributed points =-=[12]-=-. In the following sections we present several algorithms for which we give precise work and storage complexity. For some of the parallel algorithms we also give time complexity estimates; this corres... |

456 | The quadtree and related hierarchical data structures
- Samet
- 1984
(Show Context)
Citation Context ...commonly used for partitioning 2- and 3-dimensional domains, respectively; they use axis-aligned lines and planes, respectively. These tree data structures have been in use for over three decades now =-=[9, 23]-=-. However, design and use of large scale distributed tree data structures that scale to thousands of processors is still a major challenge and is an area of active research even today [4, 7, 10, 14, 1... |

292 |
Quad trees: a data structure for retrieval on composite keys
- Finkel, Bentley
- 1974
(Show Context)
Citation Context ...computing: they can be used as algorithmic foundations for adaptive finite element methods [3, 17], adaptive mesh refinement methods [14, 22], and many-body algorithms [15, 30, 35, 37, 38]. Quadtrees =-=[9]-=- and octrees [19] are hierarchical data structures commonly used for partitioning 2- and 3-dimensional domains, respectively; they use axis-aligned lines and planes, respectively. These tree data stru... |

241 |
Introduction to algorithms
- Corman, Leiserson, et al.
- 1990
(Show Context)
Citation Context ...mplete octrees as octrees in which every interior node has exactly eight child nodes. We will frequently use the equivalence of these two definitions. There are many different ways to represent trees =-=[8]-=-. In this work, we will use a linearized representation of octrees known as linear octrees. In this representation, we discard the interior nodes and only store the complete list of leaves. This repre... |

182 |
Automatic three-dimensional mesh generation by the finite octree technique
- Shephard, Georges
- 1991
(Show Context)
Citation Context ...ing from coarse to fine elements. However, generating large unstructured meshes is a challenging task [27]. On the contrary, octree-based unstructured hexahedral meshes can be constructed efficiently =-=[5, 13, 24, 25, 26, 33]-=-. Although they are not suitable for highly complicated geometries, they provide a good compromise between adaptivity and simplicity for numerous applications like solid modeling [19], object represen... |

122 |
Geometric modeling using octree encoding
- Meagher
- 1982
(Show Context)
Citation Context ...can be used as algorithmic foundations for adaptive finite element methods [3, 17], adaptive mesh refinement methods [14, 22], and many-body algorithms [15, 30, 35, 37, 38]. Quadtrees [9] and octrees =-=[19]-=- are hierarchical data structures commonly used for partitioning 2- and 3-dimensional domains, respectively; they use axis-aligned lines and planes, respectively. These tree data structures have been ... |

120 | Tetrahedral mesh generation by delaunay refinement
- Shewchuk
- 1998
(Show Context)
Citation Context ...er uniform discretizations because they can be used with complicated domains and permit rapid grading from coarse to fine elements. However, generating large unstructured meshes is a challenging task =-=[27]-=-. On the contrary, octree-based unstructured hexahedral meshes can be constructed efficiently [5, 13, 24, 25, 26, 33]. Although they are not suitable for highly complicated geometries, they provide a ... |

88 | Astrophysical N-body simulations using hierarchical tree data structures - Warren, Salmon - 1992 |

74 | Accurate triangulations of deformed, intersecting surfaces - Herzen, Barr |

60 | Parallel construction of quadtrees and quality triangulations
- Bern, Eppstein, et al.
- 1999
(Show Context)
Citation Context ...ades now [9, 23]. However, design and use of large scale distributed tree data structures that scale to thousands of processors is still a major challenge and is an area of active research even today =-=[4, 7, 10, 14, 15, 30, 34, 35, 36, 37, 38]-=-. Octrees and quadtrees are usually employed while solving the following two types of problems. • Searching: Searches within a domain using d-trees (d-dimensional trees with a maximum of 2 d children ... |

51 | Gerris: a tree-based adaptive solver for the incompressible Euler equations in complex geometries
- Popinet
- 2003
(Show Context)
Citation Context ...f the d-dimensional cube have important applications in scientific computing: they can be used as algorithmic foundations for adaptive finite element methods [3, 17], adaptive mesh refinement methods =-=[14, 22]-=-, and many-body algorithms [15, 30, 35, 37, 38]. Quadtrees [9] and octrees [19] are hierarchical data structures commonly used for partitioning 2- and 3-dimensional domains, respectively; they use axi... |

49 |
The SCEC Southern California reference three-dimensional seismic velocity model version 2
- Magistrale, Day, et al.
- 2000
(Show Context)
Citation Context ...dtree. Tu, O’Hallaron, and Ghattas [34] proposed a more promising approach, which was evaluated on large octrees. They constructed and balanced 1.22B octants for the Greater Los Angeles basin dataset =-=[18]-=- on 2000 processors in about 300 seconds. This experiment was performed on the TCS-1 terascale computing HP AlphaServer Cluster at the Pittsburgh Supercomputing Center. In contrast, we construct and b... |

47 | A kernel-independent adaptive fast multipole algorithm in two and three dimensions
- Ying, Biros, et al.
- 2004
(Show Context)
Citation Context ...tant applications in scientific computing: they can be used as algorithmic foundations for adaptive finite element methods [3, 17], adaptive mesh refinement methods [14, 22], and many-body algorithms =-=[15, 30, 35, 37, 38]-=-. Quadtrees [9] and octrees [19] are hierarchical data structures commonly used for partitioning 2- and 3-dimensional domains, respectively; they use axis-aligned lines and planes, respectively. These... |

44 | Parallel multigrid in an adaptive PDE solver based on hashing and space-filling curves. Parallel Computing 25
- Griebel, Zumbusch
- 1999
(Show Context)
Citation Context ...f the d-dimensional cube have important applications in scientific computing: they can be used as algorithmic foundations for adaptive finite element methods [3, 17], adaptive mesh refinement methods =-=[14, 22]-=-, and many-body algorithms [15, 30, 35, 37, 38]. Quadtrees [9] and octrees [19] are hierarchical data structures commonly used for partitioning 2- and 3-dimensional domains, respectively; they use axi... |

39 |
A grid-based algorithm for the generation of hexahedral element meshes
- Schneiders
- 1996
(Show Context)
Citation Context ...ing from coarse to fine elements. However, generating large unstructured meshes is a challenging task [27]. On the contrary, octree-based unstructured hexahedral meshes can be constructed efficiently =-=[5, 13, 24, 25, 26, 33]-=-. Although they are not suitable for highly complicated geometries, they provide a good compromise between adaptivity and simplicity for numerous applications like solid modeling [19], object represen... |

30 | Adaptive, multiresolution visualization of large data sets using a distributed memory octree
- Freitag, Loy
- 1999
(Show Context)
Citation Context ...ades now [9, 23]. However, design and use of large scale distributed tree data structures that scale to thousands of processors is still a major challenge and is an area of active research even today =-=[4, 7, 10, 14, 15, 30, 34, 35, 36, 37, 38]-=-. Octrees and quadtrees are usually employed while solving the following two types of problems. • Searching: Searches within a domain using d-trees (d-dimensional trees with a maximum of 2 d children ... |

29 |
Object Representation by Means of Nonminimal Division Quad trees and Octrees
- Ayala, Brunet, et al.
- 1985
(Show Context)
Citation Context ...ugh they are not suitable for highly complicated geometries, they provide a good compromise between adaptivity and simplicity for numerous applications like solid modeling [19], object representation =-=[1, 6]-=-, visualization [10], image segmentation [29], adaptive mesh refinement [14, 22], and N-body simulations [15, 30, 35, 37, 38]. Octree data structures used in discretizations of partial differential eq... |

29 |
Provably good partitioning and load balancing algorithms for parallel adaptive N-body simulation
- Teng
- 1998
(Show Context)
Citation Context ...tant applications in scientific computing: they can be used as algorithmic foundations for adaptive finite element methods [3, 17], adaptive mesh refinement methods [14, 22], and many-body algorithms =-=[15, 30, 35, 37, 38]-=-. Quadtrees [9] and octrees [19] are hierarchical data structures commonly used for partitioning 2- and 3-dimensional domains, respectively; they use axis-aligned lines and planes, respectively. These... |

28 | Simple and efficient traversal methods for quadtrees and octrees
- Frisken, Perry
- 2002
(Show Context)
Citation Context ...ros@seas.upenn.edu). 2675 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited.2676 HARI SUNDAR, RAHUL S. SAMPATH, AND GEORGE BIROS plexity of the search from O(n) toO(log n) =-=[11, 21]-=-. • Spatial decomposition: Unstructured meshes are often preferred over uniform discretizations because they can be used with complicated domains and permit rapid grading from coarse to fine elements.... |

28 |
Multidimensional range search in dynamically balanced trees1
- Tropf, Herzog
- 1981
(Show Context)
Citation Context ...epresentations (Dmax bits each) of the three coordinates of the octant’s anchor, and then appending the binary representation ((⌊(log2 Dmax)⌋ + 1) bits) of the octant’s level to this sequence of bits =-=[4, 7, 31, 34]-=-. Interesting properties of the Morton encoding scheme are listed in Appendix A. In the rest of the paper the terms lesser and greater and the symbols < and > are used to compare octants based on thei... |

24 | Octreebased generation of hexahedral element meshes
- Schneiders, Schindler, et al.
(Show Context)
Citation Context ...ing from coarse to fine elements. However, generating large unstructured meshes is a challenging task [27]. On the contrary, octree-based unstructured hexahedral meshes can be constructed efficiently =-=[5, 13, 24, 25, 26, 33]-=-. Although they are not suitable for highly complicated geometries, they provide a good compromise between adaptivity and simplicity for numerous applications like solid modeling [19], object represen... |

23 |
PETSc Web
- Balay, Buschelman, et al.
(Show Context)
Citation Context ...the MPI library. A variant of the sample sort algorithm was used to sort the points and the octants, which incorporates a parallel bitonic sort to sort the sample elements as suggested in [12]. PETSc =-=[2]-=- was used for profiling the code. All tests were performed on the Pittsburgh Supercomputing Center’s TCS-1 terascale computing HP AlphaServer Cluster comprising 750 22 We are assuming that both approa... |

22 | A new parallel kernel-independent fast multipole method
- Ying, Biros, et al.
- 2003
(Show Context)
Citation Context ...tant applications in scientific computing: they can be used as algorithmic foundations for adaptive finite element methods [3, 17], adaptive mesh refinement methods [14, 22], and many-body algorithms =-=[15, 30, 35, 37, 38]-=-. Quadtrees [9] and octrees [19] are hierarchical data structures commonly used for partitioning 2- and 3-dimensional domains, respectively; they use axis-aligned lines and planes, respectively. These... |

21 |
Solid representation and operation using extended octrees
- Brunet, Navazo
- 1990
(Show Context)
Citation Context ...ugh they are not suitable for highly complicated geometries, they provide a good compromise between adaptivity and simplicity for numerous applications like solid modeling [19], object representation =-=[1, 6]-=-, visualization [10], image segmentation [29], adaptive mesh refinement [14, 22], and N-body simulations [15, 30, 35, 37, 38]. Octree data structures used in discretizations of partial differential eq... |

20 | The cost of balancing generalized quadtrees
- Moore
- 1995
(Show Context)
Citation Context ...quadtrees (maximum of four children per node) in two dimensions. A node with no children is called a leaf and a node with one 3There exists a unique least common balance refinement for a given octree =-=[20]-=-. 4When we discuss communication costs, we assume a hypercube network topology with Θ(np) bisection width. Copyright © by SIAM. Unauthorized reproduction of this article is prohibited.2678 HARI SUNDA... |

19 | Scalable parallel octree meshing for terascale applications
- Tu, O’Hallaron, et al.
- 2005
(Show Context)
Citation Context ...ades now [9, 23]. However, design and use of large scale distributed tree data structures that scale to thousands of processors is still a major challenge and is an area of active research even today =-=[4, 7, 10, 14, 15, 30, 34, 35, 36, 37, 38]-=-. Octrees and quadtrees are usually employed while solving the following two types of problems. • Searching: Searches within a domain using d-trees (d-dimensional trees with a maximum of 2 d children ... |

17 | Dynamic octree load balancing using space-filling curves
- Campbell, Devine, et al.
- 2003
(Show Context)
Citation Context |

17 |
Three-dimensional Image Segmentation Using a Split, Merge and Group Approach
- Strasters
- 1991
(Show Context)
Citation Context ...d geometries, they provide a good compromise between adaptivity and simplicity for numerous applications like solid modeling [19], object representation [1, 6], visualization [10], image segmentation =-=[29]-=-, adaptive mesh refinement [14, 22], and N-body simulations [15, 30, 35, 37, 38]. Octree data structures used in discretizations of partial differential equations should satisfy certain spatial distri... |

11 |
Multigrid techniques for finite elements on locally refined meshes. Numerical Linear Algebra with Applications, 7:363–379
- Becker, Braack
- 2000
(Show Context)
Citation Context ... 1. Introduction. Spatial decompositions of the d-dimensional cube have important applications in scientific computing: they can be used as algorithmic foundations for adaptive finite element methods =-=[3, 17]-=-, adaptive mesh refinement methods [14, 22], and many-body algorithms [15, 30, 35, 37, 38]. Quadtrees [9] and octrees [19] are hierarchical data structures commonly used for partitioning 2- and 3-dime... |

11 | Image-based unstructured 3d mesh generation for medical applications - Berti - 2004 |

11 | Minimizing overhead in parallel algorithms through overlapping communication/computation
- Somani, Sansano
- 1997
(Show Context)
Citation Context ...Although there are many examples of scalable parallel algorithms that involve iterative communication, they overlap communication with computation to reduce the overhead associated with communication =-=[12, 28]-=-. Currently, there is no method that overlaps communication with computation for the balancing problem. Thus, any algorithm that uses iterative parallel searches for balancing octrees will have high c... |

10 |
Octree-based finite element method for large-scale earthquake ground motion modeling in heterogeneous basins
- Kim, Bielak, et al.
- 2002
(Show Context)
Citation Context ... 1. Introduction. Spatial decompositions of the d-dimensional cube have important applications in scientific computing: they can be used as algorithmic foundations for adaptive finite element methods =-=[3, 17]-=-, adaptive mesh refinement methods [14, 22], and many-body algorithms [15, 30, 35, 37, 38]. Quadtrees [9] and octrees [19] are hierarchical data structures commonly used for partitioning 2- and 3-dime... |

10 | O’Hallaron. Balanced refinement of massive linear octrees
- Tu, R
- 2004
(Show Context)
Citation Context ... any duplicates and overlaps are removed [4]. We describe this approach in Algorithm 6. In an alternative approach, the nodes search for neighbors and resolve any violations of the balance constraint =-=[32, 34]-=-. The main advantage of the former approach is that constructing nodes is inexpensive, since it does not involve any searches. However, this could produce a lot of duplicates and overlaps, making the ... |

7 | A scalable parallel fast multipole method for analysis of scattering from perfect electrically conducting surfaces
- Hariharan, Aluru, et al.
- 2002
(Show Context)
Citation Context |

7 | Extracting Hexahedral Mesh Structures from Balanced Linear Octrees. 13th INternational Meshing Roundtable - Tu, O'Hallaron - 2005 |

5 |
L.: Hierarchical tree-based finite element mesh generation
- GREAVES, BORTHWICK
- 1999
(Show Context)
Citation Context |

4 |
A parallel hashed octree n-body algorithm
- Warren, Salmon
- 1993
(Show Context)
Citation Context |

1 | An octree and a graph-based approach to support location aware navigation services
- Narasimhan, Mundani, et al.
(Show Context)
Citation Context ...ros@seas.upenn.edu). 2675 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited.2676 HARI SUNDAR, RAHUL S. SAMPATH, AND GEORGE BIROS plexity of the search from O(n) toO(log n) =-=[11, 21]-=-. • Spatial decomposition: Unstructured meshes are often preferred over uniform discretizations because they can be used with complicated domains and permit rapid grading from coarse to fine elements.... |