1.1 INTRODUCTION An important component of parallel scientific computing is the assignment of work to processors. This assignment problem is also known as partitioning or mapping. The goal of the assignment problem is to find a task-to-processor mapping that will minimize the total execution time. Although efficient optimal solutions for certain restricted variations, such as chain-or tree-structured programs exist [21], the general problem is NP-hard [28]. We consider this general version where any task can potentially be assigned to any processor. In the literature, the task-to-processor assignment problem is usually solved by a two-step approach: first tasks are partitioned into load-balanced clusters of tasks, then these clusters are mapped to processors. In the partitioning step, a common goal is to minimize the interprocessor communication while maintaining a computational load balance among processors. Partitioning occurs at the start of a computation (static partitioning), but often, reassignment of work is done during a computation (dynamic partitioning or repartitioning) as the work distribution changes over the course of the computation. Repar-titioning usually includes both partitioning and mapping. While distinction between partitioning, load balancing and mapping can be made as described, throughout this chapter we will use the terms interchangeably to refer the assignment problem. We will assume that the mapping step of the two-step approach either is trivial, or inherent in the partitioning approach. Dynamic partitioning is an important feature in parallel adaptive computations [9]. Even if the original problem is well balanced, e.g., by using graph or hypergraph partitioning, the computation may become unbalanced over time due to dynamic changes. A classic example is simulation based on adap-tive mesh refinement, in which the computational mesh changes between time steps. The difference is often small, but over time, the cumulative change in the mesh becomes significant. Therefore dynamic load balancing may be required periodically to re-balance the application, that is, move data among processors to improve the load balance. Dynamic load balancing or repartitioning is a well studied that has multiple objectives with complicated trade-offs among them: 1. good load balance in the new data distribution; 2. low communication cost within the application (as determined by the new distribution); 3. low data migration cost to move data from the old to the new distribution ; and 4. short repartitioning time. Total execution time is commonly modeled [26, 34] as follows to account for these objectives: t tot = α(t comp + t comm) …
We describe a dynamic load-balancing strategy for parallel finite element methods with adaptive mesh ( h-) and order ( p-) refinement. The load-balancing algorithm is based on the tiling load-balancing system, where global balance is achieved by performing local balancing within overlapping neighborhoods of processors. Tiling is applied to each mesh level created by the adaptiveh-refinement. Weights are used in the migration routines to reflect the nonuniform elemental work loads caused by adaptive p-refinement. The combination of adaptive refinement and tiling significantly reduces total execution time relative to fixed-mesh, fixed-order methods yielding comparable accuracy, as we demonstrate with experiments on an nCUBE/2.
We construct parallel finite element methods for the solution of hyperbolic conservation laws in one and two dimensions. Spatial discretization is performed by a discontinuous Galerkin finite element method using a basis of piecewise Legendre polynomials. Temporal discretization utilizes a Runge-Kutta method. Dissipative fluxes and projection limiting prevent oscillations near solution discontinuities. A posteriori estimates of spatial are obtained by a p-refinement technique using superconvergence at Radau points. The resulting methods is of high order and may be parallelized efficiently on MIMD computers. We compare results using different limiting schemes and demonstrate parallel efficiency through computations on an NCUBE/2 hypercube. We also present results using adaptive h- and p-refinement to reduce the computational costof the method.
An adaptive technique for a partial differential system automatically adjusts a computational mesh or varies the order of a numerical procedure with a goal of obtaining a solution satisfying prescribed accuracy criteria in an optimal fashion. Processor load imbalances will, therefore, be introduced at adaptive enrichment steps during the course of a parallel computation. We develop and describe three procedures for retaining and restoring load balance that have low unit cost and are appropriate for use in an adaptive solution environment.Tiling balances load by using local optimality criteria within overlapping processor neighborhoods. Elemental data are migrated between processors within the same neighborhoods to restore balance. Tiling is restricted to uniform two-dimensional meshes and provides limited control of communications volume by priority-based element selection criteria. These shortcomings can potentially be overcome by creating a dynamic partition graph connecting processors and their neighboring regions. After coloring the edges of the graph, elemental data are iteratively transferred between processors by pairwise exchange to permit a more global migration.Octree decomposition of a spatail domain is a successful three-dimensional mesh generation strategy. The octree structure facilitates a rapid load balancing procedure by performing tree traversals that (i) appraise subtree cost and (ii) partition spatial regions accordingly.Computational results are reported for two- and three-dimensional problems using nCUBE/2 hypercube, MasPar MP-2, and Thinking Machines CM-5 computers.
The authors construct massively parallel adaptive finite element methods for the solution of hyperbolic conservation laws. Spatial discretization is performed by a discontinuous Galerkin finite element method using a basis of piecewise Legendre polynomials. Temporal discretization utilizes a Runge-Kutta method. Dissipative fluxes and projection limiting prevent oscillations near solution discontinuities. The resulting method is of high order and may be parallelized efficiently on MIMD computers. The authors demonstrate parallel efficiency through computations on a 1024-processor nCUBE/2 hypercube. They present results using adaptive p-refinement to reduce the computational cost of the method, and tiling, a dynamic, element-based data migration system that maintains global load balance of the adaptive method by overlapping neighborhoods of processors that each perform local balancing.
Arthur B. Maccabe合作论文数Oak Ridge National Laboratory1