Ghaddar, Tarek Habib (2016-05). Load Balancing Unstructured Meshes for Massively Parallel Transport Sweeps. Master's Thesis.
When running any massively parallel code, load balancing is a priority in order to achieve the best possible parallel efficiency. A load balanced problem has an equal num-ber of degrees of freedom per processor. Load balancing is important in order to minimize idle time for all processors by equally distributing (as much as possible) the work each processor has to do. An unstructured meshing capability was implemented in PDT, Texas A&M University's massively parallel deterministic transport code, utilizing the Triangle mesh generator, hence allowing the user to define more realistic problem geometries and to define 3D problems through the extrusion of 2D meshes. However, unstructured grids are significantly harder to load balance than Cartesian rectangular meshes. A load balancing algorithm was implemented in PDT to minimize a metric that determines how unbalanced a mesh is based on the number of mesh cells per processor. Three test cases were con-structed, and a series of 162 inputs were created for each case. A maximum improvement of 89.0% was seen in Test Case 1, 89.1% was seen in Test Case 2, and 55.2% was seen in Test Case 3.