现场可编程门阵列加速器集群的广播方法和系统与流程
未命名
09-03
阅读:118
评论:0

1.本发明涉及通信领域,特别涉及一种现场可编程门阵列加速器集群的广播方法、系统、计算机存储介质和电子设备。
背景技术:
2.在传统的分布式现场可编程门阵列加速器集群网络中,由于传统的路由链路对现场可编程门阵列加速器之间的直连链路的不可知,导致定向广播时容易出现路由链路阻塞,在无法使用直连链路的情况下会由于反复重传引起高时延和高能耗问题。此外,即使引入直连链路,会容易出现环形广播风暴的出现,进一步会出现由于链路阻塞及反复重传导致的高能耗和高时延问题。
技术实现要素:
3.本发明的目的是提供一种现场可编程门阵列加速器集群及其广播方法、广播系统、存储介质和电子设备,能够降低定向广播延时。
4.为解决上述技术问题,本发明提供一种现场可编程门阵列加速器集群的广播方法,包括:
5.在嗅探广播阶段内,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播;所述节点包括路由器和现场可编程门阵列加速器;
6.在拓扑填充阶段内,将所述嗅探广播阶段内,通过直连链路进行嗅探广播报文转发的两个现场可编程门阵列加速器作为相连接的现场可编程门阵列,将所述相连接的现场可编程门阵列加速器的信息上传至本地子网的路由器;所述本地子网的路由器将所述相连接的现场可编程门阵列加速器的信息记录至直连链路表;
7.在正式广播阶段内,所述控制服务器根据广播需求向所管理的目标节点进行定向广播。
8.其中,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播包括:
9.在所述控制服务器下属所有定向子网内所有现场可编程门阵列加速器间的直连链路信息传输至其所属子网的路由器后,每个所述节点在转发时根据转发规则对嗅探广播进行转发;所述转发规则为根据所述嗅探广播的实际传输时延与感知阶段的感知传输时延进行比对得到比对结果,所述比对结果用于指导所述节点是否转发所述嗅探广播。
10.其中,每个所述节点在转发时根据转发规则对嗅探广播进行转发包括:
11.每个所述节点接收到嗅探广播报文时,记录所述嗅探广播报文的到达时刻,并记录至自身维护的广播统计表;
12.解析所述嗅探广播报文,得到广播字段值;
13.将所述广播字段值与所述广播统计表进行比对,判断所述广播统计表中是否存在所述广播字段值;
14.若是,停止转发所述嗅探广播报文;
15.若否,记录所述广播字段值至所述广播统计表,并转发所述嗅探广播报文至处于定向广播子网域内的其他节点。
16.其中,转发所述嗅探广播报文至处于定向广播子网域内的其他节点包括:
17.若所述节点为路由器,将所述嗅探广播报文转发至除除上一跳节点外的在定向广播子网范围内的其他节点。
18.其中,转发所述嗅探广播报文至处于定向广播子网域内的其他节点包括:
19.若所述节点为现场可编程门阵列加速器,当上一条节点是现场可编程门阵列加速器时,将嗅探广播报文通过路由链路上传至所属子网的路由器;
20.而当上一跳节点为所在子网的路由器时,判断现场可编程门阵列加速器是否与其他现场可编程门阵列加速器通过直连链路通信;
21.若存在直连链路且相连接的现场可编程门阵列加速器在定向广播子网范围内,则转发所述嗅探广播报文;
22.若不存在所述直连链路,或存在所述直连链路但相连的现场可编程门阵列加速器不在定向广播子网范围内,停止转发所述嗅探广播报文。
23.其中,还包括:
24.在所述嗅探广播阶段内,除所述控制服务器外的所有所述节点按照所述转发规则转发所述嗅探广播。
25.其中,所述控制服务器根据广播需求向所管理的目标节点进行定向广播时,还包括:
26.所述节点记录所述定向广播报文的广播接收时间,并解析所述定向广播报文的广播源的互联网协议地址,将所述接收时间更新至自身维护的广播统计表;
27.根据所述嗅探广播阶段的嗅探广播开始时间,和所述互联网协议地址查询嗅探广播阶段时的广播统计表,得到广播结束时间;
28.根据所述广播结束时间确定广播报文传输时延;
29.根据广播开始时间和所述广播结束时间确定所述正式广播阶段当前节点的当前广播报文传输时延;
30.若所述广播报文传输时延大于所述当前广播报文传输时延,不再转发广播报文;
31.若所述广播报文传输时延小于或等于所述当前广播报文传输时延,继续转发广播报文。
32.其中,若根据所述嗅探广播阶段的嗅探广播开始时间,和所述互联网协议地址查询嗅探广播阶段时的广播统计表时,无法查询到所述广播结束时间,还包括:
33.确定所述节点在所述嗅探广播阶段出现链路异常,将所述互联网协议地址、定向广播开始时间和定向广播接收时间存入所述广播统计表。
34.其中,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播之后,还包括:
35.确定各所述节点对应的最短广播时延。
36.其中,还包括:
37.每个所述节点生成自身维护的所述广播统计表;所述广播统计表包含了广播源的
互联网协议地址、广播开始时间和广播到达时间。
38.其中,还包括:
39.本地子网的路由器生成所述直连链路表;所述直连链路表包含本地现场可编程门阵列加速器互联网协议地址和直连现场可编程门阵列加速器互联网协议地址。
40.其中,在正式广播阶段过程中,还包括:
41.设定正式广播转发规则,所述正式广播转发规则为在所述控制服务器进行定向广播时,除目标定向子网中的所有节点、转发路由器以及所述转发路由器下与所述定向子网内的现场可编程门阵列加速器存在直连链路的可编程门阵列加速器也可参与所述定向广播的转发。
42.其中,若所述广播报文传输时延大于所述当前广播报文传输时延,还包括:
43.确定当前节点在广播到达时间所接收的广播报文源于耗时较长的通信链路。
44.其中,若所述广播报文传输时延小于或等于所述当前广播报文传输时延,还包括:
45.将广播统计表中所述广播结束时间更新为所述广播到达时间。
46.其中,还包括:
47.在所述正式广播阶段结束后,每个所述节点清空自身的广播统计表,所述路由器清空自身的直连链路表。
48.其中,在所述在嗅探广播阶段前,还包括:
49.构建由所述控制服务器、所述路由器和所述现场可编程门阵列加速器组成的现场可编程门阵列加速器集群;
50.其中,所述控制服务器、所述路由器和所述现场可编程门阵列加速器之间设有路由链路,分属于不同路由器的现场可编程门阵列加速器之间设有所述直连链路;所述控制服务器用于管理所述现场可编程门阵列加速器集群;所述现场可编程门阵列加速器,用于执行网络通信和应用计算。
51.其中,所述现场可编程门阵列加速器包括:
52.通信子内核、计算子内核和控制子内核;所述通信子内核用于网络通信,所述计算子内核用于进行应用计算,所述控制子内核用于执行逻辑控制。
53.本发明还提供一种现场可编程门阵列加速器集群的广播系统,包括:
54.嗅探广播模块,用于在嗅探广播阶段内,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播;所述节点包括路由器和现场可编程门阵列加速器;
55.拓扑填充模块,用于在拓扑填充阶段内,将所述嗅探广播阶段内,通过直连链路进行嗅探广播报文转发的两个现场可编程门阵列加速器作为相连接的现场可编程门阵列,将所述相连接的现场可编程门阵列加速器的信息上传至本地子网的路由器;所述本地子网的路由器将所述相连接的现场可编程门阵列加速器的信息记录至直连链路表;
56.正式广播模块,用于在正式广播阶段内,所述控制服务器根据广播需求向所管理的目标节点进行定向广播。
57.其中,嗅探广播模块包括:
58.转发子模块,用于在所述控制服务器下属所有定向子网内所有现场可编程门阵列加速器间的直连链路信息传输至其所属子网的路由器后,每个所述节点在转发时根据转发规则对嗅探广播进行转发;所述转发规则为根据所述嗅探广播的实际传输时延与感知阶段
的感知传输时延进行比对得到比对结果,所述比对结果用于指导所述节点是否转发所述嗅探广播。
59.其中,转发子模块包括:
60.记录单元,用于每个所述节点接收到嗅探广播报文时,记录所述嗅探广播报文的到达时刻,并记录至自身维护的广播统计表;
61.解析单元,用于解析所述嗅探广播报文,得到广播字段值;
62.判断单元,用于将所述广播字段值与所述广播统计表进行比对,判断所述广播统计表中是否存在所述广播字段值;
63.停止转发单元,用于若所述广播统计表中存在所述广播字段值,停止转发所述嗅探广播报文;
64.转发单元,用于若所述广播统计表中不存在所述广播字段值,,记录所述广播字段值至所述广播统计表,并转发所述嗅探广播报文至处于定向广播子网域内的其他节点。
65.其中,转发单元包括:
66.第一转发子单元,用于若所述节点为路由器,将所述嗅探广播报文转发至除除上一跳节点外的在定向广播子网范围内的其他节点。
67.其中,转发单元包括:
68.上传子单元,用于若所述节点为现场可编程门阵列加速器,当上一条节点是现场可编程门阵列加速器时,将嗅探广播报文通过路由链路上传至所属子网的路由器;
69.判断子单元,用于而当上一跳节点为所在子网的路由器时,判断现场可编程门阵列加速器是否与其他现场可编程门阵列加速器通过直连链路通信;
70.第二转发子单元,用于若存在直连链路且相连接的现场可编程门阵列加速器在定向广播子网范围内,则转发所述嗅探广播报文;
71.停止转发子单元,用于若不存在所述直连链路,或存在所述直连链路但相连的现场可编程门阵列加速器不在定向广播子网范围内,停止转发所述嗅探广播报文。
72.其中,还包括:
73.转发模块,用于在所述嗅探广播阶段内,除所述控制服务器外的所有所述节点按照所述转发规则转发所述嗅探广播。
74.其中,还包括:
75.第一更新模块,用于所述控制服务器根据广播需求向所管理的目标节点进行定向广播时,所述节点记录所述定向广播报文的广播接收时间,并解析所述定向广播报文的广播源的互联网协议地址,将所述接收时间更新至自身维护的广播统计表;
76.第一确定模块,用于根据所述嗅探广播阶段的嗅探广播开始时间,和所述互联网协议地址查询嗅探广播阶段时的广播统计表,得到广播结束时间;
77.第二确定模块,用于根据所述广播结束时间确定广播报文传输时延;
78.第三确定模块,用于根据广播开始时间和所述广播结束时间确定所述正式广播阶段当前节点的当前广播报文传输时延;
79.停止转发模块,用于若所述广播报文传输时延大于所述当前广播报文传输时延,不再转发广播报文;
80.继续转发模块,用于若所述广播报文传输时延小于或等于所述当前广播报文传输
时延,继续转发广播报文。
81.其中,还包括:
82.存储模块,用于若根据所述嗅探广播阶段的嗅探广播开始时间,和所述互联网协议地址查询嗅探广播阶段时的广播统计表时,无法查询到所述广播结束时间,确定所述节点在所述嗅探广播阶段出现链路异常,将所述互联网协议地址、定向广播开始时间和定向广播接收时间存入所述广播统计表。
83.其中,还包括:
84.第一生成模块,用于每个所述节点生成自身维护的所述广播统计表;所述广播统计表包含了广播源的互联网协议地址、广播开始时间和广播到达时间。
85.本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
86.本发明还提供一种电子设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
87.本发明提供一种现场可编程门阵列加速器集群的广播方法,包括:在嗅探广播阶段内,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播;所述节点包括路由器和现场可编程门阵列加速器;在拓扑填充阶段内,将所述嗅探广播阶段内,通过直连链路进行嗅探广播报文转发的两个现场可编程门阵列加速器作为相连接的现场可编程门阵列,将所述相连接的现场可编程门阵列加速器的信息上传至本地子网的路由器;所述本地子网的路由器将所述相连接的现场可编程门阵列加速器的信息记录至直连链路表;在正式广播阶段内,所述控制服务器根据广播需求向所管理的目标节点进行定向广播。
88.本发明中,由于每个现场可编程门阵列加速器在嗅探广播阶段完成对所有通信链路的嗅探感知后仅需上传至本地子网的路由器,因此路由器拓扑扩充阶段时间最短,而嗅探广播阶段由于需要完成作为广播源的控制服务器控制的所有定向子网的广播,网络情况相对复杂,因此相对较长。而实际广播阶段的时间远大于以上两阶段的时间,这是因为在进行实际广播时,广播任务的到来存在不确定性,因此实际广播时间要远大于以上两阶段。拓扑填充阶段可有效实时感知现场可编程门阵列加速器集群网络的动态变化,以便实时调整广播链路。因此,本发明解决了分布式现场可编程门阵列加速器集群网络的路由链路对现场可编程门阵列加速器之间的路由链路不可知问题,在引入直连链路的同时,避免了环形广播风暴的出现。进一步解决了网络阻塞和数据报文反复重传导致的高时延和高能耗问题。
89.本发明还提供一种现场可编程门阵列加速器集群的广播系统、计算机可读存储介质和电子设备,具有上述有益效果,此处不再赘述。
附图说明
90.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
91.图1为本发明实施例所提供的一种现场可编程门阵列加速器集群的结构示意图;
92.图2为本发明实施例所提供的一种现场可编程门阵列加速器的结构示意图;
93.图3为本发明实施例所提供的现场可编程门阵列加速器集群的广播方法的流程图;
94.图4为本发明实施例所提供的三阶段现场可编程门阵列加速器集群的广播过程示意图;
95.图5为本发明实施例所提供的现场可编程门阵列加速器集群的广播系统结构示意图;
96.图6为本发明实施例提供的电子设备的结构图。
具体实施方式
97.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
98.为了更好的理解本发明提供的现场可编程门阵列加速器集群的广播过程,请参见图1,图1为本发明实施例所提供的一种现场可编程门阵列加速器集群的结构示意图,该现场可编程门阵列加速器集群包括:
99.控制服务器、路由器和由现场可编程门阵列加速器构成的现场可编程门阵列加速器集群;
100.控制服务器、路由器和现场可编程门阵列加速器之间设有路由链路,分属于不同路由器的现场可编程门阵列加速器之间设有直连链路;
101.控制服务器用于管理现场可编程门阵列加速器集群,并对路由器和现场可编程门阵列加速器进行定向广播;
102.路由器用于执行控制器和现场可编程门阵列加速器之间的数据通信;
103.现场可编程门阵列加速器,用于执行网络通信和应用计算。
104.本实施例针对解决分布式现场可编程门阵列加速器集群网络中作为广播源的控制服务器对所管理的子网内的现场可编程门阵列加速器的能耗及时延过高的定向广播问题。此外,在传统的分布式现场可编程门阵列加速器集群网络中,由于传统的路由链路对现场可编程门阵列加速器之间的直连链路的不可知,导致定向广播时容易出现路由链路阻塞,在无法使用直连链路的情况下会由于反复重传引起高时延和高能耗问题。此外,即使引入直连链路,会容易出现环形广播风暴的出现,进一步会出现由于链路阻塞及反复重传导致的高能耗和高时延问题。
105.为此,图1为本发明实施例所提供的一种现场可编程门阵列加速器集群的结构示意图,实现了不同子网路由器下的现场可编程门阵列加速器的直连。图1中,由于同一路由器管理的子网内的所有现场可编程门阵列加速器可以直接相互通信,无需路由器进行转发,路由链路和直连链路速率接近,因此本发明中同一子网下的现场可编程门阵列加速器之间不存在直连链路。
106.本发明提出的一种面向分布式现场可编程门阵列加速器集群的多元组播架构,在现有由现场可编程门阵列加速器、路由器和控制服务器所组成的分布式现场可编程门阵列
加速器集群的组播架构基础上,进一步包含了由支持内核间高速通信的现场可编程门阵列加速器点对点通信架构。
107.图1主要包括:控制服务器、路由器和现场可编程门阵列加速器。以图1为例,控制服务器主要负责对现场可编程门阵列加速器集群的日常管理、应用程序的远程更新及任务分发等。如图2所示,图2为本发明实施例所提供的一种现场可编程门阵列加速器的结构示意图,现场可编程门阵列加速器可以基于现场可编程门阵列内核虚拟化功能包含多个子内核,现场可编程门阵列加速器通过设计通信、计算和控制等子内核的设计,分别具备网络通信、应用计算和逻辑控制等功能,与路由器之间通过路由链路进行通信,不同路由子网下的现场可编程门阵列加速器之间可通过直连链路通信;路由器则负责数据通信功能,与其他路由器、现场可编程门阵列加速器及控制服务器通过路由链路进行通信。
108.需要说明的是,在本发明所提出的分布式现场可编程门阵列集群网络中,所有的现场可编程门阵列加速器、控制服务器等网络终端均通过路由器接入网络。且每个现场可编程门阵列加速器与其他现场可编程门阵列加速器之间互联以实现直连通信,并且由于同一子网下的所有现场可编程门阵列加速器可直接互联,无需路由器转发,因此同一子网下的所有现场可编程门阵列加速器之间不存在直连链路。此外,一个现场可编程门阵列加速器内的光口通常为2个。
109.在图1所示现场可编程门阵列加速器集群的基础上,参见图2,图2为本发明实施例所提供的一种现场可编程门阵列加速器的结构示意图,现场可编程门阵列加速器可以通信子内核、计算子内核和控制子内核。通信子内核用于网络通信,计算子内核用于进行应用计算,控制子内核用于执行逻辑控制。
110.本发明提出的一种现场可编程门阵列加速器集群,在现有由现场可编程门阵列加速器、路由器和控制服务器所组成的分布式现场可编程门阵列加速器集群的组播架构基础上,进一步包含了由支持内核间高速通信的现场可编程门阵列加速器点对点通信架构。由于同一路由器管理的子网内的所有现场可编程门阵列加速器可以直接相互通信,无需路由器进行转发,路由链路和直连链路速率接近,且同一子网下的现场可编程门阵列加速器之间不存在直连链路,使得广播方法可充分利用直连链路和路由链路,能够有效解决路由阻塞、环形广播风暴等问题,合理提升集群通信链路利用率的同时,避免了高时延通信链路的使用和广播报文的转发。在降低传输时延的同时,实现了通信链路的能耗节省。
111.在上文的现场可编程门阵列加速器集群基础上,本发明还提供了现场可编程门阵列加速器集群的广播方法,参见图3,图3为本发明实施例所提供的现场可编程门阵列加速器集群的广播方法的流程图,该广播方法包括:
112.s101:在嗅探广播阶段内,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播;所述节点包括路由器和现场可编程门阵列加速器;
113.s102:在拓扑填充阶段内,将所述嗅探广播阶段内,通过直连链路进行嗅探广播报文转发的两个现场可编程门阵列加速器作为相连接的现场可编程门阵列,将所述相连接的现场可编程门阵列加速器的信息上传至本地子网的路由器;所述本地子网的路由器将所述相连接的现场可编程门阵列加速器的信息记录至直连链路表;
114.s103:在正式广播阶段内,所述控制服务器根据广播需求向所管理的目标节点进行定向广播。
115.本发明提供的广播方法,分为嗅探广播阶段、拓扑扩充阶段及正式广播阶段。在嗅探广播阶段,主要为控制服务器对其管理的所有子网内的节点进行嗅探广播,通过作为广播源的控制服务器对所管理的所有节点通过所有通信链路(路由链路及直连链路)进行广播,同时可针对节点设定相应的转发规则。需要说明的是,本发明实施例提供的包含三个阶段的广播方法,可循环执行,即执行循环广播。如此,可以在避免环路广播风暴的同时,得到在定向广播子网节点参与规模最大、网络最为复杂的情况下的每个节点的最短广播时间的嗅探感知。为解决每个路由器对于子网内的现场可编程门阵列加速器直连链路不可知问题。相较于仅需要部分节点参与定向广播的正式广播阶段,嗅探广播阶段的网络情况更为复杂,更容易出现阻塞、链路断开等情况,因此更容易全面评估每个节点的定向广播能力,进而得到每个节点在所有子网内的所有节点均参与定向广播时的最短时延。
116.拓扑扩充阶段则负责在嗅探广播阶段完成后,将所有定向子网内所有节点的现场可编程门阵列加速器间的直连链路信息传输至其所属子网的路由器。针对路由器对现场可编程门阵列加速器间直连链路不可知的情况及直连链路断开等实时情况,根据嗅探广播阶段的结果,由每个现场可编程门阵列加速器进行上报修改。完成本次循环广播的嗅探广播阶段和拓扑扩充阶段后,作为广播源的服务器可以按照需求进行正式广播。
117.正式广播阶段中,作为现场可编程门阵列加速器集群控制管理者的控制服务器需要根据实际的业务需求开展定向广播,因此实际的定向广播子网的节点规模一般低于嗅探广播阶段所有子网参与广播时的节点规模。并且,此阶段的每个节点在转发时会自己在广播时的实际传输时延与感知阶段的传输时延值进行比对,从而判断是否进行转发。从而实现了现场可编程门阵列加速器集群广播的低时延和高能效目标。
118.并且,以上三个阶段中,由于每个现场可编程门阵列加速器在嗅探广播阶段完成对所有通信链路的嗅探感知后仅需上传至本地子网的路由器,因此路由器拓扑扩充阶段时间最短,而嗅探广播阶段由于需要完成作为广播源的控制服务器控制的所有定向子网的广播,网络情况相对复杂,因此相对较长。而实际广播阶段的时间远大于以上两阶段的时间,这是因为在进行实际广播时,广播任务的到来存在不确定性,因此实际广播时间要远大于以上两阶段。需要说明的是,以上三阶段可循环执行,并且,拓扑可有效实时感知现场可编程门阵列加速器集群网络的动态变化,以便实时调整广播链路。
119.本发明实施例解决了分布式现场可编程门阵列加速器集群网络的路由链路对现场可编程门阵列加速器之间的路由链路不可知问题,在引入直连链路的同时,避免了环形广播风暴的出现。进一步解决了网络阻塞和数据报文反复重传导致的高时延和高能耗问题。
120.本发明提出了一种三阶段现场可编程门阵列加速器集群循环广播方法,分为嗅探广播阶段、拓扑扩充阶段及正式广播阶段。如图4所示,图4为本发明实施例所提供的三阶段现场可编程门阵列加速器集群的广播过程示意图以上三个阶段按照时间顺序循环展开。
121.本发明中所提出的三阶段现场可编程门阵列加速器集群循环广播策略流程如下所示:
122.首先,现场可编程门阵列加速器集群网络中除控制服务器之外的每个节点(路由器及现场可编程门阵列加速器)均会维持一个哈希表来记录接收到的广播报文,记为广播统计表。相应的键值对形式为:《(广播源ip地址,广播开始时间),广播到达时间》。其中,广
播源ip地址记作brdcst_ip,广播开始时间记作tb
send
。广播到达时间记作tb
rcv
。本发明中,为准确衡量传输时延,在每次循环广播时嗅探广播报文和正式广播报文的长度均设置为相同长度。
123.其次,每次所执行的循环广播的三阶段操作所对应的步骤如下:
124.嗅探广播阶段:
125.在嗅探广播阶段,在所述控制服务器下属所有定向子网内所有现场可编程门阵列加速器间的直连链路信息传输至其所属子网的路由器后,每个所述节点在转发时根据转发规则对嗅探广播进行转发。转发规则为根据所述嗅探广播的实际传输时延与感知阶段的感知传输时延进行比对得到比对结果,比对结果用于指导所述节点是否转发所述嗅探广播。
126.具体的,可在[t0+(n
1-1)*δt,t0+n1*δt1]时间段内(n1为正整数,且δt=δt1+δt2+δt3,作为广播源的控制服务器向所管理的所有子网内的现场可编程门阵列加速器及路由器等所有节点转发嗅探广播报文。具体的,作为广播源的控制服务器在t0+(n
1-1)*δt时刻开始对所控制的所有节点进行定向广播。作为广播源的控制服务器仅需向所管理的部分节点进行定向广播。相较于第三阶段中仅向所管理的部分节点的定向广播,嗅探广播阶段在进行定向广播所造成的网络环境更为复杂,网络阻塞和通信链路断开等情况出现的概率更大,因此在第一阶段中每个节点的广播时延相较于第三阶段的广播时延值更大。
[0127]
此外,每个接收到的现场可编程门阵列加速器及路由器会根据接收到的嗅探广播报文更新其广播统计表的广播源互联网协议地址,广播开始时间,及广播到达时间字段。具体的,而在转发过程中,遵循如下转发规则:
[0128]
每个节点在收到来自于广播源的嗅探广播报文时,记录到达的具体时刻(记作tb
now
),并将嗅探广播报文的广播到达时间tb
rcv
值更新为tb
now
;然后,解析嗅探广播报文,得到brdcst_ip、tb
send
及tb
rcv
等字段值。然后查询自身的哈希表,判断是否已存在:
[0129]
若已存在,则意味着当前节点已经接收到过当前的嗅探广播报文,不再处理及转发当前嗅探广播报文;
[0130]
若不存在,则意味着当前节点未接收到过当前嗅探广播报文,因此记录《(brdcst_ip,tb
scnd
),tb
rcv
》。完成以上操作后,则将此更新过tb
rcv
值的嗅探广播报文转发至处于定向广播子网域内的其他节点。由于当前节点分为现场可编程门阵列加速器和路由器两种可能,转发更新过tb
rcv
值的嗅探广播报文过程分为以下两种情况:
[0131]
若节点为现场可编程门阵列加速器,当上一条节点是现场可编程门阵列加速器时,将嗅探广播报文通过路由链路上传至所属子网的路由器;
[0132]
而当上一跳节点为所在子网的路由器时,判断现场可编程门阵列加速器是否与其他现场可编程门阵列加速器通过直连链路通信;
[0133]
若存在直连链路且相连接的现场可编程门阵列加速器在定向广播子网范围内,则转发嗅探广播报文;
[0134]
若不存在直连链路,或存在直连链路但相连的现场可编程门阵列加速器不在定向广播子网范围内,停止转发所述嗅探广播报文。
[0135]
若该节点为路由器,则将嗅探广播报文转发至除上一跳节点外的在定向广播子网范围内的其他节点,包括路由器及现场可编程门阵列加速器;
[0136]
若当前节点为现场可编程门阵列加速器,当上一跳节点是现场可编程门阵列加速
器时,则将嗅探广播报文通过路由链路上传至所属子网的路由器。而当上一跳节点为所在子网的路由器时,则判断此现场可编程门阵列加速器是否与其他现场可编程门阵列加速器通过直连链路通信。若存在直连链路且相连接的现场可编程门阵列加速器在定向广播子网范围内,则进行转发;否则,即不存在直连链路或存在直连链路但相连的现场可编程门阵列加速器不在定向广播子网范围内,则不进行转发;
[0137]
此外,只要在[t0+(n
1-1)*δt,t0+n1*δt1]时间段内,除控制服务器外的所有网络节点均执行以上广播报文转发规则执行。还需要注意的是,作为广播源的控制服务器向所管理的每个定向广播子网内的所有节点(路由器及现场可编程门阵列加速器)进行定向广播时,每个节点均可通过路由链路和直连链路参与相应的嗅探广播报文的转发。
[0138]
在拓扑扩充阶段:
[0139]
在[t0+n1*δt1,t0+n1*(δt1+δt2)]时间段内,第一阶段内通过直连链路进行嗅探广播报文通信转发的两个现场可编程门阵列加速器,均需将相连接的现场可编程门阵列加速器的信息上传至本地子网的路由器。路由器则需通过另外一个哈希表进行记录,记作直连链路表,相应的键值对内容为《本地现场可编程门阵列加速器ip地址,直连现场可编程门阵列加速器ip地址》。其中,本地现场可编程门阵列加速器ip地址记作local_addr,直连现场可编程门阵列加速器ip地址记作direct_addr;
[0140]
在正式广播阶段:
[0141]
在[t0+n1*(δt1+δt2),t0+n1*δt]时间段内(n1为正整数,且δt=δt1+δt2+δt3)时间段内,作为广播源的控制服务器根据业务需求向所管理的部分子网内的节点进行定向广播。在进行定向广播报文的转发过程中,可以遵循如下三方面规则:
[0142]
第一方面,作为广播源的控制服务器向目标子网进行定向广播时,除目标定向广播子网中的所有节点,转发路由器及转发路由器下与定向子网内的现场可编程门阵列加速器存在直连链路的现场可编程门阵列加速器也可参与转发。
[0143]
第二方面,在转发过程中,每个节点均需记录当前的接收时间tb
cur
,并解析广播报文的广播源的控制服务器ip地址记作brdcst_ip_now,广播开始时间记作tb
send_now
,广播到达时间记作tb
rcv_now
。并将tb
rcv_now
的值更新为tb
cur
。然后判断是否进行下一步转发:
[0144]
根据第一阶段嗅探广播报文的广播开始时间tb
send
的值(即t0+(n
1-1)*δt)及本节点所解析广播报文所得到的brdcst_ip_now,查询本次循环中嗅探广播阶段所存储的广播统计表,得到相应的广播结束时间tb
rcv
,根据如下公式(1)求得本次循环中广播报文传输时延δtb;
[0145]
δtb=tb
rcv-tb
send
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0146]
需要说明的是,转发路由器及正式广播阶段的定向广播子网内的节点无法在第一阶段的广播统计表中查询到相应的信息时,这意味着在上一阶段出现了链路断开等极端情况,因此需要在当前阶段将brdcst_ip_now、tb
send_now
和tb
rcv_now
的值存入广播统计表。并执行下一跳节点的转发。若无下一跳节点,则无需进一步转发;
[0147]
结合广播开始时间tb
send_now
和广播到达时间tb
rcv_now
的值得到正式广播阶段当前节点的广播报文传输时延δtb
cur
,具体如公式(2)所示:
[0148]
δtb
cur
=tb
rcv_now-tb
send_now
ꢀꢀꢀꢀꢀ
(2)
[0149]
比较δtb
cur
及δtb的值:
[0150]
若δtb
cur
>δtb,则不再进行广播报文的转发,因为第一阶段中作为广播源的控制服务器是向所控制的所有子网进行定向广播,相较于第三阶段中仅向部分子网进行定向广播时的通信情况更为复杂。这代表当前节点在tb
rcv_ow
时刻所接收的广播报文是来自于耗时更长的复杂通信链路,当前节点在本次循环的广播阶段完成数据报文转发的概率很大,因此无需再次进行广播报文的转发,进而达到了减少重复转发广播报文和节约能量的效果;
[0151]
若δtb
cur
≤δtb,则进行广播报文的转发。由于第一阶段所存储的广播到达时间是经过通信链路最早到达该节点的嗅探广播报文所对应的时间,因此这代表当前节点在tb
rcv_ow
时刻所接收的广播报文是经过了第一阶段验证的相对最优通信链路传输的。与此同时,将广播统计表中相应的tb
rcv
的值更新为tb
rcv_now
,tb
send
的值更新为tb
send_now
。进而保证在正式广播阶段,当前节点是由时延最短的链路传输的,并避免了其他高时延链路的广播报文的进一步转发导致的高能耗问题。
[0152]
最后,完成本次循环广播的三阶段操作后,每个节点会清空自身广播统计表和直连链路表。
[0153]
为了更好的描述本发明,下文以具体的路由子网和互联网协议地址为例对本发明提供的现场可编程门阵列加速器集群的广播方法进行说明,以第一次循环广播为例,结合图1所展示的跨子网直连的树型现场可编程门阵列加速器集群网络拓扑结构图,其中包括1台作为控制管理使用的控制服务器、4个路由器及8个现场可编程门阵列加速器,共包含3个路由子网,分别通过2#、3#和4#路由器进行管理。而1#路由器则负责管理2#、3#、4#三个路由器及1#控制服务器。3个路由子网内的现场可编程门阵列加速器之间通过直连链路互联,具体的,2#路由器管理的子网内的3#现场可编程门阵列加速器与3#路由器管理的子网内的4#现场可编程门阵列加速器通过直连链路互联。3#路由器管理的子网内的6#现场可编程门阵列加速器与4#路由器管理的子网内的7#现场可编程门阵列加速器通过直连链路互联。
[0154]
并且,本发明中设计图1中控制服务器、路由器及各现场可编程门阵列加速器所属的子网范围及ip地址范围如表1所示,并分别设置1#路由子网、2#路由子网、3#路由子网及4#路由子网。根据图1可知,2#路由子网、3#路由子网及4#路由子网均为1#路由子网下的子网。根据1#路由子网的地址段192.168.122.129/5可知,其包含的ip地址为192.168.122.128-192.168.122.159,合计32个ip地址。其中,2#路由子网的地址段192.168.122.137/3包含的ip地址范围为192.168.122.136-192.168.122.143,合计8个ip地址;同理可知3#路由子网的地址段192.168.122.145/3包含的ip地址范围为192.168.122.144-192.168.122.151,合计8个ip地址;4#路由子网的地址段192.168.122.153/3包含的ip地址范围为192.168.122.152-192.168.122.159,合计8个ip地址。对比可知,2#、3#、4#三个路由子网的地址划分均为1#路由子网下进一步划分得到的子网。参见表1,表1为现场可编程门阵列加速器集群网络图中所有节点ip地址。
[0155]
表1现场可编程门阵列加速器集群网络图中所有节点ip地址
[0156][0157]
假设1#路由器与3#路由器之间的路由链路处于中断的状态,并且将本次循环中第一阶段的时间δt1的值为200ms,第二阶段的时间δt2的值为60ms,第三阶段的时间δt3的值为1500ms。本次循环的广播开始时间设置为2023-01:0100:00:00.000。则第一阶段的时间范围为[2023-01-01 00:00:00.000,2023-01:0100:00:00.200],第二阶段的时间范围为[2023-01-01 00:00:00.200,2023-01:0100:00:00.260],第三阶段的时间范围为[2023-01-01 00:00:00.260,2023-01:0100:00:01.760]。
[0158]
并且,由于每次循环广播中嗅探广播报文的长度和正式广播报文的长度相同,设
置广播的嗅探广播报文和正式广播报文的报文体长度为12字节,并设计在第一次循环广播的嗅探广播阶段各节点之间的路由链路和直连链路的传输时延如表2所示,表2为第一次循环广播的嗅探广播阶段中各链路传输时延表:
[0159]
表2第一次循环广播的嗅探广播阶段中各链路传输时延表
[0160][0161][0162]
则根据表2,结合嗅探广播阶段的链路可依次得到从广播源控制服务器到各节点的嗅探广播报文到达时间、传输时延等,具体内容如表3所示。需要说明的是,由于传输的嗅探广播报文和正式广播报文的报文体长度相同,而各节点在第一阶段和第三阶段进行本地复制和计算花费的时间是相等,因此相关计算中并未引入相关的时间计算。
[0163]
以3#路由器为例,结合表2可知,由于1#路由器到3#路由器之间的路由链路顿开,因此从广播源1#控制服务器到3#路由器的最短通信链路为1#控制服务器
→
1#路由器
→
4#路由器
→
7#现场可编程门阵列加速器
→
6#现场可编程门阵列加速器
→
3#现场可编程门阵列加速器。此条通信链路对应的3#路由器的传输时延为10ms+3ms+8ms+3ms+2ms=26ms,故
广播到达时间为2023-01-0100:00:00.026。按照转发规则接收到此通信链路的嗅探广播报文后,3#路由器根据嗅探广播报文解析得到广播源控制服务器的ip地址192.168.122.159和广播开始时间2023-01-01 00:00:00.000,并查询广播统计表。发现为空,因此3#路由器需要将相应的信息存入广播统计表《(192.168.122.159,2023-01-0100:00:00.000),2023-01-01 00:00:00.026》。完成以上操作后,执行下一步转发,可向4#现场可编程门阵列加速器及5#现场可编程门阵列加速器转发。
[0164]
实际上,还存在其他的转发链路,例如:1#控制服务器
→
1#路由器
→
2#路由器
→
3#现场可编程门阵列加速器
→
4#现场可编程门阵列加速器
→
3#现场可编程门阵列加速器,此条通信链路对应的传输时延为10ms+5ms+6ms+3ms+14ms=38ms,因此,此条通信链路的广播到达时间为:2023-01-01 00:00:00.038。
[0165]
接收到此通信链路的嗅探广播报文后,3#路由器根据嗅探广播报文解析得到广播源控制服务器的ip地址192.168.122.159和广播开始时间2023-01-0100:00:00.000,并查询广播统计表可以得到之前的广播到达时间2023-01-0100:00:00.026,由此可知之前已存在传输时延更低的通信链路,不再执行转发等相关操作。参见表3,表3为嗅探广播阶段各节点嗅探广播报文到达时间和传输时延数值表:
[0166]
表3嗅探广播阶段各节点嗅探广播报文到达时间和传输时延数值表
[0167][0168][0169]
而在拓扑扩充阶段,以3#路由器为例,在本次循环广播中嗅探广播阶段至少存在以上两条通信链路。并且分别使用了3#现场可编程门阵列加速器与4#现场可编程门阵列加
速器之间的直连链路及6#现场可编程门阵列加速器与7#现场可编程门阵列加速器之间的直连链路,这对3#现场可编程门阵列加速器而言是不可知的,因此需要在拓扑扩充阶段由4#现场可编程门阵列加速器和6#现场可编程门阵列加速器上传至3#路由器,记入直连链路表,如表4所示,表4为第一次循环广播中直连扩充阶段3#路由器直连链路表。
[0170]
表4第一次循环广播中直连扩充阶段3#路由器直连链路表
[0171][0172]
完成第一次循环广播的前两阶段的通信链路嗅探感知和拓扑扩充后,假设作为广播源的1#控制服务器在2023-01-01 00:00:00.260时刻开始向3#路由子网内的所有节点进行广播,并假设在正式广播阶段传输时延如表5所示。由表5可知,1#路由器与3#路由器之间的路由链路仍处于阻塞或断开等情况,因此需要使用2#路由器和4#路由器作为转发路由器使用。
[0173]
在此基础上,进一步分析以3#路由器为例,则可得到仍存在两条通信链路可将正式广播报文传输至3#路由器,记作通信链路a和通信链路b。通信链路a为1#控制服务器
→
1#路由器
→
4#路由器
→
7#现场可编程门阵列加速器
→
6#现场可编程门阵列加速器
→
3#现场可编程门阵列加速器,相应的传输时延δtb
cur
值为10ms+3ms+5ms+3ms+2ms=23ms。通信链路b为:1#控制服务器
→
1#路由器
→
1#路由器
→
3#现场可编程门阵列加速器
→
4#现场可编程门阵列加速器
→
3#现场可编程门阵列加速器,相应的传输时延δtb
cur
值为10ms+2ms+3ms+3ms+2ms=20ms。由此可知,通过通信链路b传输的正式广播报文先于通信链路a到达3#路由器。
[0174]
当正式广播报文通过链路b到达3#路由器时,根据嗅探广播报文解析得到广播源控制服务器的ip地址192.168.122.159,并根据本次循环广播的嗅探广播阶段的广播开始时间tb
send
值2023-01-01 00:00:00.000,查询广播统计表可以得到相应的嗅探广播报文的广播到达时间tb
rcv
的值为2023-01-0100:00:00.026,进一步得到嗅探广播阶段3#路由器的嗅探广播报文的传输时延δtb为26ms。因为δtb
cur
<δtb,因此需要将广播统计表中的tb
send
的值2023-01-0100:00:00.000更新为tb
send_now
的值2023-01-0100:00:00.260,相应的tb
rcv
的值2023-01-0100:00:00.026更新为2023-01-0100:00:00.280。
[0175]
随后,当正式广播报文通过链路a到达3#路由器时,根据嗅探广播报文解析得到广播源控制服务器的ip地址192.168.122.159,并根据本次循环广播的嗅探广播阶段的广播开始时间tb
send
值2023-01-01 00:00:00.260,查询广播统计表可以得到相应的嗅探广播报文的广播到达时间tb
rcv
的值为2023-01-0100:00:00.280,进一步得到广播报文的传输时延δtb为20ms。因为链路a的传输时延δtb
cur
为23ms,即δtb
cur
>δtb。因此,无需进一步做转发。故3#节点的正式广播报文的最短传输时延为20ms。进而节省了广播报文反复重传导致的能耗和时间。参见表5,表5为第一次循环广播的嗅探广播阶段中各链路传输时延表。
[0176]
表5第一次循环广播的嗅探广播阶段中各链路传输时延表
[0177][0178][0179]
第一次循环广播三阶段完成后,每个现场可编程门阵列加速器和路由器会清空广播路由表,每个路由器也会清空直连链路表内的内容。
[0180]
参见图5,图5为本发明实施例所提供的现场可编程门阵列加速器集群的广播系统结构示意图,本发明还提供一种现场可编程门阵列加速器集群的广播系统,包括:
[0181]
嗅探广播模块,用于在嗅探广播阶段内,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播;所述节点包括路由器和现场可编程门阵列加速器;
[0182]
拓扑填充模块,用于在拓扑填充阶段内,将所述嗅探广播阶段内,通过直连链路进行嗅探广播报文转发的两个现场可编程门阵列加速器作为相连接的现场可编程门阵列,将所述相连接的现场可编程门阵列加速器的信息上传至本地子网的路由器;所述本地子网的路由器将所述相连接的现场可编程门阵列加速器的信息记录至直连链路表;
[0183]
正式广播模块,用于在正式广播阶段内,所述控制服务器根据广播需求向所管理的目标节点进行定向广播。
[0184]
基于上述实施例,嗅探广播模块包括:
[0185]
转发子模块,用于在所述控制服务器下属所有定向子网内所有现场可编程门阵列加速器间的直连链路信息传输至其所属子网的路由器后,每个所述节点在转发时根据转发规则对嗅探广播进行转发;所述转发规则为根据所述嗅探广播的实际传输时延与感知阶段的感知传输时延进行比对得到比对结果,所述比对结果用于指导所述节点是否转发所述嗅探广播。
[0186]
基于上述实施例,转发子模块包括:
[0187]
记录单元,用于每个所述节点接收到嗅探广播报文时,记录所述嗅探广播报文的到达时刻,并记录至自身维护的广播统计表;
[0188]
解析单元,用于解析所述嗅探广播报文,得到广播字段值;
[0189]
判断单元,用于将所述广播字段值与所述广播统计表进行比对,判断所述广播统计表中是否存在所述广播字段值;
[0190]
停止转发单元,用于若所述广播统计表中存在所述广播字段值,停止转发所述嗅探广播报文;
[0191]
转发单元,用于若所述广播统计表中不存在所述广播字段值,,记录所述广播字段值至所述广播统计表,并转发所述嗅探广播报文至处于定向广播子网域内的其他节点。
[0192]
基于上述实施例,转发单元包括:
[0193]
第一转发子单元,用于若所述节点为路由器,将所述嗅探广播报文转发至除除上一跳节点外的在定向广播子网范围内的其他节点。
[0194]
基于上述实施例,转发单元包括:
[0195]
上传子单元,用于若所述节点为现场可编程门阵列加速器,当上一条节点是现场可编程门阵列加速器时,将嗅探广播报文通过路由链路上传至所属子网的路由器;
[0196]
判断子单元,用于而当上一跳节点为所在子网的路由器时,判断现场可编程门阵列加速器是否与其他现场可编程门阵列加速器通过直连链路通信;
[0197]
第二转发子单元,用于若存在直连链路且相连接的现场可编程门阵列加速器在定向广播子网范围内,则转发所述嗅探广播报文;
[0198]
停止转发子单元,用于若不存在所述直连链路,或存在所述直连链路但相连的现场可编程门阵列加速器不在定向广播子网范围内,停止转发所述嗅探广播报文。
[0199]
基于上述实施例,还包括:
[0200]
转发模块,用于在所述嗅探广播阶段内,除所述控制服务器外的所有所述节点按照所述转发规则转发所述嗅探广播。
[0201]
基于上述实施例,还包括:
[0202]
第一更新模块,用于所述控制服务器根据广播需求向所管理的目标节点进行定向广播时,所述节点记录所述定向广播报文的广播接收时间,并解析所述定向广播报文的广播源的互联网协议地址,将所述接收时间更新至自身维护的广播统计表;
[0203]
第一确定模块,用于根据所述嗅探广播阶段的嗅探广播开始时间,和所述互联网协议地址查询嗅探广播阶段时的广播统计表,得到广播结束时间;
[0204]
第二确定模块,用于根据所述广播结束时间确定广播报文传输时延;
[0205]
第三确定模块,用于根据广播开始时间和所述广播结束时间确定所述正式广播阶
段当前节点的当前广播报文传输时延;
[0206]
停止转发模块,用于若所述广播报文传输时延大于所述当前广播报文传输时延,不再转发广播报文;
[0207]
继续转发模块,用于若所述广播报文传输时延小于或等于所述当前广播报文传输时延,继续转发广播报文。
[0208]
基于上述实施例,还包括:
[0209]
存储模块,用于若根据所述嗅探广播阶段的嗅探广播开始时间,和所述互联网协议地址查询嗅探广播阶段时的广播统计表时,无法查询到所述广播结束时间,确定所述节点在所述嗅探广播阶段出现链路异常,将所述互联网协议地址、定向广播开始时间和定向广播接收时间存入所述广播统计表。
[0210]
基于上述实施例,还包括:
[0211]
第一生成模块,用于每个所述节点生成自身维护的所述广播统计表;所述广播统计表包含了广播源的互联网协议地址、广播开始时间和广播到达时间。
[0212]
基于上述实施例,还包括:
[0213]
第二生成模块,用于本地子网的路由器生成所述直连链路表;所述直连链路表包含本地现场可编程门阵列加速器互联网协议地址和直连现场可编程门阵列加速器互联网协议地址。
[0214]
基于上述实施例,还包括:
[0215]
正式广播转发规则设定模块,用于在正式广播阶段过程中,设定正式广播转发规则,所述正式广播转发规则为在所述控制服务器进行定向广播时,除目标定向子网中的所有节点、转发路由器以及所述转发路由器下与所述定向子网内的现场可编程门阵列加速器存在直连链路的可编程门阵列加速器也可参与所述定向广播的转发。
[0216]
基于上述实施例,还包括:
[0217]
第四确定模块,用于若所述广播报文传输时延大于所述当前广播报文传输时延,确定当前节点在广播到达时间所接收的广播报文源于耗时较长的通信链路。
[0218]
基于上述实施例,还包括:
[0219]
第二更新模块,用于若所述广播报文传输时延小于或等于所述当前广播报文传输时延,将广播统计表中所述广播结束时间更新为所述广播到达时间。
[0220]
基于上述实施例,还包括:
[0221]
清空模块,用于在所述正式广播阶段结束后,每个所述节点清空自身的广播统计表,所述路由器清空自身的直连链路表。
[0222]
本发明还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0223]
本发明还提供了一种电子设备,参见图6,本发明实施例提供的一种电子设备的结构图,如图6所示,可以包括处理器1410和存储器1420。
[0224]
其中,处理器1410可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1410可以采用dsp(digital signal processing,数字信号处理)、fpga(field-
programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1410也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1410可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1410还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0225]
存储器1420可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1420还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器1420至少用于存储以下计算机程序1421,其中,该计算机程序被处理器1410加载并执行之后,能够实现前述任一实施例公开的方法的相关步骤。另外,存储器1420所存储的资源还可以包括操作系统1422和数据1423等,存储方式可以是短暂存储或者永久存储。其中,操作系统1422可以包括windows、linux、android等。
[0226]
在一些实施例中,电子设备还可包括有显示屏1430、输入输出接口1440、通信接口1450、传感器1460、电源1470以及通信总线1480。
[0227]
当然,图6所示的电子设备的结构并不构成对本发明实施例中电子设备的限定,在实际应用中电子设备可以包括比图6所示的更多或更少的部件,或者组合某些部件。
[0228]
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0229]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
[0230]
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
技术特征:
1.一种现场可编程门阵列加速器集群的广播方法,其特征在于,包括:在嗅探广播阶段内,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播;所述节点包括路由器和现场可编程门阵列加速器;在拓扑填充阶段内,将所述嗅探广播阶段内,通过直连链路进行嗅探广播报文转发的两个现场可编程门阵列加速器作为相连接的现场可编程门阵列,将所述相连接的现场可编程门阵列加速器的信息上传至本地子网的路由器;所述本地子网的路由器将所述相连接的现场可编程门阵列加速器的信息记录至直连链路表;在正式广播阶段内,所述控制服务器根据广播需求向所管理的目标节点进行定向广播。2.根据权利要求1所述的广播方法,其特征在于,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播包括:在所述控制服务器下属所有定向子网内所有现场可编程门阵列加速器间的直连链路信息传输至其所属子网的路由器后,每个所述节点在转发时根据转发规则对嗅探广播进行转发;所述转发规则为根据所述嗅探广播的实际传输时延与感知阶段的感知传输时延进行比对得到比对结果,所述比对结果用于指导所述节点是否转发所述嗅探广播。3.根据权利要求2所述的广播方法,其特征在于,每个所述节点在转发时根据转发规则对嗅探广播进行转发包括:每个所述节点接收到嗅探广播报文时,记录所述嗅探广播报文的到达时刻,并记录至自身维护的广播统计表;解析所述嗅探广播报文,得到广播字段值;将所述广播字段值与所述广播统计表进行比对,判断所述广播统计表中是否存在所述广播字段值;若是,停止转发所述嗅探广播报文;若否,记录所述广播字段值至所述广播统计表,并转发所述嗅探广播报文至处于定向广播子网域内的其他节点。4.根据权利要求3所述的广播方法,其特征在于,转发所述嗅探广播报文至处于定向广播子网域内的其他节点包括:若所述节点为路由器,将所述嗅探广播报文转发至除除上一跳节点外的在定向广播子网范围内的其他节点。5.根据权利要求4所述的广播方法,其特征在于,转发所述嗅探广播报文至处于定向广播子网域内的其他节点包括:若所述节点为现场可编程门阵列加速器,当上一条节点是现场可编程门阵列加速器时,将嗅探广播报文通过路由链路上传至所属子网的路由器;而当上一跳节点为所在子网的路由器时,判断现场可编程门阵列加速器是否与其他现场可编程门阵列加速器通过直连链路通信;若存在直连链路且相连接的现场可编程门阵列加速器在定向广播子网范围内,则转发所述嗅探广播报文;若不存在所述直连链路,或存在所述直连链路但相连的现场可编程门阵列加速器不在定向广播子网范围内,停止转发所述嗅探广播报文。
6.根据权利要求1所述的广播方法,其特征在于,还包括:在所述嗅探广播阶段内,除所述控制服务器外的所有所述节点按照所述转发规则转发所述嗅探广播。7.根据权利要求1所述的广播方法,其特征在于,所述控制服务器根据广播需求向所管理的目标节点进行定向广播时,还包括:所述节点记录所述定向广播报文的广播接收时间,并解析所述定向广播报文的广播源的互联网协议地址,将所述接收时间更新至自身维护的广播统计表;根据所述嗅探广播阶段的嗅探广播开始时间,和所述互联网协议地址查询嗅探广播阶段时的广播统计表,得到广播结束时间;根据所述广播结束时间确定广播报文传输时延;根据广播开始时间和所述广播结束时间确定所述正式广播阶段当前节点的当前广播报文传输时延;若所述广播报文传输时延大于所述当前广播报文传输时延,不再转发广播报文;若所述广播报文传输时延小于或等于所述当前广播报文传输时延,继续转发广播报文。8.根据权利要求7所述的广播方法,其特征在于,若根据所述嗅探广播阶段的嗅探广播开始时间,和所述互联网协议地址查询嗅探广播阶段时的广播统计表时,无法查询到所述广播结束时间,还包括:确定所述节点在所述嗅探广播阶段出现链路异常,将所述互联网协议地址、定向广播开始时间和定向广播接收时间存入所述广播统计表。9.根据权利要求7所述的广播方法,其特征在于,所述控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播之后,还包括:确定各所述节点对应的最短广播时延。10.根据权利要求3所述的广播方法,其特征在于,还包括:每个所述节点生成自身维护的所述广播统计表;所述广播统计表包含了广播源的互联网协议地址、广播开始时间和广播到达时间。11.根据权利要求1所述的广播方法,其特征在于,还包括:本地子网的路由器生成所述直连链路表;所述直连链路表包含本地现场可编程门阵列加速器互联网协议地址和直连现场可编程门阵列加速器互联网协议地址。12.根据权利要求1所述的广播方法,其特征在于,在正式广播阶段过程中,还包括:设定正式广播转发规则,所述正式广播转发规则为在所述控制服务器进行定向广播时,除目标定向子网中的所有节点、转发路由器以及所述转发路由器下与所述定向子网内的现场可编程门阵列加速器存在直连链路的可编程门阵列加速器也可参与所述定向广播的转发。13.根据权利要求1所述的广播方法,其特征在于,若所述广播报文传输时延大于所述当前广播报文传输时延,还包括:确定当前节点在广播到达时间所接收的广播报文源于耗时较长的通信链路。14.根据权利要求1所述的广播方法,其特征在于,若所述广播报文传输时延小于或等于所述当前广播报文传输时延,还包括:
将广播统计表中所述广播结束时间更新为所述广播到达时间。15.根据权利要求1或8所述的广播方法,其特征在于,还包括:在所述正式广播阶段结束后,每个所述节点清空自身的广播统计表,所述路由器清空自身的直连链路表。16.根据权利要求1所述的广播方法,其特征在于,在所述在嗅探广播阶段前,还包括:构建由所述控制服务器、所述路由器和所述现场可编程门阵列加速器组成的现场可编程门阵列加速器集群;其中,所述控制服务器、所述路由器和所述现场可编程门阵列加速器之间设有路由链路,分属于不同路由器的现场可编程门阵列加速器之间设有所述直连链路;所述控制服务器用于管理所述现场可编程门阵列加速器集群;所述现场可编程门阵列加速器,用于执行网络通信和应用计算。17.根据权利要求16所述的广播方法,其特征在于,所述现场可编程门阵列加速器包括:通信子内核、计算子内核和控制子内核;所述通信子内核用于网络通信,所述计算子内核用于进行应用计算,所述控制子内核用于执行逻辑控制。18.一种现场可编程门阵列加速器集群的广播系统,其特征在于,包括:嗅探广播模块,用于在嗅探广播阶段内,控制服务器通过所有通信链路对所管理的所有子网内的节点进行嗅探广播;所述节点包括路由器和现场可编程门阵列加速器;拓扑填充模块,用于在拓扑填充阶段内,将所述嗅探广播阶段内,通过直连链路进行嗅探广播报文转发的两个现场可编程门阵列加速器作为相连接的现场可编程门阵列,将所述相连接的现场可编程门阵列加速器的信息上传至本地子网的路由器;所述本地子网的路由器将所述相连接的现场可编程门阵列加速器的信息记录至直连链路表;正式广播模块,用于在正式广播阶段内,所述控制服务器根据广播需求向所管理的目标节点进行定向广播。19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-17任一项所述的方法的步骤。20.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1-17任一项所述的方法的步骤。
技术总结
本发明提供一种现场可编程门阵列加速器集群的广播方法和系统,涉及通信领域,包括:在嗅探广播阶段内,控制服务器通过所有通信链路对所有子网节点进行嗅探广播;在拓扑填充阶段内,将进行嗅探广播报文转发的两个现场可编程门阵列加速器作为相连接的现场可编程门阵列,将相连接的现场可编程门阵列加速器的信息上传至本地子网的路由器,再记录至直连链路表;在正式广播阶段内,根据广播需求向所管理的目标节点进行定向广播。本发明解决了分布式现场可编程门阵列加速器集群网络的路由链路对现场可编程门阵列加速器之间的路由链路不可知问题,避免了环形广播风暴的出现,进一步解决了网络阻塞和数据报文反复重传导致的高时延和高能耗问题。和高能耗问题。和高能耗问题。
技术研发人员:宿栋栋 沈艳梅 刘伟 阚宏伟
受保护的技术使用者:广东浪潮智慧计算技术有限公司
技术研发日:2023.06.16
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/