一种网络通信的方法、装置、网络节点设备及混合网络制造方法及图纸

技术编号:29925331 阅读:19 留言:0更新日期:2021-09-04 18:44
本发明专利技术公开了一种网络通信的方法、装置、网络节点设备及混合网络。所述网络通信方法包括:判断本节点与目标节点之间能否使用以太网网络以及PCIe网络进行通信;若判断为能,则对PCIe网络和以太网网络进行选择;若选择PCIe网络,则使用PCIe的通信方式与所述目标节点进行通信,否则,使用以太网的通信方式与所述目标节点进行通信。本发明专利技术采用以太网网络与PCIe网络混合通信的方式,利用PCIe通信的高可靠性、传输速率高、物理上具有的低延迟和高带宽的优势,与传统的单一使用TCP/IP七层协议的以太网网络相比,这种混合通信的方式可实现更低的系统开销和性能成本,提升通信的传输效率。提升通信的传输效率。提升通信的传输效率。

【技术实现步骤摘要】
一种网络通信的方法、装置、网络节点设备及混合网络


[0001]本专利技术涉及网络通信
,特别涉及一种网络通信的方法、装置、网络节点设备及混合网络。

技术介绍

[0002]以太网协议位于TCP/IP七层协议栈的底层(物理层和数据链路层)。运行在以太网网络集群的应用程序之间进行数据通信时,应用层的有效载荷数据需要向下经由TCP/IP全协议栈,TCP/IP协议栈每层的协议都会加上本层协议的数据头,最终形成的数据帧通过网络发送到远端,远端设备接收到数据帧后,再由下至上经由TCP/IP全协议栈,逐层剥离本层协议的数据头,最终有效载荷到达应用层后由应用程序处理。
[0003]从硬件的角度来看,数据接收端设备使用以太网协议进行通信时,数据通常由以太网硬件网卡接收,并在网卡发出系统中断后进行处理。中断处理器管理队列,并将用户数据向上发送到网络栈中进行进一步处理。直到网络栈验证标识了数据并将其复制到相关的用户缓冲区后,才会通知等待数据的应用程序。从TCP/IP协议栈抽取用户数据的过程,会造成通信的延迟和开销。因此,由于TCP/IP协议栈本身引发通信的延迟和开销,造成了TPC/IP通信的性能瓶颈。
[0004]现有技术中存在使用TCP/IP减载引擎(TOE)的手段来尝试解决协议执行问题,但它们在将数据转发到应用程序的接收端时不提供加速,仍必须处理TCP/IP协议栈,并且转发过程中的硬件中断依然会造成迟延和开销,依然无法解决TCP/IP协议栈本身带来性能瓶颈的问题。

技术实现思路

[0005]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种网络通信的方法、装置、网络节点设备及混合网络。
[0006]第一方面,本专利技术实施例提供一种网络通信的方法,包括:
[0007]判断本节点与目标节点之间能否使用以太网网络以及PCIe网络进行通信;
[0008]若判断为能,则对PCIe网络和以太网网络进行选择;
[0009]若选择PCIe网络,则使用PCIe的通信方式与所述目标节点进行通信,否则,使用以太网的通信方式与所述目标节点进行通信。
[0010]在一个实施例中,使用PCIe的通信方式与所述目标节点进行通信,包括:
[0011]通过与本节点的PCIe硬件进行通讯,将本节点应用程序的数据发送给所述PCIe硬件,并通过所述PCIe硬件转发至PCIe网络,直至到达所述目标节点的目标应用程序;
[0012]通过所述PCIe硬件接收所述目标应用程序通过PCIe通信方式返回给本节点应用程序的数据。
[0013]在一个实施例中,与PCIe硬件进行通讯的方式,包括下述任一项或多项:
[0014]通过直接访问本节点的PCIe硬件的方式;
[0015]通过MPI直接使用本节点的PCIe硬件,或者通过MPI调用共享内存API使用本节点的PCIe硬件的方式;
[0016]使用共享内存API与PCIe硬件进行通讯的方式;
[0017]使用PCIe套接字与PCIe硬件进行通讯的方式。
[0018]在一个实施例中,使用PCIe套接字与PCIe硬件进行通讯的方式下,将本节点应用程序的数据发送给所述PCIe硬件,并通过所述PCIe硬件转发至PCIe网络,直至到达所述目标节点的目标应用程序,具体包括:
[0019]通过预设的PCIe套接字驱动修改应用程序Socket中的套接字类型参数为预设的PCIe套接字类型AF_PCIESOCKS,以使得应用程序通过PCIe套接字的方式处理应用程序的数据;
[0020]通过PCIe套接字驱动向PCIe物理层驱动申请队列地址用于存放应用程序的数据;
[0021]触发CPU将CPU缓存的应用程序的数据写入至内存映射的IO地址;
[0022]通过PCIe硬件对所述数据进行封包处理,并交由PCIe网络中的PCIe交换机发送给所述目标节点的目标应用程序。
[0023]使用PCIe套接字与PCIe硬件进行通讯的方式下,通过所述PCIe硬件接收所述目标应用程序通过PCIe通信方式返回给本节点应用程序的数据,包括:
[0024]通过本节点的PCIe硬件对接收到的数据进行硬件解包,并触发直接内存访问DMA,将解包后的数据写入所述应用程序的接收套接字中。
[0025]在一个实施例中,判断本节点与目标节点之间能否使用PCIe网络进行通信,包括:
[0026]通过预设的配置文件的内容,查找所述本节点和所述目标节点是否都设置有PCIe硬件;所述PCIe硬件为PCIe适配卡;所述配置文件包括:主机标识以及与所述主机标识对应的PCIe适配卡的标识;
[0027]若查找都存在,则确定所述本节点与目标节点之间可使用PCIe网络进行通信。
[0028]在一个实施例中,上述网络通信的方法,还包括:
[0029]在使用PCIe的通信方式与所述目标节点进行通信的过程中,若所述PCIe网络断开,则转换至使用以太网网络继续通信;
[0030]在使用以太网的通信方式与所述目标节点进行通信的过程中,若所述以太网网络断开,则转换至使用PCIe网络继续通信。
[0031]第二方面,本专利技术实施例提供一种网络通信的方法,包括:
[0032]判断本节点与目标节点之间能否使用以太网网络以及PCIe网络进行通信;
[0033]若判断为能,根据本节点和目标节点在PCIe网络和以太网网络的路由所对应的网络性能参数的大小,选择使用PCIe的通信方式或者使用以太网的通信方式与所述目标节点进行通信。
[0034]在一个实施例中,网络性能参数为表征网络拥塞程度的拥塞因子F
congested

