一种流水线式的BENES网络路由求解硬件加速装置制造方法及图纸

技术编号:35686324 阅读:24 留言:0更新日期:2022-11-23 14:31
本发明专利技术提供一种流水线式的BENES网络路由求解硬件加速装置,包括流水线求解器、预测枚举器和高速缓存器,流水线求解器根据路由求解输入,进行流水线式硬件求解,流水线求解器的输出存储至所述高速缓存器中;所述预测枚举器根据路由求解输入,枚举生成不同的路由状态输入所述流水线求解器中进行求解;所述高速缓存器将路由求解输入与自身存储的先前已计算好的结果进行对比,如果存在已计算好的结果,直接输出对应的结果,如果不存在已计算好的结果,等待流水线求解器的输出结果。本发明专利技术将目前最佳的路由求解硬件所需的求解时间进一步降低至数十纳秒乃至更低,使BENES光网络真正可用于生产环境。可用于生产环境。可用于生产环境。

【技术实现步骤摘要】
一种流水线式的BENES网络路由求解硬件加速装置


[0001]本专利技术涉及路由求解
,更具体地,涉及一种流水线式的BENES网络路由求解硬件加速装置。

技术介绍

[0002]BENES网络以其对基础元器件数量的低要求以及路径损耗的高平均性,在光互连领域显著优于CrossBar网络。在基础2x2交叉开关数量要求上,8x8的BENES网络要求20个,16x16的要求56个,32x32的要求144个;而8x8的CrossBar网络要求64个,16x16的要求256个,32x32的要求1024个。并且,BENES网络任意两条路径的损耗几乎相同(经过相同数量的开关元器件),而CrossBar网络则是在1个至2N

1个开关元器件之间平均分布。
[0003]然而,BENES网络的路由计算要显著慢于CrossBar计算。对CrossBar而言,将任意两个节点相连,只需在附图中依据节点编号找到对应线的交点上的光开关元器件,改变其状态即可,时间复杂度为O(1),空间复杂度可忽略不计。对BENES网络而言,缓存全部结果进行查表操作并不现实,解空间过于庞大(未经压缩的16x16 BENES的求解可占据数个GB的存储空间!),因此通常采用路由求解算法。之前学术研究普遍采用的并行算法是一种尝试

回滚算法,时间复杂度上限无法保证,其矩阵、布尔运算等算法变体通常并未改变尝试

回滚的本质,而徒增空间复杂度,不利于硬件实现。但是CrossBar有两个致命缺点导致其不适宜应用在光互连领域:一是路径损耗严重不均匀,使得对光开关路径损耗要求过高;二是对光开关数量要求过高。二者共同导致了稍大规模的CrossBar网络很难保证路径通畅。
[0004]现有技术提出了一种硬件友好的BENES网络求解,实现了确定时延的求解算法,并将求解16x16网络的时延降低到200ns量级(之前最慢时为ms级别)。然而,求解过程仍然充满了数据依赖,这意味着只能通过提高主频来实现更快速的求解,而主频无法无限制地提高,使得求解时间始终无法进入100ns内。目前业界先进的高性能电光开关,可在ps量级时间内完成状态切换,显然目前尚无与之匹配的路由求解算法,进而无法完全发挥其性能。

技术实现思路

[0005]本专利技术提供一种流水线式的BENES网络路由求解硬件加速装置,有效掩盖计算延迟,降低响应时间。
[0006]为解决上述技术问题,本专利技术的技术方案如下:
[0007]一种流水线式的BENES网络路由求解硬件加速装置,包括流水线求解器、预测枚举器和高速缓存器,其中
[0008]流水线求解器根据路由求解输入,进行流水线式硬件求解,流水线求解器的输出存储至所述高速缓存器中;
[0009]所述预测枚举器根据路由求解输入,枚举生成不同的路由状态输入所述流水线求解器中进行求解;
[0010]所述高速缓存器将路由求解输入与自身存储的先前已计算好的结果进行对比,如
果存在已计算好的结果,直接输出对应的结果,如果不存在已计算好的结果,等待流水线求解器的输出结果。
[0011]本方案利用算力远远过剩的流水线硬件求解电路,加速求解,使其能在短时间内完成大量求解任务。利用高速缓存器的缓存机制,提前进行预测式路由求解计算并储存计算结果,供收到实际请求时快速查询,掩盖计算时延。利用预测枚举器特定的高命中率预测策略生成大量预测路由,配合流水线硬件求解,进一步提高命中率。
[0012]优选地,所述路由求解输入为正向映射向量,用于快速查询输入端口获得对应的输出端口;所述正向映射向量可计算得到反向映射向量,所述反向映射向量用于快速查询输出端口获得对应的输入端口。
[0013]优选地,所述流水线求解器使用流水线式硬件求解,对于BENES网络分为若干级,每一级BENES网络的输入端口为左侧边缘节点,输出端口为右侧边缘节点,左侧边缘节点与右侧边缘节点之间由下一级BENES网络连接,每级分成两个阶段,分别为生成反向映射向量和染色,对每一路输入输出的反向映射值生成,仅需1个流水线周期,染色实现上,每经过一路输入或输出的染色,需要耗费1周期,这些部分由于存在数据依赖,不能并行完成,因此NxN的BENES网络,其有N路输入和N路输出,需要2N周期完成染色,每一级求解完毕后将结果接入一个结果收集器,所述结果收集器同样以流水线形式设计,将该结果存入流水线队列,所述结果收集器将求解得到的各级的节点状态在同一周期合并输出且一并输出至高速缓存器中。
[0014]优选地,所述正向映射向量用一串序列表示,序列里每一个元素的序号代表着对应的输出端口号,每一个元素的值代表序号对应的输出端口号连接的输入端口号;所述计算得到反向映射向量具体为:
[0015]若反向映射向量的每一项的值记为b[i],i为其序号,正向映射向量每一项的值记为a[j],j为其序号,则有:
[0016]b[a[j]]=j。
[0017]优选地,所述染色为对每一路输入输出端口进行标记的过程,并规定一个节点的上路输入或输出端口染色为第一状态色时,则节点应置为交叉状态;若上路输入或输出端口染色为第二状态色时,则节点应置为平行状态,每级的流水线需要从上一级流水线获取正向映射向量、反向映射向量、被上一级流水线染色的端口和上一级流水线染色的颜色。
[0018]优选地,所述染色的具体过程为:
[0019]沿着“右—左—左—右”的次序循环进行,直至全部边缘节点链路染色完毕:
[0020]右—左:选取右侧边缘节点的任意一个输出端口,设置其染色状态,查询反向映射向量获得对应的输入端口,使其染色状态与选取的输出端口的染色状态一致;
[0021]左—左:寻找“右

