CN115174654B - 一种基于FPGA和InfiniBand网络的异地通信方法及系统 - Google Patents

一种基于FPGA和InfiniBand网络的异地通信方法及系统 Download PDF

Info

Publication number
CN115174654B
CN115174654B CN202210824779.3A CN202210824779A CN115174654B CN 115174654 B CN115174654 B CN 115174654B CN 202210824779 A CN202210824779 A CN 202210824779A CN 115174654 B CN115174654 B CN 115174654B
Authority
CN
China
Prior art keywords
network
fpga
cpu
communication
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210824779.3A
Other languages
English (en)
Other versions
CN115174654A (zh
Inventor
郭猛
张建洪
温振喜
潘景山
武鲁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Computer Science Center National Super Computing Center in Jinan
Original Assignee
Shandong Computer Science Center National Super Computing Center in Jinan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Computer Science Center National Super Computing Center in Jinan filed Critical Shandong Computer Science Center National Super Computing Center in Jinan
Priority to CN202210824779.3A priority Critical patent/CN115174654B/zh
Publication of CN115174654A publication Critical patent/CN115174654A/zh
Application granted granted Critical
Publication of CN115174654B publication Critical patent/CN115174654B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于网络通信技术领域,提供了一种基于FPGA和InfiniBand网络的异地通信方法及系统,该方法通过软硬件结合的方式解决IB网络无法进行异地互联的问题,主要通过FPGA开发板实现IB网络物理层及链路层子网管理相关协议内容,从CPU程序中卸载IB网络相关功能,进而消除CPU程序对IB网络原生驱动的依赖。

Description

一种基于FPGA和InfiniBand网络的异地通信方法及系统
技术领域
本发明属于网络通信技术领域,尤其涉及一种基于FPGA和InfiniBand网络的异地通信方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
InfiniBand(简称IB)是一个用于高性能计算的计算机网络通信标准,它具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。InfiniBand也用作服务器与存储系统之间的直接或交换互连,以及存储系统之间的互连。
IBTA组织于2000年推出了InfiniBand网络协议,率先实现了对RDMA功能的支持,但由于InfiniBand协议规范无法通过现有运营商网络架构进行传输,导致IB网络应用限制在单个子网。即使IBTA于2014年推出了RoCEv2规范,扩大RDMA技术的应用规模。RoCEv2和IB都支持RDMA技术,但是由于两种规范网络层、链路层、物理层的不同,因此RoCEv2规范的推出仍然无法解决IB网络应用限制在单个子网问题。
现有公开专利CN108989317A-一种基于FPGA的RoCE网卡数据传输方法及网卡,其基于FPGA的RoCE网卡及QPI协议,缩减了RoCE网卡与CPU之间的传输时延。该现有发明专利对于IB网络异地互联,存在以下问题:
(1)仅支持RoCE协议规范,无法对接支持IB网络协议规范;
(2)在远地互联方面仅支持点对点式互联,无法实现两个网络集群之间的互联。
发明内容
为了解决上述背景技术中存在的至少一项技术问题,本发明提供一种基于FPGA和InfiniBand网络的异地通信方法及系统,其通过软硬件结合的方式解决IB网络无法进行异地互联的问题,主要通过FPGA开发板实现IB网络物理层及链路层子网管理相关协议内容,从CPU程序中卸载IB网络相关功能,进而消除CPU程序对IB网络原生驱动的依赖。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种基于FPGA和InfiniBand网络的异地通信方法,包括如下步骤:
不同IB网络集群结点设备通过socket建立通信链路;
基于建立的通信链路,发送方将对应的FPGA一端与IB网络建立物理层连接,另一端通过PCIE接口连接至发送方CPU,发送方CPU将通过PCIE接口上传的IB数据包以有效负载的形式进行传输;
接收方CPU通过socket通信链路提取有效负载,并通过PCIE接口下传至对应的接收方对应的FPGA硬件设备。
本发明的第二个方面提供一种基于FPGA和InfiniBand网络的异地通信系统,包括多个异地IB网络集群,每个网络集群的节点通过FPGA开发板的通信接口连接至对应的集群,不同网络集群的节点通过运营商网络端口相连;
不同网络集群的节点设备用于通过socket建立通信链路;
基于建立的通信链路,发送方用于将对应的FPGA一端与IB网络建立物理层连接,另一端通过PCIE接口连接至发送方CPU,发送方CPU将通过PCIE接口上传的IB数据包以有效负载的形式进行传输;
接收方CPU用于通过socket通信链路提取有效负载,并通过PCIE接口下传至对应的接收方对应的FPGA硬件设备。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的一种基于FPGA和InfiniBand网络的异地通信方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种基于FPGA和InfiniBand网络的异地通信方法中的步骤。
与现有技术相比,本发明的有益效果是:
本发明通过软硬件结合的方式解决IB网络无法进行异地互联的问题,主要通过FPGA开发板基于IB网络物理层及链路层子网管理相关协议内容实现IB网络子网管理互联,无需CPU参与,更不需要上层IB驱动底层对子网管理数据包修改的支持,从CPU程序中卸载IB网络相关功能,进而消除CPU程序对IB网络原生驱动的依赖。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明基于基于FPGA和InfiniBand网络的异地互联的拓扑连接示意图;
图2是本发明基于FPGA和InfiniBand网络的异地互联整体效果图;
图3是本发明基于以太网网卡的socket通信程序及CPU有关整体控制流程;
图4是本发明基于FPGA硬件设备的IB网络协议相关内容实现流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
正如背景技术中提及的无法实现异地网络集群之间的互联通信的问题,本发明通过软硬件结合的方式解决了IB网络无法进行异地互联的问题,通过FPGA开发板实现IB网络物理层及链路层子网管理相关协议内容,从CPU程序中卸载IB网络相关功能,进而消除CPU程序对IB网络原生驱动的依赖。
实施例一
本实施例提供一种基于FPGA和InfiniBand网络的异地通信方法,包括如下步骤:
图1为实现IB跨网络异地互联的拓扑连接图,如图1所示,包括多个异地IB网络集群,每个网络集群的节点通过FPGA开发板的通信接口连接至对应的集群,不同网络集群的节点通过运营商网络端口相连。
不同IB网络集群结点设备通过socket建立通信链路;
在建立完整socket通信链路之后,就是正常传输通信部分。
所述每个网络集群的节点包括CPU,基于建立的通信链路,发送方CPU将对应的FPGA硬件设备通过PCIE接口上传的IB数据包以有效负载的形式进行传输,接收方CPU通过socket通信链路中提取有效负载,并通过PCIE接口下传至对应的FPGA硬件设备。
在本实施例中,需要说明的是:
在正常传输通信过程,CPU不负责产生数据,只负责传输FPGA硬件设备通过PCIE接口提供的数据包,将FPGA设备通过PCIE接口提供的数据包整体作为socket通信的有效负载进行传输。同样,也会实时将从socket通信中接收到的socket数据中的有效负载进行提取,并通过PCIE接口下传至FPGA硬件设备。
以两个异地的IB网络集群为例说明:
机器C是IB网络集群A的其中一个结点,其一端通过FPGA开发板的一个通信光端口为C1(该端口会通过FPGA实现为IB网络端口)连接至集群A,另一端与运营商网络的端口为C2(该端口为商业以太网网卡端口)连接;
机器D是IB网络集群B的其中一个结点,其一端通过FPGA开发板的一个通信光端口为D1(该端口会通过FPGA实现为IB网络端口)连接至集群B,另一端与运营商网络的端口为D2(该端口为商业以太网网卡端口)连接。
通过上述连接方式实现两个异地的IB网络集群通过网关设备机器C和机器D实现两个异地IB集群之间的互联。两个异地的IB网络集群连通后达到的整体效果如图2所示。
作为一种或多种实施例,不同每个网络集群的节点的功能与实现是一致的,如图3所示为方案的完整架构,包括两部分,一部分是基于软件的开发内容,基于以太网网卡的socket通信程序及CPU有关整体控制流程程序;另一部分是基于FPGA硬件设备的IB网络协议相关内容实现,软件功能与硬件功能之间的数据通信是采用PCIE接口进行的。
本实施例通过机器C和机器D之间之间的通信为例进行说明:
所述机器C内部包含第一CPU,所述第一CPU一端通过第一PCIE接口连接至第一FPGA,第一FPGA通过IB网络连接至IB集群A,另一端通过第二PCIE接口连接至第一以太网网卡,第一以太网网卡通过运营商网络连接至机器D的运营商网络端口;
运营商网络端口连接至第二以太网网卡,第二以太网网卡通过第三PCIE接口连接至第二CPU,所述第二CPU通过第四PCIE接口连接至第二FPGA,第二FPGA通过IB网络连接至IB集群B。
其具体的通信过程包括:
S101:两台网关机器C和机器D通过socket建立通信链路,该socket通信是IB网络异地互连的基础,所有IB网络异地互连传输数据都是通过该socket链路传输。
其中,所述两台网关机器C与D的socket通过socket建立通信链路是通过在不同的IB网络集群节点设备上分别启用TCP服务端和TCP客户端,建立socket连接。
S102:在建立完整socket通信链路之后,就是正常传输通信部分。在正常传输通信过程,CPU不负责产生数据,只负责传输FPGA硬件设备通过PCIE接口提供的数据包,将FPGA设备通过PCIE接口提供的数据包整体作为socket通信的有效负载进行传输。同样,也会实时将从socket通信中接收到的socket数据中的有效负载进行提取,并通过PCIE接口下传至FPGA硬件设备。
硬件部分功能主要实现在FPGA设备中,硬件设备的核心包括三部分:
(1)基于高速串行接口实现IB网络物理层协议,与IB网络建立物理层连接的同时为FPGA其他核心功能提供IB网路通信接口。
(2)不同IB网络集群结点设备通过socket建立通信链路后,进行子网管理初始化,包括:根据IB网络链路层子网管理相关协议,预设一些子网管理相关报文属性的寄存器值,这些预设寄存器值共同目的就是将FPGA硬件设备映射成IB网络双端口交换机。在子网管理初始化过程中,利用预设寄存器值通过主子网管理节点进行交互达到目的。
(3)将需要转发至另一端IB网络的传输数据通过PCIE接口上传至CPU或将CPU经过PCIE下传的传输数据经过IB端口发送出去。
如图4所示,所述FPGA通过IB网络进行通信的工作原理包括:
所述发送方FPGA包括高速串行接口,通过高速串行接口与IB网络建立物理层连接,同时为发送方FPGA其它核心功能提供IB网络通信接口;
所述发送方FPGA用于判断发送方发送的数据是否为子网管理数据,若是,则根据IB子网SMI规则修改相应的路由字段,否则直接将数据包上传至发送CPU;
判断数据包的目的地是否是自身,若是,根据IB子网SMA规则对不同报文利用预设值进行应答,将数据包进行回传;
将回传的数据包通过IB端口发送至数据接收方;
数据接收方接收数据的原理和上述过程一致,所述接收方FPGA用于判断接收方接收的数据是否为子网管理数据,若是,则根据IB子网SMI规则修改相应的路由字段,否则直接将数据包上传至接收方CPU;
判断数据包的目的地是否是自身,若是,根据IB子网SMA规则对不同报文利用预设值进行应答,将数据包进行回传。
上述方案的优点在于,可以使IB网络集群跨运营商架构网络实现异地互联。通过FPGA硬件实现IB网络子网管理互联,无需CPU参与,更不需要上层IB驱动底层对子网管理数据包修改的支持。
实施例二
本实施例提供一种基于FPGA和InfiniBand网络的异地通信系统,图1为实现IB跨网络异地互联的拓扑连接图,如图1所示,包括多个异地IB网络集群,每个网络集群的节点通过FPGA开发板的通信接口连接至对应的集群,不同网络集群的节点通过运营商网络端口相连。
不同网络集群的节点设备用于通过socket建立通信链路;
基于建立的通信链路,发送方用于将对应的FPGA一端与IB网络建立物理层连接,另一端通过PCIE接口连接至发送方CPU,发送方CPU将通过PCIE接口上传的IB数据包以有效负载的形式进行传输;
接收方CPU用于通过socket通信链路提取有效负载,并通过PCIE接口下传至对应的接收方对应的FPGA硬件设备。
以两个异地的IB网络集群为例说明:
机器C是IB网络集群A的其中一个结点,其一端通过FPGA开发板的一个通信光端口为C1(该端口会通过FPGA实现为IB网络端口)连接至集群A,另一端与运营商网络的端口为C2(该端口为商业以太网网卡端口)连接;
机器D是IB网络集群B的其中一个结点,其一端通过FPGA开发板的一个通信光端口为D1(该端口会通过FPGA实现为IB网络端口)连接至集群B,另一端与运营商网络的端口为D2(该端口为商业以太网网卡端口)连接。
通过上述连接方式实现两个异地的IB网络集群通过网关设备机器C和机器D实现两个异地IB集群之间的互联。两个异地的IB网络集群连通后达到的整体效果如图2所示。
本实施例通过机器C和机器D之间之间的通信为例进行说明:
所述机器C内部包含第一CPU,所述第一CPU一端通过第一PCIE接口连接至第一FPGA,第一FPGA通过IB网络连接至IB集群A,另一端通过第二PCIE接口连接至第一以太网网卡,第一以太网网卡通过运营商网络连接至机器D的运营商网络端口;
运营商网络端口连接至第二以太网网卡,第二以太网网卡通过第三PCIE接口连接至第二CPU,所述第二CPU通过第四PCIE接口连接至第二FPGA,第二FPGA通过IB网络连接至IB集群B。
FPGA一端与IB网络建立物理层连接后,通信过程包括:
判断发送方发送的数据是否为子网管理数据,若是,则根据IB子网SMI规则修改相应的路由字段,否则直接将数据包上传至发送CPU;
判断数据包的目的地是否是自身,若是,根据IB子网SMA规则对不同报文利用预设值进行应答,将数据包进行回传;
将回传的数据包通过IB端口发送至数据接收方。
不同IB网络集群结点设备通过socket建立通信链路后,进行子网管理初始化,具体包括:
根据IB网络链路层子网管理相关协议,预设子网管理相关报文属性的寄存器值,通过预设寄存器值将FPGA硬件设备映射成IB网络双端口交换机进行主子网管理节点进行交互。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的一种基于InfiniBand网络的跨网异地互联通信方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种基于InfiniBand网络的跨网异地互联通信方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于FPGA和InfiniBand网络的异地通信方法,其特征在于,包括如下步骤:
不同IB网络集群结点设备通过socket建立通信链路;
基于建立的通信链路,发送方将对应的FPGA一端与IB网络建立物理层连接,另一端通过PCIE接口连接至发送方CPU,发送方CPU将通过PCIE接口上传的IB数据包以有效负载的形式进行传输;
接收方CPU通过socket通信链路提取有效负载,并通过PCIE接口下传至对应的接收方对应的FPGA硬件设备。
2.如权利要求1所述的一种基于FPGA和InfiniBand网络的异地通信方法,其特征在于,所述不同IB网络集群结点设备通过socket通信链路为通过在不同的IB网络集群节点设备上分别启用TCP服务端和TCP客户端建立的。
3.如权利要求1所述的一种基于FPGA和InfiniBand网络的异地通信方法,其特征在于,FPGA一端与IB网络建立物理层连接后,通信过程包括:
判断发送方发送的数据是否为子网管理数据,若是,则根据IB子网SMI规则修改相应的路由字段,否则直接将数据包上传至发送CPU;
判断数据包的目的地是否是自身,若是,根据IB子网SMA规则对不同报文利用预设值进行应答,将数据包进行回传;
将回传的数据包通过IB端口发送至数据接收方。
4.如权利要求1所述的一种基于FPGA和InfiniBand网络的异地通信方法,其特征在于,不同IB网络集群结点设备通过socket建立通信链路后,进行子网管理初始化,具体包括:
根据IB网络链路层子网管理相关协议,预设子网管理相关报文属性的寄存器值,通过预设寄存器值将FPGA硬件设备映射成IB网络双端口交换机进行主子网管理节点进行交互。
5.一种基于FPGA和InfiniBand网络的异地通信系统,其特征在于,包括多个异地IB网络集群,每个网络集群的节点通过FPGA开发板的通信接口连接至对应的集群,不同网络集群的节点通过运营商网络端口相连;
不同网络集群的节点设备用于通过socket建立通信链路;
基于建立的通信链路,发送方用于将对应的FPGA一端与IB网络建立物理层连接,另一端通过PCIE接口连接至发送方CPU,发送方CPU将通过PCIE接口上传的IB数据包以有效负载的形式进行传输;
接收方CPU用于通过socket通信链路提取有效负载,并通过PCIE接口下传至对应的接收方对应的FPGA硬件设备。
6.如权利要求5所述的一种基于FPGA和InfiniBand网络的异地通信系统,其特征在于,所述每个网络集群的节点通过FPGA开发板的通信接口连接至对应的集群,不同网络集群的节点通过运营商网络端口相连,具体包括:
集群A的机器C内部包含第一CPU,所述第一CPU一端通过第一PCIE接口连接至第一FPGA,第一FPGA通过IB网络连接至IB集群A,另一端通过第二PCIE接口连接至第一以太网网卡,第一以太网网卡通过运营商网络连接至机器D的运营商网络端口;
运营商网络端口连接至第二以太网网卡,第二以太网网卡通过第三PCIE接口连接至第二CPU,所述第二CPU通过第四PCIE接口连接至第二FPGA,第二FPGA通过IB网络连接至集群B。
7.如权利要求5所述的一种基于FPGA和InfiniBand网络的异地通信系统,其特征在于,FPGA一端与IB网络建立物理层连接后,通信过程包括:
判断发送方发送的数据是否为子网管理数据,若是,则根据IB子网SMI规则修改相应的路由字段,否则直接将数据包上传至发送CPU;
判断数据包的目的地是否是自身,若是,根据IB子网SMA规则对不同报文利用预设值进行应答,将数据包进行回传;
将回传的数据包通过IB端口发送至数据接收方。
8.如权利要求5所述的一种基于FPGA和InfiniBand网络的异地通信系统,其特征在于,不同IB网络集群结点设备通过socket建立通信链路后,进行子网管理初始化,具体包括:
根据IB网络链路层子网管理相关协议,预设子网管理相关报文属性的寄存器值,通过预设寄存器值将FPGA硬件设备映射成IB网络双端口交换机进行主子网管理节点进行交互。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的一种基于FPGA和InfiniBand网络的异地通信方法中的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一项所述的一种基于FPGA和InfiniBand网络的异地通信方法中的步骤。
CN202210824779.3A 2022-07-14 2022-07-14 一种基于FPGA和InfiniBand网络的异地通信方法及系统 Active CN115174654B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210824779.3A CN115174654B (zh) 2022-07-14 2022-07-14 一种基于FPGA和InfiniBand网络的异地通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210824779.3A CN115174654B (zh) 2022-07-14 2022-07-14 一种基于FPGA和InfiniBand网络的异地通信方法及系统

Publications (2)

Publication Number Publication Date
CN115174654A CN115174654A (zh) 2022-10-11
CN115174654B true CN115174654B (zh) 2023-05-23

Family

ID=83493198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210824779.3A Active CN115174654B (zh) 2022-07-14 2022-07-14 一种基于FPGA和InfiniBand网络的异地通信方法及系统

Country Status (1)

Country Link
CN (1) CN115174654B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777992A (zh) * 2012-10-18 2014-05-07 北京临近空间飞行器系统工程研究所 跨异构操作系统的一种i/o密集型协同交互仿真方法
CN108989317A (zh) * 2018-07-26 2018-12-11 浪潮(北京)电子信息产业有限公司 一种基于FPGA的RoCE网卡数据传输方法及网卡
CN110297801A (zh) * 2018-03-22 2019-10-01 塔塔咨询服务有限公司 基于容错fpga的事务系统的正好一次事务语义
CN111367659A (zh) * 2020-02-24 2020-07-03 苏州浪潮智能科技有限公司 一种Kubernetes中节点的资源管理方法、设备以及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805195B2 (en) * 2007-07-16 2014-08-12 Ciena Corporation High-speed optical transceiver for InfiniBand and Ethernet
US7568062B2 (en) * 2005-12-21 2009-07-28 Cisco Technology, Inc. Data cut-through in an infiniband/fibre channel bridge
US20190250941A1 (en) * 2016-10-18 2019-08-15 Src Labs, Llc Fpga platform as a service (paas)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777992A (zh) * 2012-10-18 2014-05-07 北京临近空间飞行器系统工程研究所 跨异构操作系统的一种i/o密集型协同交互仿真方法
CN110297801A (zh) * 2018-03-22 2019-10-01 塔塔咨询服务有限公司 基于容错fpga的事务系统的正好一次事务语义
CN108989317A (zh) * 2018-07-26 2018-12-11 浪潮(北京)电子信息产业有限公司 一种基于FPGA的RoCE网卡数据传输方法及网卡
CN111367659A (zh) * 2020-02-24 2020-07-03 苏州浪潮智能科技有限公司 一种Kubernetes中节点的资源管理方法、设备以及介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《FPGA Implementation of RDMA-Based Data Acquisition System Over 100-Gb Ethernet》;Wassim Mansour;《 IEEE Transactions on Nuclear Science》;第第66卷卷(第第7期期);第1138-1143页 *
《万兆以太网与InfiniBand网互连网关的设计与实现》;郜红超;《中国优秀硕士学位论文全文数据库-信息科技辑》;第四章 *
《面向分布式内存访问的低延迟InfiniBand接口》;刘英文;唐玉华;易晓东;;《计算机研究与发展》(第S1期);第123-129页 *
多集群计算环境故障监控管理系统;张毅;陈良;庞剑;;计算机工程与科学(第11期);全文 *

Also Published As

Publication number Publication date
CN115174654A (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
US10938937B2 (en) Multi-datacenter message queue
CN103081418B (zh) 计算机系统和计算机系统中的通信方法
CN102055667B (zh) 用于实现网络规则的方法和设备
JP4416733B2 (ja) 状態の同期化を有するクラスタのための仮想マルチキャスト経路指定
CN101325497B (zh) 在不存在自动协商标准的接口上的自动协商
US20090245791A1 (en) Method and System for Fibre Channel and Ethernet Interworking
US9619252B2 (en) Reconfigurable avionics equipment and method of reconfiguring such equipment
AU2004305790A1 (en) Virtual network device
US9467374B2 (en) Supporting multiple IEC-101/IEC-104 masters on an IEC-101/IEC-104 translation gateway
KR101938623B1 (ko) 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이
CN111343019B (zh) 一种重连方法、装置和存储介质
CN114020395A (zh) 一种虚拟桌面网络加速的方法、装置、终端及存储介质
CN114640627B (zh) 报文转发方法及装置、非易失性存储介质、处理器
CN113794618B (zh) 基于虚拟网卡的冗余网络通信方法、装置及终端设备
US20160323204A1 (en) CONTROLLER BASED FIBRE CHANNEL OVER ETHERNET (FCoE) FABRIC
CN115174654B (zh) 一种基于FPGA和InfiniBand网络的异地通信方法及系统
CN106533771B (zh) 一种网络设备以及控制信息传输方法
US20230269164A1 (en) Method and apparatus for sending route calculation information, device, and storage medium
US20050108416A1 (en) Distributed control plane architecture for network elements
CN103428270A (zh) 一种适用于分布式环境的网络通信方法
CN114866510B (zh) 一种基于InfiniBand网络的跨网异地互联通信方法及系统
CN102932186B (zh) 一种集群系统及消除环路的方法
CA2641669C (en) Mobile server with multiple service connections
CN112769698B (zh) 一种路由实现方法和装置
CN101964721B (zh) 用于联网的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant