5、一种新的 MPI 集体通信实现方法

一种新的 MPI 集体通信实现方法

1. 引言

集体操作的性能对许多应用程序的运行时间和可扩展性至关重要。经过数十年的研究,针对特定架构、网络、参与者数量和消息大小,已经产生了各种各样的集体通信算法。然而,选择最优算法不仅取决于应用程序运行的系统,还与集体函数的参数(如对等节点数量、数据大小、数据类型)有关。在优化便携式消息传递接口(MPI)库时,如何在运行时选择合适的算法成为一个基本问题。

我们的工作旨在为每个系统和 MPI 参数集自动选择最优的集体实现,这可能会为每次集体函数调用带来显著的性能提升。预测点对点通信性能的模型(如 LogP 或 LogGP)可以近似集体通信性能,从而为选择集体实现提供依据。但对于硬件辅助的集体操作,这些建模技术可能并不适用,因为硬件集体操作通常优于软件算法,直接调用硬件集体操作并绕过建模评估是合理的优化策略。

基于这些考虑,我们设计了下一代集体框架,目标如下:
1. 实现细粒度的算法选择,选择的基本单位是单个函数。
2. 基于 MPI 函数参数进行高效的运行时决策。
3. 为简单决策(如硬件实现)提供“快速路径”。
4. 采用模块化方法,方便添加和移除算法,特别是第三方算法。
5. 使所有算法(包括第三方添加的算法)能被用户应用程序、测试和基准测试工具自动使用。

2. 相关工作

许多研究小组通过仅实现部分标准化集体操作来限制选择问题,并假设这些算法具有全局适用性。一些 MPI 实现(如 MPICH、MPICH2、LAM/MPI)在编译时静态选择或基于有限的运行时参数选择集体实现,决策通常基于通信器和/或数据大小,而不考虑网络特性和物理拓扑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值