新一代MPI集体通信实现的创新方法
1. 引言
集体操作的性能对于众多应用程序的运行时间和可扩展性至关重要。经过数十年的研究,针对特定架构、网络、参与者数量和消息大小,已经产生了各种各样的集体通信算法。然而,在优化便携式消息传递接口(MPI)库时,面临着一个根本问题:如何在运行时选择最优的算法。
我们的工作旨在为每个系统和MPI参数集自动选择最优的集体实现,这有望为每次集体函数调用带来显著的性能提升。预测性的点对点通信性能模型(如LogP或LogGP)可以对集体通信性能进行合理近似,从而为选择集体实现提供依据。但对于硬件辅助的集体操作,这些建模技术可能并不适用,因为硬件集体操作通常优于软件算法,直接调用硬件集体操作并绕过建模评估是一种合理的优化策略。
基于这些考虑,我们提出了下一代集体框架的设计,目标如下:
1. 实现细粒度的算法选择,使选择单元为单个函数。
2. 基于MPI函数参数进行高效的运行时决策。
3. 为简单决策(如硬件实现)提供“快速路径”。
4. 采用模块化方法,便于添加和移除算法,尤其是第三方算法。
5. 使所有算法(包括第三方添加的算法)能被用户应用程序、测试和基准测试工具自动使用。
2. 相关工作
许多研究小组通过仅实现标准化集体操作的子集来限制选择问题,并假设这些算法具有全局适用性。一些MPI实现(如MPICH、MPICH2、LAM/MPI)在编译时静态选择或基于有限的参数在运行时选择集体实现,这些选择通常基于通信器和/或数据大小,未考虑网络特性和物理网络拓扑。
FT - MPI和当前的Open MPI版本基于包含网络特性的扩展参数集进行决策,但
超级会员免费看
订阅专栏 解锁全文
596

被折叠的 条评论
为什么被折叠?