左”步骤中查询到的输入端口所在的左侧边缘节点的另一路输入端口,并设置其具有与“右

左”步骤中查询的输入端口不同的染色状态。
[0022]左—右:查询正向映射向量获得所述“左

左”步骤中找到的输入端口对应的输出端口,将其设置为具有与所述“左

左”步骤中找到的输入端口一致的染色状态;
[0023]右—右:寻找“左

右”步骤中查询到的输出端口所在的右侧边缘节点的另一路输出端口,并设置其具有与所述“左

右”步骤中查询到的输出端口不同的染色状态。
[0024]优选地,所述染色的具体过程为:
[0025]沿着“右—右—左—左”的次序循环进行,直至全部边缘节点链路染色完毕:
[0026]右—右:选取右侧边缘节点的任意一个输出端口,设置其染色状态,寻找该输出端口所在的右侧边缘节点的另一路输出端口,并设置其具有与该输出端口不同的染色状态;
[0027]右—左:查询反向映射向量获得“右—右”步骤中找到的另一路输出端口对应的输入端口,使其染色状态与“右—右”步骤中找到的另一路输出端口号的染色状态一致;
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流水线式的BENES网络路由求解硬件加速装置,其特征在于,包括流水线求解器、预测枚举器和高速缓存器,其中流水线求解器根据路由求解输入,进行流水线式硬件求解,流水线求解器的输出存储至所述高速缓存器中;所述预测枚举器根据路由求解输入,枚举生成不同的路由状态输入所述流水线求解器中进行求解;所述高速缓存器将路由求解输入与自身存储的先前已计算好的结果进行对比,如果存在已计算好的结果,直接输出对应的结果,如果不存在已计算好的结果,等待流水线求解器的输出结果。2.根据权利要求1所述的流水线式的BENES网络路由求解硬件加速装置,其特征在于,所述路由求解输入为正向映射向量,用于快速查询输入端口获得对应的输出端口;所述正向映射向量可计算得到反向映射向量,所述反向映射向量用于快速查询输出端口获得对应的输入端口。3.根据权利要求2所述的流水线式的BENES网络路由求解硬件加速装置,其特征在于,所述流水线求解器使用流水线式硬件求解,对于BENES网络分为若干级,每一级BENES网络的输入端口为左侧边缘节点,输出端口为右侧边缘节点,左侧边缘节点与右侧边缘节点之间由下一级BENES网络连接,每级分成两个阶段,分别为生成反向映射向量和染色,每一级求解完毕后将结果接入一个结果收集器,所述结果收集器同样以流水线形式设计,将该结果存入流水线队列,所述结果收集器将求解得到的各级的节点状态在同一周期合并输出且一并输出至高速缓存器中。4.根据权利要求2所述的流水线式的BENES网络路由求解硬件加速装置,其特征在于,所述正向映射向量用一串序列表示,序列里每一个元素的序号代表着对应的输出端口号,每一个元素的值代表序号对应的输出端口号连接的输入端口号;所述计算得到反向映射向量具体为:若反向映射向量的每一项的值记为b[i],i为其序号,正向映射向量每一项的值记为a[j],j为其序号,则有:b[a[j]]=j。5.根据权利要求3所述的流水线式的BENES网络路由求解硬件加速装置,其特征在于,所述染色为对每一路输入输出端口进行标记的过程,并规定一个节点的上路输入或输出端口染色为第一状态色时,则节点应置为交叉状态;若上路输入或输出端口染色为第二状态色时,则节点应置为平行状态,每级的流水线需要从上一级流水线获取正向映射向量、反向映射向量、被上一级流水线染色的端口和上一级流水线染色的颜色。6.根据权利要求5所述的流水线式的BENES网络路由求解硬件加速装置,其特征在于,所述染色的具体过程为:沿着“右—左—左—右”的次序循环进行,直至全部边缘节点链路染色完毕:右—左:选取右侧边缘节点的任意一个输出端口,设置其染色状态,查询反向映射向量获得对应的输入端口,使其染色状态与选取的输出端口的...

【专利技术属性】
技术研发人员:秦梦远郝沁汾
申请(专利权)人:无锡芯光互连技术研究院有限公司
类型:发明
国别省市:

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

1