Bottom-Up Construction and 2: 1 Balance Refinement of Linear Octrees in Parallel

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 $\mathcal{O}(N\log N)$ work and $\mathcal{O}(N)$ storage complexity. Under reasonable assumptions on the distribution of octants and the work per octant, the parallel time complexity is $\mathcal{O}(\frac{N}{n_p}\log(\frac{N}{n_p})+n_p\log n_p)$, where $N$ is the size of the final linear octree and $n_p$ is the number of processors.

[1]  D. Zorin,et al.  A kernel-independent adaptive fast multipole algorithm in two and three dimensions , 2004 .

[2]  Hans-Joachim Bungartz,et al.  An Octree- and A Graph-Based Approach to Support Location Aware Navigation Services , 2006, PSC.

[3]  David R. O'Hallaron,et al.  Scalable Parallel Octree Meshing for TeraScale Applications , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[4]  Michael S. Warren,et al.  Astrophysical N-body simulations using hierarchical tree data structures , 1992, Proceedings Supercomputing '92.

[5]  S. Popinet Gerris: a tree-based adaptive solver for the incompressible Euler equations in complex geometries , 2003 .

[6]  Doug Moore The cost of balancing generalized quadtrees , 1995, SMA '95.

[7]  Henry Fuchs,et al.  Near real-time shaded display of rigid objects , 1983, SIGGRAPH.

[8]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[9]  Donald Meagher,et al.  Geometric modeling using octree encoding , 1982, Computer Graphics and Image Processing.

[10]  David Eppstein,et al.  Parallel Construction of Quadtrees and Quality Triangulations , 1993, WADS.

[11]  Hanan Samet,et al.  The Quadtree and Related Hierarchical Data Structures , 1984, CSUR.

[12]  William Gropp,et al.  A Parallel Version of the Fast Multipole Method-Invited Talk , 1987, PPSC.

[13]  L.A. Freitag,et al.  Adaptive, Multiresolution Visualization of Large Data Sets using a Distributed Memory Octree , 1999, ACM/IEEE SC 1999 Conference (SC'99).

[14]  Pere Brunet,et al.  Object representation by means of nonminimal division quadtrees and octrees , 1985, TOGS.

[15]  Hermann Tropf,et al.  Multimensional Range Search in Dynamically Balanced Trees , 1981, Angew. Inform..

[16]  Arun K. Somani,et al.  Minimizing overhead in parallel algorithms through overlapping communication/computation , 1997 .

[17]  P. Campbell,et al.  Dynamic Octree Load Balancing Using Space-Filling Curves ∗ , 2003 .

[18]  Jan J. Gerbrands,et al.  Three-dimensional image segmentation using a split, merge and group approach , 1991, Pattern Recognit. Lett..

[19]  David R. O'Hallaron,et al.  Extracting Hexahedral Mesh Structures from Balanced Linear Octrees , 2004, IMR.

[20]  Lexing Ying,et al.  A New Parallel Kernel-Independent Fast Multipole Method , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[21]  Roland Becker,et al.  Multigrid techniques for finite elements on locally refined meshes , 2000, Numer. Linear Algebra Appl..

[22]  Michael Griebel,et al.  Parallel Multigrid in an Adaptive PDE Solver Based on Hashing , 1998 .

[23]  Henry Fuchs,et al.  On visible surface generation by a priori tree structures , 1980, SIGGRAPH '80.

[24]  David R. O'Hallaron,et al.  Balance Refinement of Massive Linear Octree Datasets , 2004 .

[25]  Ronald N. Perry,et al.  Simple and Efficient Traversal Methods for Quadtrees and Octrees , 2002, J. Graphics, GPU, & Game Tools.

[26]  O. Ghattas,et al.  Octree-based finite element method for large-scale earthquake ground motion modeling in heterogeneous basins , 2002 .

[27]  Pere Brunet,et al.  Solid representation and operation using extended octrees , 1990, TOGS.

[28]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[29]  Jon Louis Bentley,et al.  Quad trees a data structure for retrieval on composite keys , 1974, Acta Informatica.

[30]  Mark S. Shephard,et al.  Automatic three-dimensional mesh generation by the finite octree technique , 1984 .

[31]  F. Weiler,et al.  Octree-based Generation of Hexahedral Element Meshes , 2007 .

[32]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[33]  Shang-Hua Teng,et al.  Provably Good Partitioning and Load Balancing Algorithms for Parallel Adaptive N-Body Simulation , 1998, SIAM J. Sci. Comput..

[34]  Jonathan Richard Shewchuk,et al.  Tetrahedral mesh generation by Delaunay refinement , 1998, SCG '98.

[35]  Alan H. Barr,et al.  Accurate triangulations of deformed, intersecting surfaces , 1987, SIGGRAPH.

[36]  Mark S. Shephard,et al.  Automatic three‐dimensional mesh generation by the finite octree technique , 1984 .

[37]  M. S. Warren,et al.  A parallel hashed Oct-Tree N-body algorithm , 1993, Supercomputing '93.

[38]  Srinivas Aluru,et al.  A Scalable Parallel Fast Multipole Method for Analysis of Scattering from Perfect Electrically Conducting Surfaces , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[39]  Deborah Greaves,et al.  Hierarchical tree-based finite element mesh generation , 1999 .

[40]  Robert W. Graves,et al.  The SCEC Southern California Reference Three-Dimensional Seismic Velocity Model Version 2 , 2000 .

[41]  Guntram Berti,et al.  IMAGE-BASED UNSTRUCTURED 3D MESH GENERATION FOR MEDICAL APPLICATIONS , 2004 .

[42]  Michael S. Warren,et al.  A parallel hashed oct-tree N-body algorithm , 1993, Supercomputing '93. Proceedings.