一种基于FPGA交叉的改进三级CLOS路由算法制造技术

技术编号:20331306 阅读:55 留言:0更新日期:2019-02-13 07:08
本发明专利技术涉及一种基于FPGA交叉的改进三级CLOS路由算法,本发明专利技术基于FPGA的内部交叉能力,为实现光纤信号的输入输出路由交叉功能,实现了两层三级CLOS网络的路由嵌套算法,第一层三级CLOS网络增加了中间级合并的设计策略,以及输入输出级与交换级之间由传统架构的1条连接通道增加到4条连接通道,增大了路由选路空间,第二层CLOS网络计算FPGA片内路由,在本板交叉的场景下实现了直切模式,不占用交换级资源,增加了路由选路空间,从而在大容量交叉的场景下具备大大降低阻塞率的优势。本发明专利技术通过架构和算法上的改进增加了路由选路空间,大大降低阻塞率的,提高了设备性能优势和用户体验。

【技术实现步骤摘要】
一种基于FPGA交叉的改进三级CLOS路由算法
本专利技术涉及一种基于FPGA交叉的改进三级CLOS路由算法,用于对光纤信号SDH和10GE进行时隙和通道地交叉,通过改进嵌套式三级CLOS网络路由算法,根据设备输入输出路由要求计算出三级CLOS每一级的路由表,并将路由结果配置到FPGA及交叉芯片中实现光纤信号路由交叉的功能。
技术介绍
CLOS网络是经典的严格无阻塞多级互联交换网络,该网络在光通信网络中被广泛使用,它具有可伸缩性,固定交换时延,数据传输的自由性和有序性的特点。经典的CLOS网络为三级全互连对称网络,其包含输入级/中间级/输出级三级,其输入级有r个n*m个交叉开关,中间级有m个r*r个交叉开关,输出级有r个m*n个交叉开关,网络共有N=n*r个输入与输出,每个中间级开关与每个输入级开关和输出级开关有且仅有一条连接链路。从CLOS提出以来,人们对其拓扑结构和连接特性及其控制路由算法进行了深入的研究,也取得了不少成果,其中对如何降低阻塞率优化路由算法的选路策略等有诸多研究成果,如在选择中间级单元使采用计算选路阻塞概率最小的最优路径等策略实现。传统clos的路由算法根据三级CLOS网络架构建立算法模型,将外层需要实现的输入输出的交叉对作为算法模型的输入参数,算法根据输入级/中间级/输出级的资源占用/空闲情况,采取最优选路策略进行三级路由选路,给出中间路径的寻路结果,完成输入到输出的路由交叉。在当前整个IP网络流量和规模不断膨胀的趋势下,对光通信中的大容量交叉交换能力提出了更高的要求,为能实现容量在Tbits级别的交叉交换容量,针对大容量和无阻塞率以及最小使用资源的要求,传统的输入级/输出级与中间级有且仅有一条连接链路已经无法满足大容量的交叉交换能力,针对三级CLOS架构(m=32,r=12,n=16)的192路输入输出大容量交叉,传统框架对小颗粒度的时隙交叉仍然存在阻塞概率。
技术实现思路
鉴于现有技术的状况,本专利技术针对三级CLOS架构(m=32,r=12,n=16)的192路输入输出大容量交叉应用需求,为实现光通信领域不同光纤信号的时隙和通道交叉的功能需求,传统三级CLOS网络架构中对大容量细颗粒度时隙交叉仍存在阻塞概率,为增加输入输出级到中间级的连接链路的可选路资源,将传统的输入输出级到中间级的一条连接链路改为4条连接链路,增加中间级选路资源,降低阻塞率,同时为了降低中间级资源大容量交叉场景下的资源紧张的问题,设计了嵌套层三级CLOS网络,路由算法计算完第一层三级CLOS网络寻路路径之后,计算嵌套层的三级CLOS网络的寻路路径,当输入输出都是在嵌套层上的三级CLOS网络上进行交叉的,则不需要进行第一层的三级CLOS路由算法计算,不使用第一层三级CLOS网络的中间级资源,降低大容量细颗粒度的交叉下的阻塞概率,同时嵌套层上直接交叉切换,减少了信号交叉传输时延。本专利技术采用的技术方案是:一种基于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网络的通道交叉的路由算法逻辑,将同一业务板本文档来自技高网
...

【技术保护点】
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网络的通道交叉的路由算法逻辑,将同一业务板上的输入输出路由作为算法的输入,首先判断是否存在输出级复制,即所建立的同一输入交叉已经有一条路由通路到达输出级单元,此时直接复用该通路,只需在输出级建立一条路由表即完成此次新建,如果不存在输出级复制则判断是否存在中间级复制,即所建立的同一输入交叉已经有一条通路到达中间级,此时直接复用该通路,只需在中间级和输出级建立路由表即完成此次新建,如果不存在中间级复制,则计算出一条空闲的路由通路供本条交叉使用,同时更新三级路由表,...

【技术特征摘要】
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网络的中间级资源,如果编号不一样则首先判断是否存在输出级复制,即存在需要新建的输入信号已经有路由输出到对应输出单元则复用该路由,只在输出单元那新建一条输出级的路由表即可,更新所有路由信息;如果不存在输出级复制则判断是否存在中间级复制,即是否存在需要新建的输入信号已经有路...

【专利技术属性】
技术研发人员:张鹏泉幸娟王东锋
申请(专利权)人:天津光电通信技术有限公司
类型:发明
国别省市:天津,12

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

1