Partitioning Mesh for Workload Balance According to the Capability of Each Computing Node

Gan Luo, Zhi-guo Zhang · 2021

Mesh-based application uses mesh to represent a physical system discretely and performs iterative computation over the mesh data to solve the equation for simulation. It generally runs in parallel on a supercomputer or a cluster with many computing nodes. During execution of the application, each node holds one partition of the mesh and performs iterative computation over the corresponding mesh data. In this paper, we propose a mesh partitioning algorithm that partitions the mesh according to the computing capabilities of the nodes in the target system while minimizing the amount of data exchanged between partitions. We also propose a scheme of using HDF5 (Hierarchical Data Format v5) file to store the partitioned mesh and define a storage format of the partitioned mesh in HDF5 file. Thus, we can partition the mesh and store the partitioned mesh in the HDF5 file in application development phase. When executing the application, each node reads in concurrently its corresponding partition of the mesh from the HDF5 file directly. The experimental result shows that when executing the application over the partitioned mesh produced by our algorithm, the workload on the target system among its nodes is more balanced and thus the execution time is reduced. Furthermore, our approach of partitioning mesh in advance can save much execution time in target system and thus can reduce cost of executing the application on the target cluster or supercomputer.

Read the paper · More papers on PaperTik