35、MPI中非集体式通信器创建的研究与实践

MPI中非集体式通信器创建的研究与实践

1. 引言

MPI(Message Passing Interface)通信器为点对点和集体操作提供了通信上下文,使程序员能够通过将通信隔离在不同的通信器中,有效区分应用程序模块之间的通信。这一功能推动了由独立开发的模块和库组成的大型应用程序的发展。此外,通信器还能形成MPI进程组,并在这些组内进行通信,特别是集体通信,这使得程序员可以在MPI应用程序中表达多级并行性,随着计算系统规模的增大,该能力愈发重要。

在MPI实现层面,通信器的关键要素是上下文ID(context id)。参与通信操作的所有进程使用上下文ID来识别通信器,通常为一个整数。上下文ID本质上是除用户提供的通信标签外的另一个标签,用于匹配通信操作。因此,为了正确匹配通信操作,需要在上下文ID上达成共识。

传统上,MPI支持集体式创建通信器,即父通信器中的所有进程都参与子通信器的创建。然而,随着对千万亿次及更高计算系统的追求,新的应用架构和编程模型用例不断涌现,凸显了在新进程组的上下文中构建MPI通信器的能力的重要性。例如,在某些应用中,一小部分进程动态协作完成工作组件时,可能希望在不与系统中其他进程同步的情况下创建通信器;当某个进程发生故障时,应能够在不涉及故障进程的情况下重新创建通信器。但目前的MPI通信器创建操作,如 MPI_Comm_dup MPI_Comm_split MPI_Comm_create ,并不具备这样的灵活性。

本文提出了一种新的通信器创建算法,该算法仅在将成为新通信器成员的进程组上集体构建通信器。此算法具有可移植性,仅使用当前MPI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值