[发明专利]一种基于FPGA交叉的改进三级CLOS路由方法有效
申请号: | 201811496643.4 | 申请日: | 2018-12-07 |
公开(公告)号: | CN109327410B | 公开(公告)日: | 2020-09-22 |
发明(设计)人: | 张鹏泉;幸娟;王东锋 | 申请(专利权)人: | 天津光电通信技术有限公司 |
主分类号: | H04L12/933 | 分类号: | H04L12/933;H04Q11/00 |
代理公司: | 天津中环专利商标代理有限公司 12105 | 代理人: | 胡京生 |
地址: | 300211*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 交叉 改进 三级 clos 路由 方法 | ||
1.一种基于FPGA交叉的改进三级CLOS路由方法,其特征在于,本路由方法运行平台是大容量TBits级交叉设备,包括15块板卡,其中12块板卡为业务板,2块板卡为交换板,1块主控板,主控板中运行控制调度程序以及本架构的三级CLOS路由方法,业务板上配有SOC芯片zynq7030以及FPGA芯片,交换板上配有交叉芯片,每个业务板上的FPGA都具有48*48输入输出交叉能力,该交叉能力划分为第一层的三级CLOS网络架构里的输入级16*32交叉矩阵和输出级32*16的交叉矩阵,中间级由两块交换板实现,每块交换板上具有4个48*48的交叉能力,每个48*48的交叉能力由4片交叉芯片组合实现,因为每个交叉芯片具有12*12的交叉能力,12块业务板分了一部分交叉能力16*32作为输入级,一部分交叉能力32*16作为输出级,中间级则由8个48*48的单元组成,因此第一层三级CLOS网络架构输入级有12个16*32的交叉开关,中间级有8个48*48的交叉开关,输出级有12个32*16的交叉开关,其中输入级和中间级每个单元都有四条连接链路,输出级和中间级每个单元同样都有四条连接链路,故输入级每个单元中的32个输出分别是4条连接链路与8个中间级单元的乘积,输出级每个单元的32个输入也是同样计算得来;
具有中间级合并的三级CLOS架构计算输入输出192*192交叉矩阵的三级路由通路时,根据用户指定的输入或输出单元编号即12个输入或输出级的哪个单元,每个单元中选择16个光纤通道的哪个通道,若所实现的不是通道交叉而需要实现时隙交叉,则用户还需指定需要把该通道中64个时隙的哪些时隙进行交叉切换,可选时隙颗粒度包括VC-12/VC-4/VC-16c/VC-64c;
三级CLOS路由方法则通过用户指定的输入输出交叉对,根据网络架构计算出输入/输出/中间级的路由表;
第一层三级CLOS路由方法的新建交叉逻辑实现流程为当用户给出了需要新建的交叉列表,方法首先判断当前新建的交叉是否与已有交叉存在输出端口或时隙的重复,如果重复则删除原来的交叉对,然后开始新建当前交叉列表,首先判断输入输出单元的编号是否一样,如果一样则认为交叉在同一个业务板上进行,则该交叉直接由FPGA来实现,直接计算第二层CLOS网络路由,不使用第一层CLOS网络的中间级资源,如果编号不一样则首先判断是否存在输出级复制,即存在需要新建的输入信号已经有路由输出到对应输出单元则复用该路由,只在输出单元那新建一条输出级的路由表即可,更新所有路由信息;如果不存在输出级复制则判断是否存在中间级复制,即是否存在需要新建的输入信号已经有路由输出到所选择的中间级单元,如果存在则新增中间级和输出级路由信息,如果不存在则判断是否有中间级复用,即是否存在已经建立一条中间级的路由但其通道未用满,并且剩余空间能容纳当前所建交叉时隙大小,存在则更新中间级和输入级路由表,否则计算出一条空闲的路由提供给当前交叉使用;
第一层三级CLOS路由方法的删除交叉逻辑实现流程为当用户给出了需要删除的交叉列表,方法首先判断当前删除交叉的输入输出单元编号是否一样,一样则直接在第二层三级CLOS路由方法中更新输入输出交叉列表进行中间路由计算,不一样则先删除输出级路由表,然后判断中间级路由是否被多次使用,如果被多次使用则不删除该中间级路由,判断输入级路由是否被多次使用,如果被多次使用则不删除该输入级路由,完成该交叉的删除操作;
路由方法计算完第一层的三级CLOS网络的三级路由表之后,由于输入输出级单元编号相同的路由其实是在同一块业务板上完成的交叉,将同一输入输出的路由进行合并,当业务板上的路由表中有10GE的交叉路由时,将10GE的通道交叉路由提取出来作为第二层三级CLOS网络路由方法的输入,来计算每个业务板上的三级CLOS网络的三级路由表,第二层的三级CLOS网络的架构,输入级有12个4*8的交叉开关,中间级有8个12*12的交叉开关,输出级有12个8*4的交叉开关,输入级输出级与中间级都有且仅有一条连接链路,该三级CLOS网络是传统的三级CLOS网络,并且严格无阻塞,方法需要计算出第二层三级CLOS网络的10GE通道交叉的路由表,根据路由表配置FPGA提供的交叉配置寄存器进行交叉配置;
第二层三级CLOS网络的通道交叉的路由方法逻辑为将同一业务板上的输入输出路由作为方法的输入,首先判断是否存在输出级复制,即所建立的同一输入交叉已经有一条路由通路到达输出级单元,此时直接复用该通路,只需在输出级建立一条路由表即完成此次新建,如果不存在输出级复制则判断是否存在中间级复制,即所建立的同一输入交叉已经有一条通路到达中间级,此时直接复用该通路,只需在中间级和输出级建立路由表即完成此次新建,如果不存在中间级复制,则计算出一条空闲的路由通路供本条交叉使用,同时更新三级路由表,完成本次新建;
本路由方法框架其中第一层三级CLOS网络路由通路的计算使用python语言来实现,通过利用python的numpy/pandas语言的矩阵运算和数据处理的能力实现方法的复杂逻辑以及数据的存储和查询;
计算的路由数据提供获取接口,供C++调用,第二层三级CLOS网络路由通路的计算使用C++实现,封装成C++算法功能模块类来供业务控制流程代码的调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津光电通信技术有限公司,未经天津光电通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811496643.4/1.html,转载请声明来源钻瓜专利网。