[0035]所述本节点和目标节点在PCIe网络和以太网网络的路由所对应的网络性能参数,通过下述方式计算得到:
[0036]分别按照下述公式计算所述本节点和目标节点在PCIe网络和以太网网络的路由所对应的拥塞因子:
[0037]F
congested
=Latency*BandwidthUsageRatio;
[0038]BandwidthUsageRatio=Throughput/Bandwidth;其中:
[0039]F
congested
为拥塞因子,latency为PCIe网络或以太网网络的介质延迟;
[0040]Throughput为PCIe网络或以太网网络的吞吐量;
[0041]Bandwidth为PCIe网络或以太网网络的带宽。
[0042]在一个实施例中,所述PCIe网络和以太网网络的路由的介质延迟、吞吐量和带宽的数值,通过访问Proc文件系统获得。
[0043]第三方面,本专利技术实施例提供一种网络通信的装置,包括:
[0044]判断模块,用于判断本节点与目标节点之间能否使用以太网网络以及PCIe网络进行通信;
[0045]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络通信的方法,其特征在于,包括:判断本节点与目标节点之间能否使用以太网网络以及PCIe网络进行通信;若判断为能,则对PCIe网络和以太网网络进行选择;若选择PCIe网络,则使用PCIe的通信方式与所述目标节点进行通信,否则,使用以太网的通信方式与所述目标节点进行通信。2.如权利要求1所述的方法,其特征在于,使用PCIe的通信方式与所述目标节点进行通信,包括:通过与本节点的PCIe硬件进行通讯,将本节点应用程序的数据发送给所述PCIe硬件,并通过所述PCIe硬件转发至PCIe网络,直至到达所述目标节点的目标应用程序;通过所述PCIe硬件接收所述目标应用程序通过PCIe通信方式返回给本节点应用程序的数据。3.如权利要求2所述的方法,其特征在于,与PCIe硬件进行通讯的方式,包括下述任一项或多项:通过直接访问本节点的PCIe硬件的方式;通过MPI直接使用本节点的PCIe硬件,或者通过MPI调用共享内存API使用本节点的PCIe硬件的方式;使用共享内存API与PCIe硬件进行通讯的方式;使用PCIe套接字与PCIe硬件进行通讯的方式。4.如权利要求3所述的方法,其特征在于,使用PCIe套接字与PCIe硬件进行通讯的方式下,将本节点应用程序的数据发送给所述PCIe硬件,并通过所述PCIe硬件转发至PCIe网络,直至到达所述目标节点的目标应用程序,具体包括:通过预设的PCIe套接字驱动修改应用程序Socket中的套接字类型参数为预设的PCIe套接字类型AF_PCIESOCKS,以使得应用程序通过PCIe套接字的方式处理应用程序的数据;通过PCIe套接字驱动向PCIe物理层驱动申请队列地址用于存放应用程序的数据;触发CPU将CPU缓存的应用程序的数据写入至内存映射的IO地址;通过PCIe硬件对所述数据进行封包处理,并交由PCIe网络中的PCIe交换机发送给所述目标节点的目标应用程序。5.如权利要求3所述的方法,其特征在于,使用PCIe套接字与PCIe硬件进行通讯的方式下,通过所述PCIe硬件接收所述目标应用程序通过PCIe通信方式返回给本节点应用程序的数据,包括:通过本节点的PCIe硬件对接收到的数据进行硬件解包,并触发直接内存访问DMA,将解包后的数据写入所述应用程序的接收套接字中。6.一种网络通信的方法,其特征在于,包括:判断本节点与目标节点之间能否使用以太网网络以及PCIe网络进行通信;若判断为能,根据本节点和目标节点在PCIe网络和以太网网络的路由所对应的网络性能参数的大小,选择使用PCIe的通信方式或者使用以太网的通信方式与所述目标节点进行通信。7.如权利要求6所述的方法,其特征在于,网络性能参数为表征网络拥塞程度的拥塞因子F
congested

所述本节点和目标...

【专利技术属性】
技术研发人员:温福才
申请(专利权)人:中科创达软件股份有限公司
类型:发明
国别省市:

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

1