User-defined Tools for Characterizing Task-Parallel Applications and Predicting Load Imbalance

Minh Thanh Chung, Dieter August Kranzlmüller · 2021

Parallel applications can be built portably on heterogeneous shared or distributed memory systems using task-based programming models. The decomposition into tasks allows to address load imbalance in parallel programs more easily, if knowledge about the application’s characteristics can be obtained. In our paper, we introduce an approach for characterizing tasks at runtime using callback functions and a dedicated thread per rank for tool isolation with minimal perturbation of the target application’s execution. With the characterization, prediction of execution time can be achieved using a machine learning approach. This serves as input for repartitioning or migrating the tasks such that the overall execution time can be improved. The results of our experiments using microbenchmarks and realistic applications confirm the benefits of our solution, in which the predicted information can adapt dynamic load balancing to large-scale use-cases.

Read the paper · More papers on PaperTik