MPI制造技术

技术编号:39504355 阅读:11 留言:0更新日期:2023-11-24 11:35
本发明专利技术提供一种

【技术实现步骤摘要】
MPI通信数据内容的一致性检查方法、装置、介质及设备


[0001]本专利技术涉及
MPI

Message Passing Interfaces
,消息传递接口)通信
,尤其涉及一种
MPI
通信数据内容的一致性检查方法

装置

介质及设备


技术介绍

[0002]很多应用程序已发展成为并行程序,通过有效使用高性能计算机上的众多计算节点与处理器核,来加快程序的运行

随着计算量的不断提高,应用程序的并行规模随之提升,当前已出现了可有效使用百万级甚至千万级处理器核的并行应用程序

[0003]MPI
是并行程序研发过程中最常用的并行编程方式,其提供了在不同进程之间进行数据通信和同步等待等的消息传递接口和功能机制

现在已有大量基于
MPI
研发的并行应用程序
。MPI
软件库必须具有稳定性和可靠性,这样才能为各类并行程序的研发提供稳定可靠的基础支撑

其中,
MPI
软件库可靠性的一种重要表现是:对于任意一条消息通信,该消息通信的接收进程所收到的数据内容与该消息通信的发送进程所发出的数据内容保持完全相同

[0004]现有
MPI
软件库联合底层的网络软硬件系统,在确保可靠性方面有一些支撑,例如网络系统在数据传输过程中会以握手方式进行信息数据的传递,只有当发送端进程确认接收端进程已收到信息数据后,才会确认通信的完成;而当发送端进程发现接收端进程没有成功收到信息数据时(例如通信网络上的数据信息传递出现了丢包的情况),会重新发送信息数据

尽管这种方式在网络硬件系统没有明显的物理故障(如网线故障或交换机故障等)时,能确保接收端进程获取到信息数据,但并不能确保接收端进程所收到的信息数据完全正确

[0005]在互联网环境下,网络传输的通信链路往往很长,传输过程中容易发生数据内容丢失或被改变的情况

为了检测出这种有错误的情况,
TCP/IP
等互联网通信协议采用了校验和方法,其在发送端进程按照一定方式计算出待发送信息数据的校验和,发送端进程将信息数据与校验和一起发给接收端进程;接收端进程在收到信息数据与校验和后,根据所收到的数据计算出新校验和,并通过对比收到的校验和与新校验和是否一致,确认接收端进程是否收到了正确的数据内容

[0006]然而,对于高性能计算机中的网络通信而言,由于网络链路比较短,通信过程中信息数据内容出错的概率往往很低,因此几乎不对接收到的数据内容进行检测,即尚未使用上述校验和方法

但是,随着高性能计算机互联的层次结构变得更加复杂

所包含的计算节点越来越多

应用程序的并行规模越来越大,应用程序使用
MPI
通信过程中发生数据内容错误的概率快速提高

在实际测试中,已发现应用程序在运行一段时间后随机出现通信数据内容出错的现象

这种现象会造成应用程序的运行结果出现难以预计和解释的错误,或使得运行过程不稳定甚至出错退出等


技术实现思路

[0007]针对上述问题,本专利技术提供一种
MPI
通信数据内容的一致性检查方法

装置

介质及设备,以在并行程序运行过程中自动检测
MPI
通信是否出错,从而提高应用程序并行运行环境的可靠性

[0008]第一方面,本专利技术提供一种
MPI
通信数据内容的一致性检查方法,包括:响应于发送第一数据内容的
MPI
通信指令,发送端进程确定是否需要对所述第一数据内容进行一致性检查;在需要对所述第一数据内容进行一致性检查的情况下,发送端进程确定一致性检查所采用的第一检查方法,并基于所述第一检查方法生成所述第一数据内容的第一检验信息数据;发送端进程将所述第一数据内容

所述第一检查方法的标记和所述第一检验信息数据合并为第二数据,将所述第二数据的
MPI
通信指令发送给接收端进程;响应于接收到第二数据的
MPI
通信指令,接收端进程从所述第二数据中获取第二检查方法的标记;若收到一致性检查的要求,则从所述第二数据中获取第二数据内容

第二检查方法和第二检验信息数据,根据所述第二检查方法生成所述第二数据内容的第三检验信息数据,通过对比所述第二检验信息数据和第三检验信息数据,确定当前通信的数据内容是否通过一致性检查

[0009]在一些实现方式中,还包括:设置一致性检查功能的开启状态或者关闭状态;所述发送端进程确定是否需要对所述第一数据内容进行一致性检查,包括:发送端进程根据已设置的一致性检查功能的开启状态或者关闭状态确定是否需要对所述第一数据内容进行一致性检查

[0010]在一些实现方式中,还包括:设置一致性检查功能的开启状态或者关闭状态,以及一致性检查功能在开启状态下需要进行一致性检查的
MPI
通信指令和
/
或检查频率;所述发送端进程确定是否需要对所述第一数据内容进行一致性检查,包括:发送端进程根据已设置的一致性检查功能的开启状态或者关闭状态以及一致性检查功能在开启状态下需要进行一致性检查的
MPI
通信指令,确定是否需要对所述第一数据内容按照所述检查频率进行一致性检查

[0011]在一些实现方式中,所述第一检查方法或所述第二检查方法包括:基于校验和的检查方法和基于镜像复制的数据内容检查方法中的一种或者两种

[0012]在一些实现方式中,所述第一检查方法或所述第二检查方法包括:基于校验和的检查方法和基于镜像复制的数据内容检查方法;基于所述第一检查方法生成所述第一数据内容的第一检验信息数据,包括:分别根据基于校验和的检查方法和基于镜像复制的数据内容检查方法,生成所述第一数据内容的第一检验信息数据;根据所述第二检查方法生成所述第二数据内容的第三检验信息数据,通过对比所述第二检验信息数据和第三检验信息数据,确定当前通信的数据内容是否通过一致性检查,包括:分别根据基于校验和的检查方法和基于镜像复制的数据内容检查方法,生成所述第二数据内容的第三检验信息数据,若该两种检查方法中至少一种检查方法所生成的第三检验信息数据与对应的第二检验信息数据一致,则确定当前通信的数据内容通过一致性检


[0013]在一些实现方式中,在所述第一数据内容和所述第二数据内容的数据量超过设定阈值的情况下,基于所述第一检查方法生成所述第一数据内容的第一检验信息数据,包括:基于所述第一检查方法,采用局部采样方式生成所述第一数据内容的第一检验信息数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
MPI
通信数据内容的一致性检查方法,其特征在于,包括:响应于发送第一数据内容的
MPI
通信指令,发送端进程确定是否需要对所述第一数据内容进行一致性检查;在需要对所述第一数据内容进行一致性检查的情况下,发送端进程确定一致性检查所采用的第一检查方法,并基于所述第一检查方法生成所述第一数据内容的第一检验信息数据;发送端进程将所述第一数据内容

所述第一检查方法的标记和所述第一检验信息数据合并为第二数据,将所述第二数据的
MPI
通信指令发送给接收端进程;响应于接收到第二数据的
MPI
通信指令,接收端进程从所述第二数据中获取第二检查方法的标记;若收到一致性检查的要求,则从所述第二数据中获取第二数据内容

第二检查方法和第二检验信息数据,根据所述第二检查方法生成所述第二数据内容的第三检验信息数据,通过对比所述第二检验信息数据和第三检验信息数据,确定当前通信的数据内容是否通过一致性检查
。2.
根据权利要求1所述的
MPI
通信数据内容的一致性检查方法,其特征在于,还包括:设置一致性检查功能的开启状态或者关闭状态;所述发送端进程确定是否需要对所述第一数据内容进行一致性检查,包括:发送端进程根据已设置的一致性检查功能的开启状态或者关闭状态确定是否需要对所述第一数据内容进行一致性检查
。3.
根据权利要求1所述的
MPI
通信数据内容的一致性检查方法,其特征在于,还包括:设置一致性检查功能的开启状态或者关闭状态,以及一致性检查功能在开启状态下需要进行一致性检查的
MPI
通信指令和
/
或检查频率;所述发送端进程确定是否需要对所述第一数据内容进行一致性检查,包括:发送端进程根据已设置的一致性检查功能的开启状态或者关闭状态以及一致性检查功能在开启状态下需要进行一致性检查的
MPI
通信指令,确定是否需要对所述第一数据内容按照所述检查频率进行一致性检查
。4.
根据权利要求1所述的
MPI
通信数据内容的一致性检查方法,其特征在于,所述第一检查方法或所述第二检查方法包括:基于校验和的检查方法和基于镜像复制的数据内容检查方法中的一种或者两种
。5.
根据权利要求4所述的
MPI
通信数据内容的一致性检查方法,其特征在于,所述第一检查方法或所述第二检查方法包括:基于校验和的检查方法和基于镜像复制的数据内容检查方法;基于所述第一检查方法生成所述第一数据内容的第一检验信息数据,包括:分别根据基于校验和的检查方法和基于镜像复制的数据内容检查方法,生成所述第一数据内容的第一检验信息数据;根据所述第二检查方法生成所述第二数据内容的第三检验信息数据,通过对比所述第二检验信息数据和第三检验信息数据,确定当前通信的数据内容是否通过一致性检查,包括:分别根据基于校验和的检查方法和基于镜像复制的数据内容检查方法,生成所述第二数据内容的第三检验信息数据,若该两种检查方法中至少一种检查方法所生成的第三检验信息数据与对应的第二检验信息数据一致,则确定当前通信的数据内容通过一致性检查
。6.
根据权利要求1所述的
MPI
通信数据内容的一致性检查方法,其特征在于,在所述第
一数据内容和所述第二数据内容的数据量超过设定阈值的情况下,基于所述第一检查方法生成所...

【专利技术属性】
技术研发人员:孙超
申请(专利权)人:北京卡普拉科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1