优化消息传递系统中的allreduce_scatter和allreduce通信
Optimised allgatherv, reduce_scatter and allreduce communication in message-passing systems
摘要:
集体通信,即消息传递系统中的模式allreduce_scatter和allreduce,是基于库安装时的测量进行优化的。所使用的算法是在通信的初始化阶段建立的,类似于文献中介绍的所谓持久集体通信中使用的方法。对于allbriev和reduce_scatter,应用现有算法,递归乘/除和循环移位(Bruck算法),每个节点具有灵活数量的通信端口。用于相等消息大小的算法与用于秩重新排序的启发式一起用于不相等消息大小。这两种通信模式应用于等离子体物理应用中,该等离子体物理应用使用专门的矩阵向量乘法。对于allreduce模式,循环移位算法与前缀操作一起应用。数据由节点内的核心收集和分散,通信算法在节点之间应用。在一般情况下,我们的例程优于非持久性同行在建立MPI库高达一个数量级或显示相同的性能,与节点数量和消息大小的少数例外。
英文摘要:
Collective communications, namely the patterns allgatherv, reduce_scatter, and allreduce in message-passing systems are optimised based on measurements at the installation time of the library. The algorithms used are set up in an initialisation phase of the communication, similar to the method used in so-called persistent collective communication introduced in the literature. For allgatherv and reduce_scatter the existing algorithms, recursive multiply/divide and cyclic shift (Bruck's algorithm) are applied with a flexible number of communication ports per node. The algorithms for equal message sizes are used with non-equal message sizes together with a heuristic for rank reordering. The two communication patterns are applied in a plasma physics application that uses a specialised matrix-vector multiplication. For the allreduce pattern the cyclic shift algorithm is applied with a prefix operation. The data is gathered and scattered by the cores within the node and the communication algorithms are applied across the nodes. In general our routines outperform the non-persistent counterparts in established MPI libraries by up to one order of magnitude or show equal performance, with a few exceptions of number of nodes and message sizes.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。