多核与网络感知的 MPI 拓扑函数
1. 引言
随着多核架构和高性能互连技术的发展,集群计算正朝着更高性能迈进。这类系统的节点架构和互连网络日益呈现出层次化的特点,不同层次的通信性能存在差异。因此,通信库需要高效处理高性能计算(HPC)应用在这些层次化系统上的通信需求。
消息传递接口(MPI)是 HPC 应用中主要的消息传递标准。它提供了一组接口,用于根据应用的通信模式构建虚拟拓扑,并支持对进程进行重映射以优化性能。然而,大多数 MPI 库对这些功能的实现较为简单,缺乏有效的进程重映射支持。
本文设计了 MPI 非分布式拓扑函数(MPI_Graph_create 和 MPI_Cart_create),用于在层次化集群上进行高效的进程重映射。通过将节点物理拓扑与网络架构集成,并在 MPI 库中使用图嵌入工具,我们改进了拓扑函数的实现,优化了初始进程映射。在两个不同的 InfiniBand 集群上进行的微基准测试和 MPI 应用测试表明,该实现可显著提高通信性能和应用执行时间。
2. 背景与动机
MPI 定义了一组用于图和笛卡尔结构的虚拟拓扑定义函数,如 MPI_Graph_create 和 MPI_Cart_create。这些函数接受虚拟拓扑并返回包含所需拓扑的新 MPI 通信器。如果用户选择重排序,函数可能会对进程排名进行重新排序,以实现高效的进程到核心映射。
这些函数接受的拓扑是非分布式的,即所有节点都对整个结构有完整的视图,并将所有信息传递给函数。最近,MPI 标准增加了分布式图拓扑功能,以支持大规模系统。在这些函数中,每个节点对图只有有限的邻域视图,所有进程以分布式方式共同构建虚拟拓扑。
尽
超级会员免费看
订阅专栏 解锁全文
566

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



