基于PCIe链路的通信方法、装置、电子设备、存储介质制造方法及图纸

技术编号:22266457 阅读:14 留言:0更新日期:2019-10-10 17:03
本发明专利技术公开了一种基于PCIe链路的通信方法、装置、电子设备、存储介质。该基于PCIe链路的通信装置分别安装在经由PCIe链路相互连接的第一设备和第二设备上,并且,该通信装置包括虚拟网络接口,用于在第一设备和第二设备中的至少一个上,将对于所述PCIe链路的操作转化为对所述虚拟网络接口的操作。实现了在底层经由PCIe链路相互通信的两个或多个设备端之间的数据透明传输,从而减少了代码的编写和维护,降低了系统的复杂度,提高了系统的可维护性。

Communication methods, devices, electronic devices and storage media based on PCIe link

【技术实现步骤摘要】
基于PCIe链路的通信方法、装置、电子设备、存储介质
本公开涉及深度学习
,尤其涉及基于PCIe链路的通信方法、装置、电子设备、存储介质。
技术介绍
随着深度学习相关技术的快速发展,针对深度学习计算特性设计的专用硬件—深度学习加速卡(以下称加速卡)开始出现,并逐渐应用于视频结构化服务器、人脸识别服务器等系统中。这类服务器通常需要满足多路并行、低延时的要求,因此,在一个系统中通常会安装多个加速卡协同作业,来提高应用的效果。目前,常用的服务器系统中可用的加速卡扩展接口一般至少包括PCIe(PeripheralComponentInterconnect-Express,外围部件互联总线)插槽和其它接口(例如RJ45网络接口)两种接口形式。为了满足不同形式的接口的接入需求,加速卡通常会同时提供这些接口(至少两种接口)。另外,在一些场景下,由于服务器系统的扩展接入能力有限,这至少两种接口还会混合使用。然而,这至少两种接口在使用上是存在差异的。例如,对于使用PCIe插槽形式的接口的加速卡,需要在服务器端安装专用的驱动之后,服务器系统才能与该加速卡进行交互,该专用的驱动一般是自定义的、无标准的。而对于使用RJ45网络接口形式的加速卡,服务器系统可以直接利用服务器端的网络驱动与该加速卡进行交互,这部分的网络驱动是统一的、通用的。由此,至少两种的硬件接口形式导致至少两种软件接口的存在,无疑增加了系统的复杂度,降低了系统的可维护性。
技术实现思路
鉴于上述技术问题,本专利技术提供了一种基于PCIe链路的通信方法、装置、电子设备、存储介质,实现在底层经由PCIe链路相互通信的两个或多个设备端之间的数据透明传输。为了解决以上问题之一,专利技术人提出了本专利技术。根据本专利技术的实施例的一种基于PCIe链路的通信装置,所述PCIe链路连接第一设备和第二设备,各自作为所述通信装置的第一通信装置和第二通信装置分别安装在所述第一设备和第二设备上,所述第一和第二通信装置分别包括在底层PCIe链路之上的第一和第二虚拟网络接口,用于在第一设备和第二设备中的至少一个上,将对于所述PCIe链路的操作转化为对所述第一和第二虚拟网络接口的操作。可选地,上述第一和第二通信装置分别经由第一和第二虚拟网络接口与包含在第一和第二中间服务提供装置中的、分别在所述第一设备端和第二设备端提供第一和第二转发服务的第一和第二转发模块进行通信,通过由所述第一和第二转发模块提供的第一和第二转发服务,在PCIe链路与第一和第二虚拟网络接口间进行数据转发。可选地,通过在所述第一设备端和所述第二设备端加载TUN/TAP驱动来分别建立所述第一和第二通信装置的TAP类型的相应的第一和第二虚拟网络接口。可选地,所述PCIe链路连接第一设备和N个设备,这里,N是自然数,所述N个设备包含或者不包含所述第二设备,其中所述N个设备中的每个设备具有一个含有相应的虚拟网络接口的通信装置,并且,所述第一设备建立用于使所述N个设备中的每个设备的虚拟网络接口加入的网桥,以便管理所述N个设备中的每个设备。可选地,由第一设备端的第一转发模块统一管理所述N个设备。可选地,所述第一设备是主机或服务器,所述N个设备是一个或多个加速卡。根据本专利技术的实施例的一种基于PCIe链路的通信方法,所述PCIe链路连接第一设备和第二设备,所述通信方法包括:在底层PCIe链路之上,在第一设备端和第二设备端分别提供第一和第二虚拟网络接口,用于将对于所述PCIe链路的操作转化为对所述第一和第二虚拟网络接口的操作。可选地,上述通信方法还包括:在所述第一设备端和第二设备端分别提供第一和第二转发服务,以在所述第一设备端和所述第二设备端分别建立第一设备和第二设备之间的数据转发进程,所述第一和第二转发服务在PCIe链路与所述第一和第二虚拟网络接口间进行数据转发。可选地,在上述通信方法中,提供第一和第二虚拟网络接口包括在所述第一设备端和所述第二设备端加载TUN/TAP驱动,以分别建立TAP类型的相应的第一和第二虚拟网络接口。可选地,在上述通信方法中,所述PCIe链路连接第一设备和N个设备,这里,N是自然数,所述N个设备包含或者不包含所述第二设备,所述N个设备中的每个设备具有一个虚拟网络接口,并且,所述第一设备建立用于使所述N个设备中的每个设备的虚拟网络接口加入的网桥,以便管理所述N个设备。可选地,在上述通信方法中,第一设备端的第一转发服务统一管理所述所述N个设备。可选地,上述的第一设备是主机或服务器,N个设备是一个或多个加速卡。根据本专利技术的实施例的一种基于PCIe链路的通信方法,所述PCIe链路连接第一设备和第二设备,该通信方法包括:在第二设备端提供第二虚拟网络接口;在第二设备端提供第二转发服务,所述第二转发服务用于在所述PCIe链路和所述第二虚拟网络接口之间进行数据转发,在第二设备端提供的应用程序能够使用标准的网络通信接口对所述第二虚拟网络接口进行操作;在第一设备端提供与所述第二虚拟网络接口相对应的第一虚拟网络接口;以及在第一设备端提供第一转发服务,所述第一转发服务用于在所述PCIe链路和所述第一虚拟网络接口间进行数据转发,在第一设备端提供的应用程序能够使用标准的网络通信接口对所述第一虚拟网络接口进行操作。可选地,在上述通信方法中,提供第一和第二虚拟网络接口包括在所述第一设备端和第二设备端加载TUN/TAP驱动,以分别建立TAP类型的第一和第二虚拟网络接口。可选地,所述PCIe链路连接所述第一设备和N个设备,这里,N是自然数,所述N个设备包含或者不包含所述第二设备,所述N个设备中的每个设备具有一个虚拟网络接口,所述第一设备建立用于使所述N个设备中的每个设备的虚拟网络接口加入的网桥,以便管理所述N个设备。可选地,所述第一设备端的第一转发服务统一管理所述N个设备。可选地,所述第一设备是主机或服务器,所述N个设备是一个或多个加速卡。根据本专利技术的实施例的一种基于PCIe链路的通信装置,所述PCIe链路连接第一设备和第二设备,该通信装置包括:用于在第二设备端提供第二虚拟网络接口的部件;用于在第二设备端提供第二转发服务的部件,所述第二转发服务用于在所述PCIe链路和所述第二虚拟网络接口之间进行数据转发,在第二设备端提供的应用程序能够使用标准的网络通信接口对所述第二虚拟网络接口进行操作;用于在第一设备端提供与第二设备端的所述第二虚拟网络接口相对应的第一虚拟网络接口的部件;以及用于在第一设备端提供第一转发服务的部件,所述第一转发服务用于在所述PCIe链路和所述第一虚拟网络接口间进行数据转发,在第一设备端提供的应用程序能够使用标准的网络通信接口对所述第一虚拟网络接口进行操作。可选地,提供第一和第二虚拟网络接口包括在所述第一设备端和第二设备端加载TUN/TAP驱动,以分别建立TAP类型的第一和第二虚拟网络接口。可选地,所述PCIe链路连接所述第一设备和N个设备,这里,N是自然数,所述N个设备包含或者不包含所述第二设备,所述N个设备中的每个设备具有一个虚拟网络接口,并且,第一设备建立用于使所述N个设备的虚拟网络接口加入的网桥,以便管理所述N个设备。可选地,由第一设备端的第一转发服务统一管理所述N个设备。可选地,所述第一设备是主机或服务器,所述N个设备是一个或本文档来自技高网...

