Optimizing the Bruck Algorithm for Non-uniform All-to-all Communication
Optimizing the Bruck Algorithm for Non-uniform All-to-all Communication
复制标题
优化非均匀全对全通信的布鲁克算法
DOI:
10.1145/3502181.3531468
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Kumar, Sidharth
中科院分区:
文献类型:
--
作者:
Fan, Ke;Gilray, Thomas;Pascucci, Valerio;Huang, Xuan;Micinski, Kristopher;Kumar, Sidharth
In MPI, collective routines MPI_Alltoall and MPI_Alltoallv play an important role in facilitating all-to-all inter-process data exchange. MPI_Alltoallv is a generalization of MPI_Alltoall, supporting the exchange of non-uniform distributions of data. Popular implementations of MPI, such as MPICH and OpenMPI, implement MPI_Alltoall using a combination of techniques such as the Spread-out algorithm and the Bruck algorithm. Spread-out has a linear complexity in P, compared to Bruck's logarithmic complexity (P: process count); a selection between these two techniques is made at runtime based on the data block size. However, MPI_Alltoallv is typically implemented using only variants of the spread-out algorithm, and therefore misses out on the performance benefits that the log-time Bruck algorithm offers (especially for smaller data loads).In this paper, we first implement and empirically evaluate all existing variants of the Bruck algorithm for uniform and non-uniform data loads-this forms the basis for our own Bruck-based non-uniform all-to-all algorithms. In particular, we developed two open-source implementations, padded Bruck and two-phase Bruck, that efficiently generalize Bruck algorithm to non-uniform all-to-all data exchange. We empirically validate the techniques on three supercomputers: Theta, Cori, and Stampede, using both microbenchmarks and two real-world applications: graph mining and program analysis. We perform weak and strong scaling studies for a range of average message sizes, degrees of imbalance, and distribution schemes, and demonstrate that our techniques outperform vendor-optimized Cray's MPI_Alltoallv by as much as 50% for some workloads and scales.
登录
查看更多内容
DOI:
10.1109/hipc53243.2021.00033
发表时间:
2021-12
期刊:
2021 IEEE 28th International Conference on High Performance Computing, Data, and Analytics (HiPC)
影响因子:
--
作者:
Oded Green;Zhihui Du;Sanyamee Patel;Zehui Xie;Hang Liu;David A. Bader
通讯作者:
Oded Green;Zhihui Du;Sanyamee Patel;Zehui Xie;Hang Liu;David A. Bader
DOI:
10.1007/978-3-540-79561-2_4
发表时间:
2008
期刊:
Journal of the Royal Statistical Society: Series B (Statistical Methodology)
影响因子:
--
作者:
E. Lusk;Anthony Chan
通讯作者:
Anthony Chan
DOI:
10.1002/cpe.3758
发表时间:
2016-12
期刊:
Concurrency and Computation: Practice and Experience
影响因子:
--
作者:
James Dinan;P. Balaji;Darius Buntinas;David Goodell;W. Gropp;R. Thakur
通讯作者:
James Dinan;P. Balaji;Darius Buntinas;David Goodell;W. Gropp;R. Thakur
DOI:
10.1145/2503210.2503286
发表时间:
2013
期刊:
2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC)
影响因子:
--
作者:
Robert Gerstenberger;Maciej Besta;Torsten Hoefler
通讯作者:
Torsten Hoefler
DOI:
--
发表时间:
2013
期刊:
International Conference on Supercomputing
影响因子:
--
作者:
H. Sundar;D. Malhotra;G. Biros
通讯作者:
G. Biros