A novel data partitioning algorithm for dynamic energy optimization on heterogeneous high‐performance computing platforms. (22nd July 2020) - Khaleghzadeh, Hamidreza; Fahad, Muhammad; Reddy Manumachu, Ravi; Lastovetsky, Alexey
Summary: Energy is one of the most important objectives for optimization on modern heterogeneous high‐performance computing (HPC) platforms. The tight integration of multicore CPUs with accelerators such as graphical processing units (GPUs) and Xeon Phi coprocessors in these platforms presents several challenges to the optimization of multithreaded data‐parallel applications for energy. In this work, the problem of optimization of data‐parallel applications on heterogeneous HPC platforms for dynamic energy through workload distribution is formulated. We propose a workload partitioning algorithm to solve this problem. It employs load‐imbalancing technique to determine the workload distribution minimizing the dynamic energy consumption of the parallel execution of an application. The inputs to the algorithm are discrete dynamic energy profiles of individual computing devices. The profiles are practically constructed using an approach that accurately models the energy consumption by execution of a hybrid scientific data‐parallel application on a heterogeneous platform containing different computing devices such as CPU, GPU, and Xeon Phi. The proposed algorithm is experimentally analyzed using two multithreaded data‐parallel applications, matrix multiplication and 2D fast Fourier transform. The load‐imbalanced solutions provided by the algorithm achieve significant dynamic energy reductions for the two applications (in average by 130% and 44%, respectively) compared with the load‐balanced solutions.