【技术保护点】
1.一种基于PCIe链路的通信装置,所述PCIe链路连接第一设备和第二设备,其特征在于,各自作为所述通信装置的第一通信装置和第二通信装置分别安装在所述第一设备和第二设备上,所述第一和第二通信装置分别包括在底层PCIe链路之上的第一和第二虚拟网络接口,用于在第一设备和第二设备中的至少一个上,将对于所述PCIe链路的操作转化为对所述第一和第二虚拟网络接口的操作。

【技术特征摘要】
1.一种基于PCIe链路的通信装置,所述PCIe链路连接第一设备和第二设备,其特征在于,各自作为所述通信装置的第一通信装置和第二通信装置分别安装在所述第一设备和第二设备上,所述第一和第二通信装置分别包括在底层PCIe链路之上的第一和第二虚拟网络接口,用于在第一设备和第二设备中的至少一个上,将对于所述PCIe链路的操作转化为对所述第一和第二虚拟网络接口的操作。2.如权利要求1所述的通信装置,其特征在于,所述第一和第二通信装置分别经由第一和第二虚拟网络接口与包含在第一和第二中间服务提供装置中的、分别在所述第一设备端和第二设备端提供第一和第二转发服务的第一和第二转发模块进行通信,通过由所述第一和第二转发模块提供的第一和第二转发服务,在PCIe链路与第一和第二虚拟网络接口间进行数据转发。3.如权利要求1所述的通信装置,其特征在于,通过在所述第一设备端和所述第二设备端加载TUN/TAP驱动来分别建立所述第一和第二通信装置的TAP类型的相应的第一和第二虚拟网络接口。4.如权利要求1所述的通信装置,其特征在于,所述PCIe链路连接第一设备和N个设备,这里,N是自然数,所述N个设备包含或者不包含所述第二设备,其中所述N个设备中的每个设备具有一个含有相应的虚拟网络接口的通信装置,并且,所述第一设备建立用于使所述N个设备中的每个设备的虚拟网络接口加入的网桥,以便管理所述N个设备中的每个设备。5.如权利要求4所述的通信装置,其特征在于,由第一设备端的第一转发模块统一管理所述N个设备。6.如权利要求4所述的通信装置,其特征在于,所述第一设备是主机或服务器,所述N个设备是一个或多个加速卡。7.一种基于PCIe链路的通信方法,所述PCIe链路连接第一设备和第二设备,其特征在于,所述通信方法包括:在底层PCIe链路之上,在第一设备端和第二设备端分别提供第一和第二虚拟网络接口,用于将对于所述PCIe链路的操作转化为对所述第一和第二虚拟网络接口的操作。8.如权利要求7所述的通信方法,其特征在于,还包括:在所述第一设备端和第二设备端分别提供第一和第二转发服务,以在所述第一设备端和所述第二设备端分别建立第一设备和第二设备之间的数据转发进程,所述第一和第二转发服务在PCIe链路与所述第一和第二虚拟网络接口间进行数据转发。9.如权利要求7所述的通信方法,其特征在于,提供第一和第二虚拟网络接口包括在所述第一设备端和所述第二设备端加载TUN/TAP驱动,以分别建立TAP类型的相应的第一和第二虚拟网络接口。10.如权利要求8所述的通信方法,其特征在于,所述PCIe链路连接第一设备和N个设备,这里,N是自然数,所述N个设备包含或者不包含所述第二设备,所述N个设备中的每个设备具有一个虚拟网络接口,并且,所述第一设备建立用于使所述N个设备中的每个设备的虚拟网络接口加入的网桥,以便管理所述N个设备。11.如权利要求10所述的通信方法,其特征在于,第一设备端的第一转发服务统一管理所述所述N个设备。12.如权利要求10所述的通信方法,其特征在于,所述第一设备是主机或服务器,所述N个设备是一个或多个加速卡。13.一种基于PCIe链路的通信方法,所述PCIe链路连接第一设备和第二设备,其特征在于,所述通信方法包括:在第二设备端提供第二虚拟网络接口;在第二设备端提供第...

【专利技术属性】
技术研发人员:李毅
申请(专利权)人:北京深鉴智能科技有限公司
类型:发明
国别省市:北京,11

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

1