TY - GEN
T1 - HAN: a Hierarchical AutotuNed Collective Communication Framework
AU - Luo, Xi
AU - Wu, Wei
AU - Bosilca, George
AU - Pei, Yu
AU - Cao, Qinglei
AU - Patinyasakdikul, Thananon
AU - Zhong, Dong
AU - Dongarra, Jack
N1 - KAUST Repository Item: Exported on 2020-12-28
Acknowledgements: This research was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration, and National Science Foundation under award EVLOVE #1664142. Experiments on the Shaheen II were supported by the Supercomputing Laboratory at KAUST, and experiments on the Stampede2 were supported by the Texas Advance Computing Center.
This publication acknowledges KAUST support, but has no KAUST affiliated authors.
PY - 2020/9
Y1 - 2020/9
N2 - High-performance computing (HPC) systems keep growing in scale and heterogeneity to satisfy the increasing computational need, and this brings new challenges to the design of MPI libraries, especially with regard to collective operations. To address these challenges, we present 'HAN,' a new hierarchical autotuned collective communication framework in Open MPI, which selects suitable homogeneous collective communication modules as submodules for each hardware level, uses collective operations from the submodules as tasks, and organizes these tasks to perform efficient hierarchical collective operations. With a task-based design, HAN can easily swap out submodules, while keeping tasks intact, to adapt to new hardware. This makes HAN suitable for the current platform and provides a strong and flexible support for future HPC systems. To provide a fast and accurate autotuning mechanism, we present a novel cost model based on benchmarking the tasks instead of a whole collective operation. This method drastically reduces tuning time, as the cost of tasks can be reused across different message sizes, and is more accurate than existing cost models. Our cost analysis suggests the autotuning component can find the optimal configuration in most cases. The evaluation of the HAN framework suggests our design significantly improves the default Open MPI and achieves decent speedups against state-of-the-art MPI implementations on tested applications.
AB - High-performance computing (HPC) systems keep growing in scale and heterogeneity to satisfy the increasing computational need, and this brings new challenges to the design of MPI libraries, especially with regard to collective operations. To address these challenges, we present 'HAN,' a new hierarchical autotuned collective communication framework in Open MPI, which selects suitable homogeneous collective communication modules as submodules for each hardware level, uses collective operations from the submodules as tasks, and organizes these tasks to perform efficient hierarchical collective operations. With a task-based design, HAN can easily swap out submodules, while keeping tasks intact, to adapt to new hardware. This makes HAN suitable for the current platform and provides a strong and flexible support for future HPC systems. To provide a fast and accurate autotuning mechanism, we present a novel cost model based on benchmarking the tasks instead of a whole collective operation. This method drastically reduces tuning time, as the cost of tasks can be reused across different message sizes, and is more accurate than existing cost models. Our cost analysis suggests the autotuning component can find the optimal configuration in most cases. The evaluation of the HAN framework suggests our design significantly improves the default Open MPI and achieves decent speedups against state-of-the-art MPI implementations on tested applications.
UR - http://hdl.handle.net/10754/666660
UR - https://ieeexplore.ieee.org/document/9229573/
UR - http://www.scopus.com/inward/record.url?scp=85096235860&partnerID=8YFLogxK
U2 - 10.1109/cluster49012.2020.00013
DO - 10.1109/cluster49012.2020.00013
M3 - Conference contribution
SN - 9781728166773
SP - 23
EP - 34
BT - 2020 IEEE International Conference on Cluster Computing (CLUSTER)
PB - IEEE
ER -