CN112486895A - 一种fpga芯片及其互联控制方法 - Google Patents
一种fpga芯片及其互联控制方法 Download PDFInfo
- Publication number
- CN112486895A CN112486895A CN201910865989.5A CN201910865989A CN112486895A CN 112486895 A CN112486895 A CN 112486895A CN 201910865989 A CN201910865989 A CN 201910865989A CN 112486895 A CN112486895 A CN 112486895A
- Authority
- CN
- China
- Prior art keywords
- data
- logic unit
- fpga chip
- routing
- fpga
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000003068 static effect Effects 0.000 claims abstract description 16
- 238000004806 packaging method and process Methods 0.000 claims abstract description 5
- 230000000694 effects Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种FPGA芯片及其互联控制方法,涉及计算机技术领域,主要目的在于在现有两两直连的FPGA网络中,实现任意FPGA互联的效果,无需添加新设备便可提高搭建FPGA网络的灵活性。本发明主要的技术方案为:FPGA芯片包括静态逻辑区和动态逻辑区,所述静态逻辑区中设置有路由逻辑单元与互联逻辑单元,其中,路由逻辑单元用于根据路由规则判断接收到的第一数据是否发送给互联逻辑单元;互联逻辑单元分别连接所述动态逻辑区与所述路由逻辑单元,用于将动态逻辑区的待发送数据打包为第二数据发送至路由逻辑单元,或者将路由逻辑单元发送的第一数据发送至动态逻辑区。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种FPGA芯片及其互联控制方法。
背景技术
FPGA(Field-Programmable Gate Array,现场可编程门阵列),是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。FPGA作为一种可编程逻辑器件,具有善长数据并行计算、更加灵活和低延迟的特点,随着云计算、人工智能时代的到来,已经从最初诞生时的电子设计外围器件,逐渐演变为数字系统的核心。由于云计算、人工智能的应用发展,对芯片的计算力提出了更高要求,FPGA由于可以同时进行数据并行和任务并行计算,同时具有更大的灵活性,很多使用通用处理器或ASIC难以实现的底层硬件控制操作,利用FPGA可以很方便的实现。因此,近年来FPGA受到越来越多的关注和应用。
在用户使用FPGA云服务时,可能会购买多片FPGA芯片的实例。目前在云服务商的数据中心中FPGA芯片之间都是两两直连的,这样云服务商只能将存在物理互联的芯片售卖给客户。而如果需要将不存在物理数据线直连的FPGA芯片互联售卖给客户,则需要通过在FPGA芯片之间增加交换机或路由器等设备实现,而对于所增加的设备不仅需要额外增加成本,而这些设备之间的兼容性、安全性都可能存在问题,从而影响搭建FPGA网络的灵活性。
发明内容
鉴于上述问题,本发明提出了一种FPGA芯片及其互联控制方法,主要目的在于在现有两两直连的FPGA网络中,实现任意FPGA互联的效果,无需添加新设备便可提高搭建FPGA网络的灵活性。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明提供一种FPGA芯片,所述FPGA芯片包括静态逻辑区和动态逻辑区,所述静态逻辑区中设置有路由逻辑单元与互联逻辑单元,其中,
路由逻辑单元用于根据路由规则判断接收到的第一数据是否发送给互联逻辑单元;
互联逻辑单元分别连接所述动态逻辑区与所述路由逻辑单元,用于将动态逻辑区的待发送数据打包为第二数据发送至路由逻辑单元,或者将路由逻辑单元发送的第一数据发送至动态逻辑区。
另一方面,本发明提供一种FPGA芯片的互联控制方法,所述FPGA芯片中设置有路由逻辑单元与互联逻辑单元,所述方法包括:
路由逻辑单元通过输入网口接收第一FPGA芯片发送的第一数据,所述第一FPGA芯片与所述FPGA芯片直连;
路由逻辑单元根据路由规则判断是否将所述第一数据发送至互联逻辑单元;
若否,则将所述第一数据通过输出网口发送至第二FPGA芯片,所述第二FPGA芯片与所述芯片直连。
另一方面,本发明提供一种基于FPGA芯片的服务系统,所述服务系统中含有多个FPGA芯片,所述FPGA芯片之间两两直连,其中,FPGA芯片采用上述本发明提供的FPGA芯片。
借由上述技术方案,本发明提供的一种FPGA芯片及其互联控制方法,实现了在现有FPGA芯片两两直连的网络形态下,通过在FPGA芯片静态逻辑区中设置有路由逻辑单元与互联逻辑单元,将不存在物理数据线直连的多个FPGA芯片互联,其数据传输过程是将数据发送至相邻的FPGA芯片,由该FPGA芯片判断是否接收该数据,若不接收则将该数据传递给下一个相邻的FPGA芯片,直至找到能够处理该数据的FPGA芯片为止,如此,在不增加外部设备的情况下,通过增加路由逻辑单元与互联逻辑单元即可实现任意FPGA芯片的互联,避免了使用路由器或交换机存在的兼容性、安全性问题,节约了搭建FPGA网络的成本,并提高了该网络的灵活性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提出的一种芯片的互联控制方法的流程图;
图2示出了本发明实施例提出的另一种芯片的互联控制方法的流程图;
图3示出了本发明实施例提出的一种慢请求耗时原因的确定方法的流程图;
图4示出了本发明实施例提出的一种芯片的互联控制装置的组成框图;
图5示出了本发明实施例提出的另一种芯片的互联控制装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种FPGA芯片,具体如图1所示,为该FPGA芯片的逻辑结构示意图,该FPGA芯片包括有静态逻辑区shell和动态逻辑区CL,其中,静态逻辑区shell为用户不可编辑区域,用于控制所述FPGA芯片的非业务逻辑,比如,FPGA芯片之间的连接、数据收发操作等逻辑;而动态逻辑区CL则为用户可编辑区域,用于执行用户编写的程序。
在本发明实施例的FPGA芯片中,是在静态逻辑区shell中新增加了两个逻辑单元,路由逻辑单元11与互联逻辑单元12,其中,路由逻辑单元11用于根据路由规则判断接收到的第一数据是否发送给互联逻辑单元12,该第一数据是基于物理数据线连接的相邻FPGA芯片,而路由规则是基于系统中所有FPGA芯片的拓扑结构所确定,通过该路由规则,路由逻辑单元11能够确定生成第一数据的FPGA芯片与当前的FPGA芯片是否属于同一个用户,即判断这两个FPGA芯片是否为互联的FPGA芯片,若是,则将第一数据发送给互联逻辑单元12,否则,将第一数据发送给与该FPGA芯片直连的另一个FPGA芯片。
假设,在两两直连的FPGA芯片网路中,与该FPGA芯片存在物理数据线直连的两个FPGA芯片为第一FPGA芯片与第二FPGA芯片,那么,当FPGA芯片中的路由逻辑单元11接收到第一FPGA芯片传输的第一数据后,将通过路由规则判断是否将第一数据发送给互联逻辑单元12,若是,则由互联逻辑单元12接收该第一数据并做进一步处理,否则,路由逻辑单元11会将该第一数据发送给第二FPGA芯片。
根据图1所示,静态逻辑区shell中的互联逻辑单元12分别连接动态逻辑区CL与路由逻辑单元11,即该互联逻辑单元12为动态逻辑区CL与路由逻辑单元11之间的数据传输通道。然而,在本实施例中,互联逻辑单元12不仅可以将路由逻辑单元11发送的第一数据发送至动态逻辑区CL,以供动态逻辑区CL执行用户所编辑的程序;还可以将动态逻辑区CL所产生的待发送数据发送给路由逻辑单元11,其中,待发送数据是在执行用户编辑的程序过程中,由FPGA芯片中的部分元器件输出的数据,这些数据需要输入与该FPGA芯片互联的另一块FPGA芯片中,以继续执行用户编辑的程序。而在该数据传输过程中,互联逻辑单元12会对待发送数据进行打包处理为第二数据,以实现对该待发送数据添加用户标识信息的目的,而该用户标识信息则是在其他FPGA芯片接收到第二数据时,其路由规则就是根据该用户标识信息确定其是否要接收该第二数据,或者是将第二数据传递给下一个FPGA芯片。
进一步的,如图1所示,该FPGA芯片还具有连个数据传输接口,即输入网口13和输出网口14,在本实施例中,由于FPGA芯片之间是两两直连的,因此,每个FPGA芯片都具有一个输入网口13与输出网口14,分别连接第一FPGA芯片与第二FPGA芯片。也就是说,第一FPGA芯片的输出网口与本FPGA芯片的输入网口13通过物理数据线直连,而本FPGA芯片输出网口14与第二FPGA芯片的输入网口通过物理数据线直连。
此外,FPGA芯片中的路由逻辑单元11分别于输入网口13和输出网口14相连,实现接收第一FPGA芯片发送的第一数据,以及向第二FPGA芯片发送第二数据或第一数据。
进一步的,该FPGA芯片中的路由逻辑单元11还用于,通过预置接口接收管控服务器发送的路由规则,该管控服务器中运行有确定路由规则的管控系统。当管控系统发现存在新的路由规则时,会将该路由规则发送给路由逻辑单元11,以确保路由逻辑单元11能够准确地识别出是否需要处理该第一数据,具体的,路由规则能够识别第一数据中的用户标识信息是否与其所属的FPGA芯片的用户标识信息相同,若相同,则将第一数据发送给互联逻辑单元12,否则将该第一数据发送给相邻的FPGA芯片,即转发该第一数据,不做处理。
以上,通过图1所示的FPGA芯片的逻辑结构示意图说明了本发明实施例中FPGA芯片相对于现有FPGA芯片的区别,即在静态逻辑区shell中增加了路由逻辑单元11与互联逻辑单元12,实现了在两两直连的FPGA网络结构中,能够将任意一个FPGA芯片所产生的数据通过顺序传输而找到接收该数据的FPGA芯片,在未增加路由器或交换机等连接设备的情况下实现了FPGA芯片互联的效果,降低了网路搭建成本,也避免了因使用其他连接设备而出现系统兼容或安全问题。
进一步的,本发明实施例还提供了一种FPGA芯片的互联控制方法,该方法是基于上述实施例中所提出的FPGA芯片所实现的全互联控制方法。即,在FPGA芯片的静态逻辑区中设置有路由逻辑单元与互联逻辑单元,其具体步骤如图2所示,该方法包括:
步骤101、路由逻辑单元通过输入网口接收第一FPGA芯片发送的第一数据。
其中,第一FPGA芯片是与该FPGA芯片由物理数据线直连的FPGA芯片。该物理数据线连接该FPGA芯片的输入网口与第一FPGA芯片的输出网口。需要说明的是,本实施例中的输入网口与输出网口是基于数据传输方向而定义的,而当传输方向变化时,定义网口传输数据的功能也会对应改变。
步骤102、路由逻辑单元根据路由规则判断是否将第一数据发送至互联逻辑单元。
其中,路由规则是由路由逻辑单元所连接的管控服务器提供的,该管控服务器中运行有确定路由规则的管控系统,而该管控系统是基于FPGA芯片的系统拓扑结构来确定对应FPGA芯片的路由规则,其中,系统拓扑结构用于表示具有相同用户标识信息的FPGA芯片。
在实际应用中,该管控服务器可以由一台虚拟机实现,管控系统则用于监控云服务为用户分配FPGA的情况,即,当一个用户在云服务中购买了含有多个FPGA芯片的实例后,管控系统将会为该用户分配对应的FPGA实例标识,该标识可以唯一标识该用户,也可以理解为用户信息标识,即为对应的FPGA芯片标记用户信息标识,同时,由于FPGA芯片标记了新的用户信息标识,将导致FPGA网络的拓扑结构发生改变,管控系统将根据拓扑结构的变化生成对应各个FPGA芯片新的路由规则。
需要说明的是,本实例中,路由逻辑单元可以在本地存储对应FPGA芯片的路由规则,也可以将第一数据的用户标识信息发送给管控服务器,由管控服务器反馈判断结果。而当路由逻辑单元在本地存储路由规则时,管控服务器需要将所生成新的路由规则,实时下发到路由逻辑单元,以便路由逻辑单元更新本地存储的路由规则。
本步骤中,一个优选的实施方式为:路由逻辑单元提取第一数据中的用户标识信息以及当前FPGA芯片对应的用户标识信息,对比第一数据中的用户标识信息与该FPGA芯片对应的用户标识信息,若相同,则说明该FPGA芯片为互联的FPGA芯片,此时,将该第一数据发送至互联逻辑单元,再由互联逻辑单元将第一数据发送至动态逻辑区,进行数据处理;若不同,则执行步骤103。
步骤103、将第一数据通过输出网口发送至第二FPGA芯片。
其中,该第二FPGA芯片也是与该FPGA芯片由物理数据线直连的FPGA芯片。
通过上述图2所示实施例可知,本发明实施例所提供的一种FPGA芯片的互联控制方法,详细说明了一个FPGA芯片在接收到相邻的第一FPGA芯片所传输的第一数据后所执行的处理过程,即通过路由逻辑单元判断该第一数据是否需要FPGA芯片进行处理,若需要则将第一数据发送给互联逻辑单元,若不需要则将第一数据转发给其相邻的第二FPGA芯片。实现了FPGA芯片对于外来数据的处理过程,而对于FPGA芯片而言,除了需要处理外来数据,还需要处理自身产生的数据,其具体的处理方式如图3所示,包括:
步骤201、由互联逻辑单元将FPGA芯片的待发送数据打包为第二数据发送至路由逻辑单元。
其中,待发送数据为FPGA芯片执行用户所编辑的程序生成的数据,这些数据将作为该用户其他FPGA芯片中一些元器件的输入,以得到程序执行的最终结果。当存在待发送数据时,FPGA芯片将待发送数据从动态逻辑区发送至静态逻辑区中的互联逻辑单元内,由互联逻辑单元对待发送数据打包,得到第二数据,该打包过程主要是将FPGA芯片所对应的用户标识信息标记在第二数据中,以便第二FPGA芯片进行识别。
此外,互联逻辑单元在接收到第一数据时,由于该第一数据也是经过打包处理的,因此,互联逻辑单元在将第一数据发送给动态逻辑区之前,还需要对第一数据进行解压处理,将处理后的数据发送给动态逻辑区进行处理。
步骤202、路由逻辑单元将第二数据通过输出网口发送至第二FPGA芯片。
以上,通过图2与图3详细地说明了本发明实施例提出的一种FPGA芯片的互联控制方法,该方法通过路由逻辑单元与互联逻辑单元实现了数据的识别与传输,可以有效实现将一个FPGA芯片所产生的待发送数据传输到所需的FPGA芯片中,并且,这两个FPGA芯片无需通过物理数据线直连。即,通过该方法可以将两两直连的FPGA网络中所有的FPGA芯片实现FPGA互联的效果。
进一步的,本发明实施例还提供一种基于FPGA芯片的服务系统,其可以应用于FPGA云服务系统中,该服务系统中含有多个图1所示的FPGA芯片,并且FPGA芯片之间两两直连,该服务系统的结构如图4所示,所有的FPGA芯片成环状连接,相邻的FPGA芯片通过物理数据线连接。
进一步的,在该服务系统中还包括管控服务器,该管控服务器中运行有确定路由规则的管控系统,该管控系统是基于多个FPGA芯片所构成的系统拓扑结构来确定每个FPGA芯片所对应的路由规则,其中,系统拓扑结构用于表示具有相同用户标识信息的FPGA芯片,所述路由规则用于识别第一数据中的用户标识信息是否与所述第一FPGA芯片的用户标识信息相同,若相同,则将所述第一数据发送给互联逻辑单元,否则将第一数据发送给第二FPGA芯片。
以图4所示的服务系统为例,详细说明该服务系统在为用户提供FPGA实例时,如何实现该FPGA实例中所含有的多个FPGA芯片在不存在物理数据线直连的情况下,达到FPGA互联的效果。
假设,用户A购买了含有FPGA1、FPGA3的FPGA实例,此时,服务系统会将用户标识信息标记在FPGA1与FPGA3上,同时,管控系统根据该FPGA实例更新FPGA芯片的系统拓扑结构,生成新的路由规则,由管控服务器将新的路由规则下发给FPGA1与FPGA3。之后,FPGA1执行用户所编辑的程序,生成待发送数据,FPGA1中的互联逻辑单元将待发送数据打包,标记用户标识信息A,生成数据包并发送给路由逻辑单元,路由逻辑单元将该数据包发送给相邻的FPGA2,由FPGA2中的路由逻辑单元对比用户标识信息,发现FPGA2的用户标识信息为B,与A不同,此时,FPGA2的路由逻辑单元将该数据包直接发送给FPGA3,FPGA3中的路由逻辑单元同样会对比用户标识信息,发送数据包的用户标识信息与其自身的用户标识信息相同,都是A,此时,FPGA3中的路由逻辑单元将发送给互联逻辑单元,由互联逻辑单元解压后发送给动态逻辑区进行处理,至此,完成对FPGA1生成的待发送数据的传输过程。
此后,若FPGA3通过执行程序又生成了待发送数据(需要发送该FPGA1),此时,将重复上述的过程,由FPGA3发送至FPGA4,经过FPGA5、FPGA6,最终传输到FPGA1中。
进一步,假设用户A购买了含有FPGA1、FPGA3和FPGA5的FPGA实例,若FPGA1执行用户编辑的程序后生成了需要发送至FPGA5的待发送数据时,基于上述传输过程,服务系统将数据包从FPGA1发送至FPGA2进行识别,发现用户标识信息不同,数据包由FPGA2发送至FPGA3进行识别,此时,发送用户标识信息相同,FPGA3将接收该数据包,由互联逻辑单元解压后发送给动态逻辑区进行处理,但是由于该数据中的数据时发送给FPGA5的,因此,FPGA3中的元器件无法处理这些数据,此时,FPGA3会将这些数据作为生成的待发送数据再次发送给互联逻辑单元进行打包处理,并将得到的数据包由路由逻辑单元发送给FPGA4,FPGA4经过对比用户标识信息后会将该数据包发送给FPGA5,由FPGA5接收并通过互联逻辑单元解压发送给动态逻辑区进行处理,从而完成处理FPGA1所生成的待发送数据。
进一步的,在实际应用中由于每个网口的连接线唯一,即一个网口仅允许引出一条连接线,在此情况下,针对设置有两个网口的FPGA芯片,要实现任意两个FPGA芯片互联的多芯片连接方式,除了图4所示的环形连接方式外,本发明实施例还可以实现如图5所示的串联的连接方式,该连接方式与图4的区别在于,图4所示的连接方式中是预先设定了网口的功能,即设定了数据流向,而在图5所示的串联方式中,不对网口的功能进行设置,而是由路由逻辑单元根据多芯片的拓扑结构以及用户标识信息确定数据的流向,比如,FPGA2所生成的数据在发送到路由逻辑单元后,路由逻辑单元将根据当前FPGA2对应的用户标识信息判断FPGA1与FPGA3的用户标识信息哪个与FPGA2相同,从而确定数据的流向。而对于串联有更多FPGA芯片的拓扑结构,路由逻辑单元则可以根据用户标识信息在该结构中确定一个距离最近的目标FPGA芯片,其中,距离最近是指当前FPGA芯片与目标FPGA芯片之间所连接的其他FPGA芯片数量最少。如此,通过路由逻辑单元的传输也能够实现任意两个FPGA芯片之间的直连效果。
在图5所示的连接方式中可以发现,FPGA1与FPGA3都只用到了其所具有的两个网口中的一个,而另一个则可以用于对连接芯片的扩展,一般在实际应用中,一台服务器中一般会设置至少6个或更多的FPGA芯片,而要实现这些芯片之间的直连,除了增加路由交换设备外,还可以为每个FPGA芯片增加网口,但是,受限于芯片引脚以及网口成本的限制,本发明实施例中对常规的FPGA双网口设置,可以通过环形连接或串联的方式,由路由逻辑单元确定数据的传输流向,达到芯片之间的两两直连效果。通过本实施例所采用的连接方式,不仅避免了路由设备或交换设备的增加,也无需为FPGA芯片增加新的网口,即本发明实施例实现了在不增加物理成本的情况下,实现了FPGA芯片之间的互联。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种FPGA芯片,其特征在于,所述FPGA芯片包括静态逻辑区和动态逻辑区,所述静态逻辑区中设置有路由逻辑单元与互联逻辑单元,其中,
路由逻辑单元用于根据路由规则判断接收到的第一数据是否发送给互联逻辑单元;
互联逻辑单元分别连接所述动态逻辑区与所述路由逻辑单元,用于将动态逻辑区的待发送数据打包为第二数据发送至路由逻辑单元,或者将路由逻辑单元发送的第一数据发送至动态逻辑区。
2.根据权利要求1所述的FPGA芯片,其特征在于,所述FPGA芯片还包括:输入网口与输出网口;
所述输入网口连接所述路由逻辑单元,用于接收第一FPGA芯片发送的第一数据,所述第二FPGA芯片与所述FPGA芯片直连;
所述输出网口连接所述路由逻辑单元,用于发送第二数据至第二FPGA芯片,所述第二FPGA芯片与所述FPGA芯片直连;
所述输出网口还用于将所述路由逻辑单元确定不发送至互联逻辑单元的第一数据发送至第二FPGA芯片。
3.根据权利要求1所述的FPGA芯片,其特征在于,所述路由逻辑单元还用于,通过预置接口接收管控服务器发送的路由规则,所述管控服务器中运行有确定路由规则的管控系统,所述路由规则用于识别第一数据中的用户标识信息是否与所述FPGA芯片的用户标识信息相同,若相同,则将所述第一数据发送给互联逻辑单元,否则将第一数据发送给相邻的FPGA芯片。
4.一种FPGA芯片的互联控制方法,其特征在于,所述FPGA芯片中设置有路由逻辑单元与互联逻辑单元,所述方法包括:
路由逻辑单元通过输入网口接收第一FPGA芯片发送的第一数据,所述第一FPGA芯片与所述FPGA芯片直连;
路由逻辑单元根据路由规则判断是否将所述第一数据发送至互联逻辑单元;
若否,则将所述第一数据通过输出网口发送至第二FPGA芯片,所述第二FPGA芯片与所述芯片直连。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
由互联逻辑单元将所述FPGA芯片的待发送数据打包为第二数据发送至路由逻辑单元,所述第二数据中含有所述FPGA芯片对应的用户标识信息;
所述路由逻辑单元将所述第二数据通过输出网口发送至第二FPGA芯片。
6.根据权利要求4所述的方法,其特征在于,路由逻辑单元根据路由规则判断是否将所述第一数据发送至互联逻辑单元,包括:
对比所述第一数据中的用户标识信息与所述FPGA芯片对应的用户标识信息;
若相同,则将所述第一数据发送至互联逻辑单元;
若不同,则执行将所述第一数据通过输出网口发送至第二FPGA芯片的操作。
7.根据权利要求6所述的方法,其特征在于,所述路由逻辑单元与互联逻辑单元设置在所述FPGA芯片的静态逻辑区中,在将所述第一数据发送至互联逻辑单元之后,所述方法还包括:
由互联逻辑单元将所述第一数据发送至动态逻辑区。
8.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述路由逻辑单元接收管控服务器发送的路由规则,所述管控服务器中运行有确定路由规则的管控系统,所述管控系统基于FPGA芯片的系统拓扑结构确定对应FPGA芯片的路由规则,其中,所述系统拓扑结构用于表示具有相同用户标识信息的FPGA芯片,所述路由规则用于识别第一数据中的用户标识信息是否与所述第一FPGA芯片的用户标识信息相同,若相同,则将所述第一数据发送给互联逻辑单元,否则将第一数据发送给第二FPGA芯片;
所述路由逻辑单元更新本地存储的路由规则。
9.一种基于FPGA芯片的服务系统,其特征在于,所述服务系统中含有多个FPGA芯片,所述FPGA芯片之间两两直连,其中,FPGA芯片采用权利要求1-3中任一项所述的FPGA芯片。
10.根据权利要求9所述的服务系统,其特征在于,所述服务系统还包括管控服务器;
所述管控服务器中运行有确定路由规则的管控系统,所述管控系统基于所述多个FPGA芯片的系统拓扑结构确定对应每个FPGA芯片的路由规则,其中,所述系统拓扑结构用于表示具有相同用户标识信息的FPGA芯片,所述路由规则用于识别第一数据中的用户标识信息是否与所述第一FPGA芯片的用户标识信息相同,若相同,则将所述第一数据发送给互联逻辑单元,否则将第一数据发送给第二FPGA芯片。
11.根据权利要求10所述的服务系统,其特征在于,所述服务系统用于为用户提供FPGA实例,所述FPGA实例中含有至少一个FPGA芯片;
所述服务系统还用于,根据所述FPGA实例标记FPGA芯片所对应的用户标识信息;
所述管控系统根据所述FPGA实例更新FPGA芯片的系统拓扑结构,生成新的路由规则;
所述管控服务器还用于,将所述新的路由规则下发至对应的FPGA芯片的路由逻辑单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865989.5A CN112486895B (zh) | 2019-09-12 | 2019-09-12 | 一种fpga芯片及其互联控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865989.5A CN112486895B (zh) | 2019-09-12 | 2019-09-12 | 一种fpga芯片及其互联控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112486895A true CN112486895A (zh) | 2021-03-12 |
CN112486895B CN112486895B (zh) | 2024-01-09 |
Family
ID=74920833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910865989.5A Active CN112486895B (zh) | 2019-09-12 | 2019-09-12 | 一种fpga芯片及其互联控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112486895B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737618A (zh) * | 2023-08-14 | 2023-09-12 | 浪潮电子信息产业股份有限公司 | Fpga架构、器件、数据处理方法、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6476636B1 (en) * | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
CN105786618A (zh) * | 2016-02-24 | 2016-07-20 | 华为技术有限公司 | 加速器网络中路由报文的方法和装置 |
US9449134B1 (en) * | 2015-06-25 | 2016-09-20 | International Business Machines Corporation | Dynamically reconfigurable logic circuits using native field-programmable gate array primitives |
CN109639446A (zh) * | 2017-10-09 | 2019-04-16 | 阿里巴巴集团控股有限公司 | Fpga设备、基于fpga设备的云系统 |
CN109634909A (zh) * | 2013-03-14 | 2019-04-16 | 阿尔特拉公司 | 具有片上互连的混合可编程众核设备 |
CN110023905A (zh) * | 2016-11-17 | 2019-07-16 | 亚马逊技术股份有限公司 | 联网可编程逻辑服务提供商 |
CN110069441A (zh) * | 2019-03-21 | 2019-07-30 | 中国科学院计算技术研究所 | 一种用于流计算的fpga网络及流计算系统与方法 |
-
2019
- 2019-09-12 CN CN201910865989.5A patent/CN112486895B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6476636B1 (en) * | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
CN109634909A (zh) * | 2013-03-14 | 2019-04-16 | 阿尔特拉公司 | 具有片上互连的混合可编程众核设备 |
US9449134B1 (en) * | 2015-06-25 | 2016-09-20 | International Business Machines Corporation | Dynamically reconfigurable logic circuits using native field-programmable gate array primitives |
CN105786618A (zh) * | 2016-02-24 | 2016-07-20 | 华为技术有限公司 | 加速器网络中路由报文的方法和装置 |
CN110023905A (zh) * | 2016-11-17 | 2019-07-16 | 亚马逊技术股份有限公司 | 联网可编程逻辑服务提供商 |
CN109639446A (zh) * | 2017-10-09 | 2019-04-16 | 阿里巴巴集团控股有限公司 | Fpga设备、基于fpga设备的云系统 |
CN110069441A (zh) * | 2019-03-21 | 2019-07-30 | 中国科学院计算技术研究所 | 一种用于流计算的fpga网络及流计算系统与方法 |
Non-Patent Citations (1)
Title |
---|
覃祥菊, 朱明程, 张太镒, 魏忠义: "FPGA动态可重构技术原理及实现方法分析", 电子器件, no. 02 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737618A (zh) * | 2023-08-14 | 2023-09-12 | 浪潮电子信息产业股份有限公司 | Fpga架构、器件、数据处理方法、系统及存储介质 |
CN116737618B (zh) * | 2023-08-14 | 2023-11-14 | 浪潮电子信息产业股份有限公司 | Fpga架构、器件、数据处理方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112486895B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102284972B1 (ko) | 데이터 처리 방법 및 디바이스 | |
EP3353952B1 (en) | Managing groups of servers | |
US20160352578A1 (en) | System and method for adaptive paths locator for virtual network function links | |
TW201908994A (zh) | 業務資料處理方法、業務處理方法及設備 | |
CN104734954A (zh) | 一种用于软件定义网络的路由确定方法和装置 | |
CN105094983A (zh) | 计算机,控制设备和数据处理方法 | |
CN107770298B (zh) | 传输数据的方法和装置 | |
CN102316043A (zh) | 端口虚拟化方法、交换机及通信系统 | |
CN109194578B (zh) | 一种专线业务的开通方法及装置 | |
US11914648B2 (en) | Graph refactorization method and graph refactorization apparatus | |
CN105379192A (zh) | 硬件管理通信协议 | |
CN103995745B (zh) | 一种ip硬盘任务执行方法以及ip硬盘 | |
CN111224851B (zh) | 数据传输设备和处理系统、消息分发方法和装置 | |
CN112486895B (zh) | 一种fpga芯片及其互联控制方法 | |
Zhou et al. | Approach for minimising network effect of VNF migration | |
CN109800775B (zh) | 文件聚类方法、装置、设备及可读介质 | |
CN115065637B (zh) | 传输算力资源信息的方法、装置和电子设备 | |
US20220083493A1 (en) | Asymmetric data communication for host-device interface | |
WO2017213065A1 (ja) | サービス管理システム、サービス管理方法、および、記録媒体 | |
CN114448805A (zh) | 虚拟网络设备、虚拟叠加网络及配置、报文传输方法 | |
CN107210996B (zh) | 一种业务链管理方法及装置 | |
US8996911B2 (en) | Core file limiter for abnormally terminating processes | |
CN114844905B (zh) | 用于跨区块链交互的系统及方法 | |
CN117056275B (zh) | 基于硬件分区系统的通信控制方法、装置及服务器 | |
US11256643B2 (en) | System and method for high configurability high-speed interconnect |
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 |