[发明专利]数据传输的方法和系统在审
| 申请号: | 202011394704.3 | 申请日: | 2020-12-03 |
| 公开(公告)号: | CN114116595A | 公开(公告)日: | 2022-03-01 |
| 发明(设计)人: | 祝佳 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F15/173 | 分类号: | G06F15/173;G06F9/54 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据传输 方法 系统 | ||
本申请提供了一种实现数据传输的方法和系统,以提高数据传输时的效率。本申请提供的数据传输方法是多个通信子模块通过并行方式通信时的一种实现方法。多个通信子模块中的第二通信子模块将需要发送给第一通信子模块的数据,发送到硬件队列中;所述第一通信子模块在所述硬件队列被写入数据的状态被触发时,从所述硬件队列获取所述数据。所述硬件队列可以是运行所述第一通信子模块的第一处理器中的硬件队列或运行所述第二通信子模块的第二处理器中的硬件队列。通过所述方法,所述第二子模块不需要向所述第一子模块发送通知消息以通知数据已发送,降低了所述第二子模块与所述第一子模块之间通信的时延,提高了通信的效率。
技术领域
本申请涉及信息技术领域,尤其涉及一种数据传输的方法和系统。
背景技术
消息传递接口标准(message-passing interface,MPI)是一个跨语言的通讯协议,支持点对点和集合通讯。MPI的目标是高性能,大规模性和可移植性,是当今高性能计算的主要通讯模型。通常情况下,在高性能计算(high-performance computing,HPC)的典型场景的应用中,MPI通信占比都比较高。例如,在Allreduce集合通讯中,是将每个进程的数据先进行汇聚并归约然后再广播至每个进程,最终每个进程得到相同的一份归约后的数据。
在集合通信中,多个进程与一个进程通信,或一个进程与多个进程通信时,存在着通信效率低的问题。
发明内容
本申请提供了一种实现数据传输的方法和系统,以提高数据传输时的效率。
第一方面,本申请提供一种数据传输的方法,所述方法包括:
第二通信子模块,将需要发送给第一通信子模块的数据,发送到硬件队列中,所述硬件队列是运行所述第一通信子模块的第一处理器中的硬件队列或运行所述第二通信子模块的第二处理器中的硬件队列;
所述第一通信子模块在所述硬件队列被写入数据的状态被触发时,从所述硬件队列获取所述数据;其中,所述第二通信子模块是多个第二通信子模块中的一个,所述多个第二通信子模块通过并行的方式与所述第一通信子模块通信;或所述第一通信子模块是多个第一通信子模块中的一个,所述多个第一通信子模块通过并行的方式与所述第二通信子模块通信。
上述方法中,所述第二子模块通过硬件队列向所述第一子模块发送数据,这样就不需要所述第二子模块再向所述第一子模块发送通知消息以通知所述第一子模块数据已经发送,降低了所述第二子模块与所述第一子模块之间通信的时延,提高了通信的效率。并且,由于采用硬件队列的形式接收数据,所述第一通信子模块只需判断硬件队列的状态是否达到预设的状态,不需要通过计数的方式确认是否接收到所述第二通信子模块发送的数据,减少了因计数带来的资源占用,能够在不改变通信正确性的前提下提升所述第二子模块与所述第一子模块之间通信的性能。
具体的,所述多个第二通信子模块是多个不同的第二通信子模块。所述多个不同的第二通信子模块通过并行的方式与所述第一通信子模块通信。在一种实现方式中,所述多个不同的第二通信子模块并行向所述第一通信子模块发送数据。在一种实现方式中,所述多个不同的第二通信子模块是集合通信中多个不同的子模块,所述第一通信子模块是集合通信中的根模块。
具体的,所述多个第一通信子模块是多个不同的第一通信子模块。所述多个第一通信子模块通过并行的方式与所述第二通信子模块通信。在一种实现方式中,所述多个不同的第一通信子模块并行接收所述第二通信子模块发送的数据。在一种实现方式中,所述多个不同的第一通信子模块是集合通信中多个不同的子模块,所述第二通信子模块是集合通信中的根模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011394704.3/2.html,转载请声明来源钻瓜专利网。





