Research | Partition Improvement | Predictive Load Balance | Communication Libraries | MapReduce Experiments | Scaling Results
Without predictive load balancing during mesh modification, it is possible that some processors will have nearly all their elements scheduled for mesh modification which may exceed the physical memory limit of the processors and could slow down or even kill the process. By using predictive load balancing procedures and migrating smaller numbers of mesh entities before mesh modification occurs, it is possible to achieve roughly equal number of elements on each processor in the final adapted mesh. To achieve this, weights are specified on graph nodes and a weighted graph-based repartitioning is carried out. The weight used to estimate the physical memory usage is proportional to the number of elements to be generated. Pain, et. al. [46] use the ratio of the element volume of the initial coarse mesh to the volume of desired element in the adapted mesh to estimate the number of elements to be generated in the mesh refinement. A similar idea combined with the concept of the mesh size metic field specifies the weights on the graph nodes was developed in the ITAPS algorithm.
The mesh adaptation tool along with the predictive load balance algorithm is performed on a 17,179,836 element uniform mesh (Figure (a)) of a straight pipe model to achieve a 1,064,284,042 region adapted mesh on 16,384 Blue Gene/L cores. The adapted mesh displayed in Figure (b) is zoomed for a "bubble", which is colored by the magnitude to show mesh size field. The adapted 1.06 billion region mesh has 160 such "air bubbles" distributing in the model as Figure (c). The number of mesh regions on each part of the initial and adapted meshes is shown in Figure (d). Before adaptation there are few regions per processor (as shown by the red marks) and after adaptation there are roughly equal numbers of regions on each processor.