CN102546406A - 片上网络路由集中控制系统和装置及自适应路由控制方法 - Google Patents
片上网络路由集中控制系统和装置及自适应路由控制方法 Download PDFInfo
- Publication number
- CN102546406A CN102546406A CN2011104489329A CN201110448932A CN102546406A CN 102546406 A CN102546406 A CN 102546406A CN 2011104489329 A CN2011104489329 A CN 2011104489329A CN 201110448932 A CN201110448932 A CN 201110448932A CN 102546406 A CN102546406 A CN 102546406A
- Authority
- CN
- China
- Prior art keywords
- router
- information
- packet
- route
- network
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种片上网络路由集中控制系统和装置及自适应路由控制方法,包括多个路由器,交叉开关连线,以及集中式控制装置,其通过采集并处理片上网络数据传输全局信息为自适应路由控制方法提供更精确、更充分的原始数据,并结合数据包信息分析计算得到数据包跳转的路由跳转信息,实现片上网络全局阻塞及信息的采集和处理,并利用产生的实时全局信息完成完全自适应片上网络路由控制。
Description
技术领域
本发明涉及片上多核网络的路由体系结构和路由控制技术领域,尤其涉及集中式的片上网络路由集中控制系统和装置及自适应路由控制方法。
背景技术
随着集成电路的集成度越来越高,芯片上集成的IP(Intellectual Property)功能单元越来越多,传统工业使用的总线结构由于容易产生死锁、总线频率降低、连线延迟增加等原因变得极其复杂和低效,片上网络(Networkonchip,NoC)作为一种新的设计思路开始逐渐普及。片上网络的核心思路是将片上系统划为通信和计算两个子系统。其中通信系统借鉴了分布式计算系统网络的通信方式,使用路由器组成的网络结构和数据包交换策略来替代总线结构传输。
片上网络的数据包传输路径由路由控制方法(路由算法)给出。片上网络常用的路由控制方法包括决定性路由控制方法和自适应路由控制方法。决定性路由控制方法并不关心网络当前的阻塞状况,在每个包传输之前就确定其传输路径(一般通过随机算法加以一定约束获得);自适应路由控制方法在包传输过程中能够根据网络的实时状况拥塞情况自动调整传输路径。
自适应路由控制方法的优点在于能够自动平衡网络负载,提高网络带宽利用率,但与此同时带来了复杂度的提高。
现有技术中,片上网络的主要方法之一是“时钟异步”,即各个数据包传送相对独立,不需要维护一个全局统一的时钟,没有全局调度,局限于此,目前的片上网络结构自适应路由控制方法只能获得周围相邻的路由器拥塞信息,并不能很好地平衡网络负载。
发明内容
本发明的目的在于提供一种片上网络路由集中控制系统和装置及自适应路由控制方法,其实现片上网络全局阻塞及信息的采集和处理,并利用产生的实时全局信息完成完全自适应片上网络路由控制。
为实现本发明而提供的一种片上网络路由集中控制系统,包括多个路由器,交叉开关连线,以及集中式控制装置,其中:
所述路由器,用于在集中式控制装置请求时,将其实时全局信息发送给集中式控制装置;并在数据包需要确定其跳转路由时,将数据包信息发送给集中式控制装置确定其路由跳转信息,并根据集中式控制装置确定的路由跳转信息转发数据包;
所述交叉开关连线,用于连接集中式控制装置和片上网络的各个路由器,在集中式控制装置与片上网络的各个路由器之间相互连通传输信息;
所述信息包括但不限于路由器的实时全局信息、以及路由器中的数据包信息、以及集中式控制装置分析计算得到的路由跳转信息;
所述集中式控制装置,包括所述全局信息采集处理模块,以及自适应路由控制模块,其中:
所述全局信息采集处理模块,用于通过交叉开关连线和片上网络的各个路由器相连,采集各个路由器的实时全局信息,并在接收到路由器发送来的数据包的路由数据信息后,发送给自适应路由控制模块进行分析计算得到路由跳转信息,并通过交叉开关连线将所述路由跳转信息传送回各个路由器;
所述自适应路由控制模块,用于根据片上网络各个路由器的实时全局信息,结合路由器发送过来的数据包信息,分析计算出的数据包跳转的最佳的路由路径,得到路由器跳转信息。
较优地,所述路由器还包括判断模块,用于在接收到数据包后,判断数据包转发是否到达终点,如果是则结束;否则将数据包信息发送给集中式控制装置,得到新的路由跳转信息。
较优地,所述全局信息采集处理模块,包括一全局时钟模块和一全局信息存储表,其中:
所述全局时钟模块,用于提供整个片上网络唯一确定的实时时钟,并比较确定各个路由器的信息传递延迟时间信息;
所述全局信息存储表,用于存储采样到的实时全局信息。
为实现本发明目的还提供一种片上网络路由集中控制的集中式控制装置,包括所述全局信息采集处理模块,以及自适应路由控制模块,其中:
所述全局信息采集处理模块,用于通过交叉开关连线和片上网络的各个路由器相连,采集各个路由器的实时全局信息,并在接收到路由器发送来的数据包的路由数据信息后,发送给自适应路由控制模块进行分析计算得到路由跳转信息,并通过交叉开关连线将所述路由跳转信息传送回各个路由器;
所述自适应路由控制模块,用于根据片上网络各个路由器的实时全局信息,结合路由器发送过来的数据包信息,分析计算出的数据包跳转的最佳的路由路径,得到路由器跳转信息。
较优地,所述全局信息采集处理模块,包括一全局时钟模块和一全局信息存储表,其中:
所述全局时钟模块,用于提供整个片上网络唯一确定的实时时钟,并比较确定各个路由器的信息传递延迟时间信息;
所述全局信息存储表,用于存储采样到的实时全局信息。
为实现本发明目的更提供一种片上网络路由集中控制的自适应路由控制方法,包括如下步骤:
步骤S1,集中式控制装置通过交叉开关连线和片上网络的各个路由器相连,在预设的时间段时刻采集各个路由器的实时全局信息,并存储更新全局信息表;
步骤S2,数据包当前所在的路由器将路由控制所需要的数据包信息传送给集中式控制装置;
步骤S2,集中式控制装置接收到所述路由控制所需要的数据包信息后,根据获得的数据包信息,并利用实时全局信息,通过分析计算有选择地挑选出的最合适的路由路径,得到数据包跳转的路由跳转信息,即数据包接下来需要转发到的路由器的路由跳转信息,并将所述路由跳转信息通过交叉开关连线回传给数据包当前所在的路由器;
步骤S3,数据包当前所在的路由器接收到集中式控制装置的回传的路由跳转信息之后,将数据包根据路由跳转信息转发到对应的路由器。
较优地,所述的片上网络路由集中控制的自适应路由控制方法,还包括如下步骤:
步骤S4,数据包成功转发到对应的路由器后,对应的路由器判断是否已经到达终点;如果没有到达终点,则重复步骤S1;否则该过程结束。
所述步骤S1中,所述信息采集过程,包括如下步骤:
步骤S101,在信息采集时刻,全局信息采集处理模块向每个路由器发出一个请求信号;
步骤S102,路由器在收到请求信号之后,开始向全局信息采集处理模块传递所述实时全局信息;
步骤S103,经过至少一拍延迟后,各个路由器的延迟的实时全局信息到达全局信息采集处理模块,获得路由器的阻塞情况信息;
步骤S104,全局时钟根据唯一确定的实时时钟,结合片上网络的物理布局,比较确定信息传递延迟时间信息;
步骤S105,全局信息采集处理模块接收信息并更新全局信息存储表后,发送更新成功的信号返回路由器。
较优地,所述步骤S2中,根据获得的数据包信息,并利用实时全局信息,通过分析计算有选择地挑选出的最合适的路由路径,得到路由器跳转信息的过程,包括如下步骤:
步骤S201,获得通过采集并存储后的全局信息表L中的实时全局信息,其中包括片上网络每个路由器各个端口连接通道的阻塞情况C和该全局信息的信息传递延迟时间信息Td;
步骤S202,获取所述数据包所在路由器发送来的数据包在路由过程中产生的数据包信息,包括数据包的编号Pid、数据包当前所在路由器的编号Rp、数据包目的路由器的编号Rd、数据包起始路由器的编号Rs;以及数据包传递到当前路由器之前的路径P、数据包传递所经过的时间T;
步骤S203,根据片上网络各个路由器的实时全局信息,结合路由器发送过来的数据包信息,分析计算出的数据包跳转的最佳的路由路径,得到路由器跳转信息。
较优地,所述步骤S203中,分析计算出的数据包跳转的最佳的路由路径包括如下步骤:
步骤S2031,挑选路径:任意挑选一条从Rp出发,到达Rd且满足最短路径长度的路径;
步骤S2032,计算路径阻塞程度:确定路径上每个通道的阻塞值,并累加形成该路径阻塞程度的量化值B;
步骤S2033,比较量化值:将此路径阻塞程度量化值B和之前阻塞最大值Bmax进行比较;若B比Bmax大,则表明此路径是当前发现的阻塞程度最小的路径,则将B赋给Bmax并记录该路径;否则,Bmax不需要改动;
步骤S2034,返回到步骤S2031,直到所有路径遍历完毕得到最终Bmax和对应的路径P;
步骤S2035,根据对应路径P,输出往下一跳路由器传输所对应的端口和相应的数据包编号,即路由跳转信息。
本发明的有益效果是:本发明的片上网络路由集中控制系统和装置及自适应路由控制方法,通过采集并处理片上网络数据传输全局信息为自适应路由控制方法提供更精确、更充分的原始数据,并结合数据包信息分析计算得到数据包跳转的路由跳转信息,从而提高路由的效率,提高网络带宽利用率,有效平衡网络负载。
附图说明
图1为本发明片上网络路由集中控制系统结构示意图;
图2为本发明实施例的片上网络路由集中控制系统的一部分示意图;
图3为本发明实施例的自适应路由控制方法路由的数据包在坐标为(i,j)的路由器中转发时的路由跳转选择示意图;
图4为本发明实施例的自适应路由控制方法中数据包当前所在的路由器编号Rp=(i,j),数据包目的路由器的编号Rd=(Dx,Dy)时最短路由路径的选择示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚透彻,以下结合附图及实施例,对本发明的片上网络路由集中控制系统和装置及自适应路由控制方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,作为一种可实施方式,本发明实施例的片上网络路由集中控制系统,包括多个路由器1,交叉开关(crossbar)连线2,以及集中式控制装置3。
其中:
所述路由器1,用于在集中式控制装置3采集时将其实时全局信息通过交叉开关连线2发送给集中式控制装置3;并在数据包需要确定其跳转路由时,将数据包信息发送给集中式控制装置3确定其路由跳转信息,并根据集中式控制装置3确定的路由跳转信息转发数据包。
路由器是片上网络的一种已有部件,其主要功能是转发数据包,本发明实施例中,根据本发明所要解决的问题,增加其所述功能,从而实现本发明目的。
所述交叉开关连线2,用于连接集中式控制装置3和片上网络的各个路由器1,在集中式控制装置3与片上网络的各个路由器1之间相互连通传输信息。所述信息包括但不限于路由器的实时全局信息、以及路由器中的数据包信息、以及集中式控制装置分析计算得到的路由跳转信息等。
所述集中式控制装置3,包括所述全局信息采集处理模块31,以及自适应路由控制模块32。
所述全局信息采集处理模块31,用于通过交叉开关连线和片上网络的各个路由器1相连,采集各个路由器的1实时全局信息,并在接收到路由器发送来的数据包的路由数据信息后,发送给自适应路由控制模块进行分析计算得到路由跳转信息,并通过交叉开关连线将所述路由跳转信息传送回各个路由器。
所述自适应路由控制模块32,用于根据片上网络各个路由器的实时全局信息,结合路由器发送过来的数据包信息,分析计算出的数据包跳转的最佳的路由路径,得到路由器跳转信息。
本发明实施例的片上网络路由集中控制系统,通过交叉开关连线2使集中式控制装置3和片上网络各个路由器1相连,集中式控制装置采样路由器的实时全局信息,如阻塞情况等,并在接收到路由器传输来的数据包信息,计算分析得到路由跳转信息并传回路由器,路由器根据路由跳转信息将数据包跳转到下一路由器。
较佳地,所述全局信息采集处理模块31,包括一全局时钟模块311和一全局信息存储表312,其中:
所述全局时钟模块311,用于提供整个片上网络唯一确定的实时时钟,并比较确定各个路由器的信息传递延迟时间信息。
所述全局信息存储表312,用于存储采样到的实时全局信息。
更佳地,所述路由器1还包括判断模块11,用于在接收到数据包后,判断数据包转发是否到达终点,如果是则结束;否则将数据包信息发送给集中式控制装置,得到新的路由跳转信息。
判断模块11判断数据包传输的路径,并在数据包到达目的路由器之前所有路由器接收到该数据包后将数据包信息发送给集中式控制装置进行处理。
所述连接集中式控制装置和片上网络各个路由器之间的交叉开关连线,较佳地,作为一种可实施方式,所述交叉开关连线可以只作为自适应路由控制所需要的信息(包括实时全局信息、数据包信息和路由跳转信息等)的传递专用通道。
作为一种可实施方式,利用自适应路由控制模块所得到的路由跳转信息完成的本发明实施例的自适应路由控制方法过程,该自适应路由控制模块可以集成于全局信息采集处理模块,也可以单独形成逻辑模块。
图2为本发明实施例的片上网络路由集中控制系统的一部分示意图。其中,各个路由器1分布在芯片的不同部位,并且各通过一条由交叉开关控制的交叉开关连线与集中式控制装置相连。
需要说明的是,作为一示意图,图2上某些连线重叠或被遮挡,实际情况是每个路由器都与全局信息采集处理模块有单独的连线。
下面通过描述一数据包从起始路由器到目的路由器的整个路由过程来更明确地说明本发明实施例的片上网络路由集中控制系统的工作过程,即一种片上网络路由集中控制的自适应路由控制方法,包括如下步骤:
步骤S1,集中式控制装置通过交叉开关连线和片上网络的各个路由器相连,在预设的时间段时刻采集各个路由器的实时全局信息,并存储更新全局信息表;
步骤S2,数据包当前所在的路由器将路由控制所需要的数据包信息传送给集中式控制装置;
步骤S2,集中式控制装置接收到所述路由控制所需要的数据包信息后,根据获得的数据包信息,并利用实时全局信息,通过分析计算有选择地挑选出的最合适的路由路径,得到数据包跳转的路由跳转信息,即数据包接下来需要转发到的路由器的路由跳转信息,并将所述路由跳转信息通过交叉开关连线回传给数据包当前所在的路由器;
步骤S3,数据包当前所在的路由器接收到集中式控制装置的回传的路由跳转信息之后,将数据包根据路由跳转信息转发到对应的路由器。
路由器转发数据包是一种现有技术,因此,在本发明实施例中,不再一一详细描述。
较佳地,本发明实施例的片上网络路由集中控制的自适应路由控制方法,还包括如下步骤:
步骤S4,数据包成功转发到对应的路由器后,对应的路由器判断是否已经到达终点;如果没有到达终点,则重复步骤S1;否则该过程结束。
数据包在片上网络中信息处理过程是结合在一起的,一个数据包从起始数据包开始,在每一跳或者为了降低分析计算要求,在指定的若干跳通过集中式控制装置分析计算下一跳或下若干跳的路由器,这是一个不断循环调用方法的过程。
下面进一步详细说明步骤S1中的信息采集过程如下:
在预设的时间段的时刻(所述时刻可以是每个时钟周期、每隔几个时钟周期或是根据需要指定的时刻),集中式控制装置的全局信息采集处理模块通过与各个路由器交互的方式,采集各个路由器的实时全局信息。
所述实时全局信息,包括但不限于:
1)路由器的阻塞情况信息。
作为一种可实施方式,一个路由器的阻塞情况是由该路由器相连的每一个通道(channel)剩余可传输数目(credits)所决定的,剩余可传输数目(credits)数量越多,表明该条通道空闲程度越高。
剩余可传输数目(credits)是用于描述路由器资源占用的量化值,与一个通道能支持的传输并发数N和当前已经进行的传输数目S有关.
每个路由器连接多个通道,通道具体数目由片上网络的拓扑结构决定,本发明实施例中,作为一种可实施方式,如二维网状网(二维mesh结构网络)是4条,则本发明实施例中全局信息采集处理模块采集的每个路由器的阻塞信息包括4个剩余传输数目(credits)。
2)路由器的信息传递延迟时间信息。
各个路由器由于距离全局信息采集处理模块的远近,传输的数据有不同的延迟,延迟视具体物理布局而定,距离集中控制结构比较远的路由器的信息传输延迟2-3拍,全局时钟根据唯一确定的实时时钟,结合片上网络的物理布局,比较确定延迟时间,延迟的时间越长,数据的时效性就相对越差。
作为一种可实施方式,信号采集过程可以采用控制信号(有保障的通信)也可以不采用控制信号(无保障的通信)。采用控制信号时,一般采用握手协议。不采用控制信号可能会导致可能造成信息传输失败或存储表更新失败。
作为一种可实施方式,所述采集过程使用握手信号保障通信,包括如下步骤:
步骤S101,采用握手协议,在信息采集时刻,全局信息采集处理模块向每个路由器发出一个请求信号;
步骤S102,路由器在收到请求信号之后,开始向全局信息采集处理模块传递所述实时全局信息;
步骤S103,经过若干拍(至少一拍)延迟后,各个路由器的延迟的实时全局信息到达全局信息采集处理模块,获得路由器的阻塞情况信息;
步骤S104,全局时钟根据唯一确定的实时时钟,结合片上网络的物理布局,比较确定信息传递延迟时间信息;
步骤S105,全局信息采集处理模块接收信息并更新全局信息存储表后,发送更新成功的信号返回路由器。
全局信息采集处理模块的全局信息存储表模块每更新一次表示一次采集信息过程完成。
下面详细描述步骤S2的过程如下:
每个路由器通过一个物理通道(physical channel)与相邻的路由器相连,作为一种可实施方式,本发明实施例中,与同一个路由器相连的不同物理通道由不同的端口(port)号来区分;
在本发明实施例中,作为一种可实施方式,各个端口号按维度设置编号为0-3;同时依据路由器的坐标和端口编号,设置分配给每个物理通道一个全局唯一的编号。
片上网络的数据包的传递是从起始路由器开始通过若干次路由器转发到达目的路由器完成的。本发明实施例中,作为一种可实施方式,每个路由器有一个全局唯一的编号用以区分,作为一种可实施方式,可以用坐标系坐标表示。
本发明实施例中,路由路径中相邻的路由器之间的每一次转发称为一跳(hop)。
如图3所示,通过本发明实施例的自适应路由控制方法路由的数据包在坐标为(i,j)的路由器中转发时,需要在候选的4个对象,即相邻的坐标为(i-1,j)、(i+1,j)、(i,j-1)、(i,j+1)的4个路由器中确定数据包下一跳传递的路由器。
为了确定下一跳路由器,数据包所在的路由器将把路由控制所需要的数据包信息传输给全局信息采集处理模块,其中路由数据包信息包括数据包编号、起始路由器编号、目的路由器编号和当前路由器编号等;
作为一种可实施方式,所述数据包信息还可以包括:数据包来到当前路由器之前经过的路径、以及数据包传递所经过的时间等。
数据传输中的交互方式同信息采集过程一样,仍然可以是没有控制信号或者是采用握手协议交互方式,控制信号交互方式,控制信号结合握手协议交互方式等。
全局信息采集处理模块获得路由控制所需要的数据包信息后,和其全局信息表一起提供给自适应路由控制模块,由自适应路由控制模块分析计算出该数据包下一跳该发送到哪个路由器,得到路由器跳转信息,然后将所述路由器跳转信息由全局信息采集处理模块利用交叉开关连线返回给该数据包所在的路由器,通过该路由器的分配(allocat ion)系统将该数据包从对应下一跳路由器的端口发出。
路由器的分配系统将数据从对应的下一跳路由器的端口发出,是一种现有技术,因此,在本发明实施例中,不再一一详细描述。
下面详细描述步骤S2中,根据获得的数据包信息,并利用实时全局信息,通过分析计算有选择地挑选出的最合适的路由路径工作过程:
本发明实施例中,片上网络的数据包的传输过程的每一跳是根据网络当前状况,利用实时全局信息,通过计算分析有选择地挑选出的最佳的路由路径,得到路由器跳转信息。
本发明实施例中,根据获得的数据包信息,并利用实时全局信息,通过分析计算有选择地挑选出的最合适的路由路径,得到路由器跳转信息。
较佳地,作为一种可实施方式,所述步骤S2中,根据获得的数据包信息,并利用实时全局信息,通过分析计算有选择地挑选出的最合适的路由路径,得到路由器跳转信息的过程,包括如下步骤:
步骤S201,获得通过采集并存储后的全局信息表L中的实时全局信息,其中包括片上网络每个路由器各个端口连接通道的阻塞情况C和该全局信息的信息传递延迟时间信息Td。
步骤S202,获取所述数据包所在路由器发送来的数据包在路由过程中产生的数据包信息,包括但不限于数据包的编号Pid、数据包当前所在路由器的编号Rp、数据包目的路由器的编号Rd、数据包起始路由器的编号Rs等。
作为一种可实施方式,所述数据包信息还包括数据包传递到当前路由器之前的路径P、数据包传递所经过的时间T。
数据包传递到当前路由器之前的路径P、数据包传递所经过的时间T可以用于解决数据包传递死锁、活锁问题。本发明实施例中,作为一种可实施方式,采用的最短路径作为最佳路由路径,不会产生活锁,若是采用非最短路径,则可以通过检测数据包传递到当前路由器之前的路径P是否含有环来判断活锁;本发明实施例中,死锁问题可以有多种方式解决,例如将物理通道分时形成多个虚拟通道(virtual channel),也可以采用超时丢包策略,数据包传递所经过的时间T超过一定时间时将其丢弃重新传递。
步骤S203,根据片上网络各个路由器的实时全局信息,结合路由器发送过来的数据包信息,分析计算出的数据包跳转的最佳的路由路径,得到路由器跳转信息。
作为一种可实施方式,本发明实施例中,所述最佳的路由路径包括但不限于最短路由路径。
同时本发明实施例中,为叙述方便,两个路由器之间的距离指的是两个路由器之间的最短路径长度,但其不是对本发明的限制。
本发明实施例中,所述路由控制过程的输出的路由跳转信息包括数据包编号Pid和对应的输出端口Po等。
如图4所示,作为一种可实施方式,设数据包当前所在的路由器编号Rp=(i,j),数据包目的路由器的编号Rd=(Dx,Dy),将每相邻路由器之间距离作为相等的单位,则Rp和Rd之间的最短路径(minimal path)长度为|Dx-i|+|Dy-j|,满足最短路径长度的路径数目如式(1)所示:
即,作为一种可实施方式,本发明实施例中,所述步骤S203中,分析计算出的数据包跳转的最佳的路由路径包括如下步骤:
步骤S2031,挑选路径:任意挑选一条从Rp出发,到达Rd且满足最短路径长度的路径;即步骤S2031从满足(1)式的最短路径集合Pm中按照某种规则找出一条路径,找出路径后执行步骤S2032-S2035,然后跳回S2031,仍然依照这种规则再找另一条路径执行后面步骤。
作为一种可实施方式,,这种方法可以采用枚举的方式,一般可以采用递归枚举,递归枚举是一种已有的技术。
本发明实施例中满足挑选条件的路径数是一个组合数,当路径长度变大时,这个数值以指数级增长。如果应用的片上网络核心数目比较多,开销将变得非常大。
因此,较佳地,可以采用多个相似路径用一条路径代表的方式来减少路径枚举数目。作为一种可实施方式,可以对某些B值相近的路径只选取一条路径作代表,其中B值表示路径阻塞程度,详细定义和表达式见步骤S2032。
从影响B的值的因素来看,距离数据包当前所在路由器越远,对B的影响就越小;因此,可以将前N个路由器相同的路径视为一个集合,只抽取其中一条路径计算B值或者只枚举路径前N个路由器。
作为另一种可实施方式,将B值作归一化处理, 对其中的归一化系数bi进行预计算,若小于某阈值则直接忽略该通道影响。
本发明实施例以最短路由路径作为一最佳的路由路径,如果所述最佳的路由路径为非最短路由路径,通过修改步骤S2031的路径枚举方式即可实现相应的路径挑选过程。
作为一种可实施方式,本发明实施例中所举的片上网络的拓扑结构是二维网状网,当片上网络的拓扑结构改变时,只需要对路径枚举作出相应的改动即可实现相应的路径挑选过程。
步骤S2032,计算路径阻塞程度:确定路径上每个通道的阻塞值,并累加形成该路径阻塞程度的量化值B;
较佳地,作为一种可实施方式,若通道阻塞值采用剩余可传输数目(credits),则计算credits(剩余可传输)数目,剩余可传输数目(credits)值越大,则B值越大,表明阻塞程度越小。
本发明实施例中,作为一种可实施方式,根据通道阻塞数据的延迟时间Td和该通道距离数据包当前所在路由器的远近值D计算步骤S2032的量化值B。
其中,延迟时间Td可以由全局信息采集处理模块通过全局信息表获得,远近值D可以由该通道距离起始端路由器和数据包当前所在路由器的距离来衡量。Td越大,该数据的准确程度就越差,可信度就越低。D越大,该数据包传输与该通道的相关程度就越低。体现在两个方面:当前数据包传输到该通道需要的时间比较长,输出的结果只是下一跳路由器所对应的端口。这两个因素可以通过它在B表达式中的权值来体现,即其中ti和di分别是Td和D因素的权值,P是该路径内通道的集合。
较佳地,作为一种可实施方式,所述权值可以采用线性赋值,如ti=T-Td,di=D0-D,其中T是可以容忍的最大延迟时间,D0是起始路由器和目的路由器之间的距离。
步骤S2033,比较量化值:将此路径阻塞程度量化值B和之前阻塞最大值Bmax(预设为0)进行比较;若B比Bmax大,则表明此路径是当前发现的阻塞程度最小的路径,则将B赋给Bmax并记录该路径;否则,Bmax不需要改动;
步骤S2034,返回到步骤S2031,直到所有路径遍历完毕得到最终Bmax和对应的路径P;
步骤S2035,根据对应路径P,输出往下一跳路由器传输所对应的端口和相应的数据包编号,即路由跳转信息。
作为一种可实施方式,本发明实施例中路由跳转时,数据包路由过程中向路径的每个路由器都向全局信息采集处理模块请求计算下一跳路由器。作为另一种可实施方式,当计算开销比较大,可以调整调用频率,如每隔一跳才向全局信采集处理模块请求计算,此时相应的返回路由跳转值也需要相应地变为对应路径P的下两跳的值。
本发明实施例的片上网络路由集中控制系统和装置及自适应路由控制方法,通过采集并处理片上网络数据传输全局信息为自适应路由控制方法提供更精确、更充分的原始数据,并结合数据包信息分析计算得到数据包跳转的路由跳转信息,从而提高路由的效率,提高网络带宽利用率,有效平衡网络负载。
最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。
Claims (14)
1.一种片上网络路由集中控制系统,其特征在于,包括多个路由器,交叉开关连线,以及集中式控制装置,其中:
所述路由器,用于在集中式控制装置采集时将其实时全局信息发送给集中式控制装置;并在数据包需要确定其跳转路由时,将数据包信息发送给集中式控制装置确定其路由跳转信息,并根据集中式控制装置确定的路由跳转信息转发数据包;
所述交叉开关连线,用于连接集中式控制装置和片上网络的各个路由器,在集中式控制装置与片上网络的各个路由器之间相互连通传输信息;
所述信息包括但不限于路由器的实时全局信息、以及路由器中的数据包信息、以及集中式控制装置分析计算得到的路由跳转信息;
所述集中式控制装置,包括所述全局信息采集处理模块,以及自适应路由控制模块,其中:
所述全局信息采集处理模块,用于通过交叉开关连线和片上网络的各个路由器相连,采集各个路由器的实时全局信息,并在接收到路由器发送来的数据包的路由数据信息后,发送给自适应路由控制模块进行分析计算得到路由跳转信息,并通过交叉开关连线将所述路由跳转信息传送回各个路由器;
所述自适应路由控制模块,用于根据片上网络各个路由器的实时全局信息,结合路由器发送过来的数据包信息,分析计算出的数据包跳转的最佳的路由路径,得到路由器跳转信息。
2.根据权利要求1所述的片上网络路由集中控制系统,其特征在于,所述路由器还包括判断模块,用于在接收到数据包后,判断数据包转发是否到达终点,如果是则结束;否则将数据包信息发送给集中式控制装置,得到新的路由跳转信息。
3.根据权利要求1或2所述的片上网络路由集中控制系统,其特征在于,所述全局信息采集处理模块,包括一全局时钟模块和一全局信息存储表,其中:
所述全局时钟模块,用于提供整个片上网络唯一确定的实时时钟,并比较确定各个路由器的信息传递延迟时间信息;
所述全局信息存储表,用于存储采样到的实时全局信息。
4.根据权利要求1或2所述的片上网络路由集中控制系统,其特征在于,所述实时全局信息,包括路由器的阻塞情况信息和路由器的信息传递延迟时间信息。
5.根据权利要求1或2所述的片上网络路由集中控制系统,其特征在于,所述数据包信息包括数据包编号、起始路由器编号、目的路由器编号和当前路由器编号。
6.根据权利要求5所述的片上网络路由集中控制系统,其特征在于,所述数据包信息还包括:数据包来到当前路由器之前经过的路径、以及数据包传递所经过的时间。
7.根据权利要求5所述的片上网络路由集中控制系统,其特征在于,所述路由跳转信息包括数据包编号和对应的输出端口。
8.一种片上网络路由集中控制的集中式控制装置,其特征在于,包括所述全局信息采集处理模块,以及自适应路由控制模块,其中:
所述全局信息采集处理模块,用于通过交叉开关连线和片上网络的各个路由器相连,采集各个路由器的实时全局信息,并在接收到路由器发送来的数据包的路由数据信息后,发送给自适应路由控制模块进行分析计算得到路由跳转信息,并通过交叉开关连线将所述路由跳转信息传送回各个路由器;
所述自适应路由控制模块,用于根据片上网络各个路由器的实时全局信息,结合路由器发送过来的数据包信息,分析计算出的数据包跳转的最佳的路由路径,得到路由器跳转信息。
9.根据权利要求8所述的片上网络路由集中控制的集中式控制装置,其特征在于,所述全局信息采集处理模块,包括一全局时钟模块和一全局信息存储表,其中:
所述全局时钟模块,用于提供整个片上网络唯一确定的实时时钟,并比较确定各个路由器的信息传递延迟时间信息;
所述全局信息存储表,用于存储采样到的实时全局信息。
10.一种片上网络路由集中控制的自适应路由控制方法,其特征在于,包括如下步骤:
步骤S1,集中式控制装置通过交叉开关连线和片上网络的各个路由器相连,在预设的时间段时刻采集各个路由器的实时全局信息,并存储更新全局信息表;
步骤S2,数据包当前所在的路由器将路由控制所需要的数据包信息传送给集中式控制装置;
步骤S2,集中式控制装置接收到所述路由控制所需要的数据包信息后,根据获得的数据包信息,并利用实时全局信息,通过分析计算有选择地挑选出的最合适的路由路径,得到数据包跳转的路由跳转信息,即数据包接下来需要转发到的路由器的路由跳转信息,并将所述路由跳转信息通过交叉开关连线回传给数据包当前所在的路由器;
步骤S3,数据包当前所在的路由器接收到集中式控制装置的回传的路由跳转信息之后,将数据包根据路由跳转信息转发到对应的路由器。
11.根据权利要求10所述的片上网络路由集中控制的自适应路由控制方法,其特征在于,还包括如下步骤:
步骤S4,数据包成功转发到对应的路由器后,对应的路由器判断是否已经到达终点;如果没有到达终点,则重复步骤S1;否则该过程结束。
12.根据权利要求10所述的片上网络路由集中控制的自适应路由控制方法,其特征在于,所述步骤S1中,所述信息采集过程,包括如下步骤:
步骤S101,在信息采集时刻,全局信息采集处理模块向每个路由器发出一个请求信号;
步骤S102,路由器在收到请求信号之后,开始向全局信息采集处理模块传递所述实时全局信息;
步骤S103,经过至少一拍延迟后,各个路由器的延迟的实时全局信息到达全局信息采集处理模块,获得路由器的阻塞情况信息;
步骤S104,全局时钟根据唯一确定的实时时钟,结合片上网络的物理布局,比较确定信息传递延迟时间信息;
步骤S105,全局信息采集处理模块接收信息并更新全局信息存储表后,发送更新成功的信号返回路由器。
13.根据权利要求10所述的片上网络路由集中控制的自适应路由控制方法,其特征在于,所述步骤S2中,根据获得的数据包信息,并利用实时全局信息,通过分析计算有选择地挑选出的最合适的路由路径,得到路由器跳转信息的过程,包括如下步骤:
步骤S201,获得通过采集并存储后的全局信息表L中的实时全局信息,其中包括片上网络每个路由器各个端口连接通道的阻塞情况C和该全局信息的信息传递延迟时间信息Td;
步骤S202,获取所述数据包所在路由器发送来的数据包在路由过程中产生的数据包信息,包括数据包的编号Pid、数据包当前所在路由器的编号Rp、数据包目的路由器的编号Rd、数据包起始路由器的编号Rs;以及数据包传递到当前路由器之前的路径P、数据包传递所经过的时间T;
步骤S203,根据片上网络各个路由器的实时全局信息,结合路由器发送过来的数据包信息,分析计算出的数据包跳转的最佳的路由路径,得到路由器跳转信息。
14.根据权利要求13所述的片上网络路由集中控制的自适应路由控制方法,其特征在于,所述步骤S203中,分析计算出的数据包跳转的最佳的路由路径包括如下步骤:
步骤S2031,挑选路径:任意挑选一条从Rp出发,到达Rd且满足最短路径长度的路径;
步骤S2032,计算路径阻塞程度:确定路径上每个通道的阻塞值,并累加形成该路径阻塞程度的量化值B;
步骤S2033,比较量化值:将此路径阻塞程度量化值B和之前阻塞最大值Bmax进行比较;若B比Bmax大,则表明此路径是当前发现的阻塞程度最小的路径,则将B赋给Bmax并记录该路径;否则,Bmax不需要改动;
步骤S2034,返回到步骤S2031,直到所有路径遍历完毕得到最终Bmax和对应的路径P;
步骤S2035,根据对应路径P,输出往下一跳路由器传输所对应的端口和相应的数据包编号,即路由跳转信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110448932.9A CN102546406B (zh) | 2011-12-28 | 2011-12-28 | 片上网络路由集中控制系统和装置及自适应路由控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110448932.9A CN102546406B (zh) | 2011-12-28 | 2011-12-28 | 片上网络路由集中控制系统和装置及自适应路由控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546406A true CN102546406A (zh) | 2012-07-04 |
CN102546406B CN102546406B (zh) | 2014-08-20 |
Family
ID=46352394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110448932.9A Active CN102546406B (zh) | 2011-12-28 | 2011-12-28 | 片上网络路由集中控制系统和装置及自适应路由控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546406B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103684961A (zh) * | 2012-08-30 | 2014-03-26 | 网速系统公司 | 自动构建无死锁互连 |
CN103973482A (zh) * | 2014-04-22 | 2014-08-06 | 南京航空航天大学 | 具有全局通信事务管理能力的容错片上网络系统及方法 |
CN103986664A (zh) * | 2014-05-15 | 2014-08-13 | 厦门大学 | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 |
CN104199341A (zh) * | 2014-08-11 | 2014-12-10 | 福州瑞芯微电子有限公司 | 电路信号相位自适应系统、装置和方法 |
CN104811395A (zh) * | 2015-04-30 | 2015-07-29 | 上海交通大学 | 一种双层片上网络装置及其核间通信自动调度方法 |
WO2015109514A1 (zh) * | 2014-01-24 | 2015-07-30 | 华为技术有限公司 | 一种数据包发送方法、移动路由器及网络设备 |
WO2016045411A1 (zh) * | 2014-09-26 | 2016-03-31 | 华为技术有限公司 | 一种片上网络系统,及片上网络通信链路的建立方法 |
CN107395503A (zh) * | 2017-08-25 | 2017-11-24 | 东南大学 | 一种基于线性规划的片上网络路由方法 |
CN107545194A (zh) * | 2017-08-01 | 2018-01-05 | 华南理工大学 | 片上网络中应对硬件木马的检测及防御方法 |
CN110784406A (zh) * | 2019-10-23 | 2020-02-11 | 上海理工大学 | 功率感知的动态自适应片上网络阈值路由方法 |
CN112506850A (zh) * | 2020-11-27 | 2021-03-16 | 北京大学 | 一种片上及片间互连网络 |
WO2022143020A1 (zh) * | 2020-12-31 | 2022-07-07 | Oppo广东移动通信有限公司 | 芯片及其控制方法、计算机可读存储介质和电子设备 |
CN115250251A (zh) * | 2021-04-26 | 2022-10-28 | 北京希姆计算科技有限公司 | 片上网络仿真中的传输路径规划方法、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974487A (en) * | 1997-07-14 | 1999-10-26 | Advanced Micro Devices, Inc. | Data transfer network on a chip utilizing a mesh of rings topology |
CN1997969A (zh) * | 2004-07-19 | 2007-07-11 | 维也纳科技大学 | Vlsi芯片中的分散容错时钟脉冲生成 |
CN102035723A (zh) * | 2009-09-28 | 2011-04-27 | 清华大学 | 一种片上网络路由及实现方法 |
CN102148763A (zh) * | 2011-04-28 | 2011-08-10 | 南京航空航天大学 | 一种应用于片上网络的动态路径分配方法及系统 |
-
2011
- 2011-12-28 CN CN201110448932.9A patent/CN102546406B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974487A (en) * | 1997-07-14 | 1999-10-26 | Advanced Micro Devices, Inc. | Data transfer network on a chip utilizing a mesh of rings topology |
CN1997969A (zh) * | 2004-07-19 | 2007-07-11 | 维也纳科技大学 | Vlsi芯片中的分散容错时钟脉冲生成 |
CN102035723A (zh) * | 2009-09-28 | 2011-04-27 | 清华大学 | 一种片上网络路由及实现方法 |
CN102148763A (zh) * | 2011-04-28 | 2011-08-10 | 南京航空航天大学 | 一种应用于片上网络的动态路径分配方法及系统 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103684961A (zh) * | 2012-08-30 | 2014-03-26 | 网速系统公司 | 自动构建无死锁互连 |
CN103684961B (zh) * | 2012-08-30 | 2018-03-27 | 网速系统公司 | 自动构建无死锁互连 |
CN105103501B (zh) * | 2014-01-24 | 2018-01-16 | 华为技术有限公司 | 一种数据包发送方法、移动路由器及网络设备 |
WO2015109514A1 (zh) * | 2014-01-24 | 2015-07-30 | 华为技术有限公司 | 一种数据包发送方法、移动路由器及网络设备 |
CN105103501A (zh) * | 2014-01-24 | 2015-11-25 | 华为技术有限公司 | 一种数据包发送方法、移动路由器及网络设备 |
US10904133B2 (en) | 2014-01-24 | 2021-01-26 | Huawei Technologies Co., Ltd. | Data packet sending method, mobile router, and network device |
US10193792B2 (en) | 2014-01-24 | 2019-01-29 | Huawei Technologies Co., Ltd. | Data packet sending method, mobile router, and network device |
CN103973482A (zh) * | 2014-04-22 | 2014-08-06 | 南京航空航天大学 | 具有全局通信事务管理能力的容错片上网络系统及方法 |
CN103986664B (zh) * | 2014-05-15 | 2017-06-27 | 厦门大学 | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 |
CN103986664A (zh) * | 2014-05-15 | 2014-08-13 | 厦门大学 | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 |
CN104199341A (zh) * | 2014-08-11 | 2014-12-10 | 福州瑞芯微电子有限公司 | 电路信号相位自适应系统、装置和方法 |
CN104199341B (zh) * | 2014-08-11 | 2017-01-18 | 福州瑞芯微电子股份有限公司 | 电路信号相位自适应系统、装置和方法 |
WO2016045411A1 (zh) * | 2014-09-26 | 2016-03-31 | 华为技术有限公司 | 一种片上网络系统,及片上网络通信链路的建立方法 |
CN104811395A (zh) * | 2015-04-30 | 2015-07-29 | 上海交通大学 | 一种双层片上网络装置及其核间通信自动调度方法 |
CN104811395B (zh) * | 2015-04-30 | 2019-01-25 | 上海交通大学 | 一种双层片上网络装置及其核间通信自动调度方法 |
CN107545194A (zh) * | 2017-08-01 | 2018-01-05 | 华南理工大学 | 片上网络中应对硬件木马的检测及防御方法 |
CN107395503A (zh) * | 2017-08-25 | 2017-11-24 | 东南大学 | 一种基于线性规划的片上网络路由方法 |
CN110784406A (zh) * | 2019-10-23 | 2020-02-11 | 上海理工大学 | 功率感知的动态自适应片上网络阈值路由方法 |
CN110784406B (zh) * | 2019-10-23 | 2021-07-13 | 上海理工大学 | 功率感知的动态自适应片上网络阈值路由方法 |
CN112506850B (zh) * | 2020-11-27 | 2024-05-14 | 北京大学 | 一种片上及片间互连网络 |
CN112506850A (zh) * | 2020-11-27 | 2021-03-16 | 北京大学 | 一种片上及片间互连网络 |
WO2022143020A1 (zh) * | 2020-12-31 | 2022-07-07 | Oppo广东移动通信有限公司 | 芯片及其控制方法、计算机可读存储介质和电子设备 |
CN115250251A (zh) * | 2021-04-26 | 2022-10-28 | 北京希姆计算科技有限公司 | 片上网络仿真中的传输路径规划方法、装置、电子设备及计算机可读存储介质 |
CN115250251B (zh) * | 2021-04-26 | 2023-07-28 | 北京希姆计算科技有限公司 | 片上网络仿真中的传输路径规划方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102546406B (zh) | 2014-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546406B (zh) | 片上网络路由集中控制系统和装置及自适应路由控制方法 | |
WO2020181761A1 (zh) | 一种sdn增强路径装箱装置及方法 | |
CN103746911B (zh) | 一种sdn网络结构及其通信方法 | |
CN104767694B (zh) | 一种面向Fat‑Tree数据中心网络架构的数据流转发方法 | |
CN108173761A (zh) | 一种sdn和nfv融合的资源优化方法 | |
CN105721354B (zh) | 片上网络互联方法及装置 | |
CN103001875A (zh) | 一种量子密码网络动态路由方法 | |
CN105915467B (zh) | 一种面向软件定义的数据中心网络流量均衡方法及装置 | |
CN102415059A (zh) | 总线控制装置 | |
CN101232517B (zh) | 地理位置无关的多汇聚节点部署方法 | |
GB2508048A (en) | Network route finding using path costs based upon percentage of bandwidth free on each link | |
CN102158403B (zh) | 一种适用于片上网络的高效数据流传输通信系统及其工作方法 | |
CN103747530B (zh) | 部分重叠信道下的无线Mesh网络信道分配系统及方法 | |
CN108259387A (zh) | 一种通过交换机构建的交换系统及其路由算法 | |
CN107302396B (zh) | 基于混合策略的动态星间网络路由规划方法 | |
CN107360612A (zh) | 一种基于蚁群多路径的无线传感器网络的数据传输方法 | |
CN106385363A (zh) | 一种sdn数据平面数据流备份方法及装置 | |
CN105472484A (zh) | 一种电力骨干光传输网波道均衡路由波长分配方法 | |
CN104320341A (zh) | 路由自适应异步2D-Torus片上网络及其设计方法 | |
CN107800624A (zh) | 一种区域性保护关键信息最优迂回路径选择新方法 | |
CN102857989A (zh) | 一种面向移动传感网的自适应路由方法 | |
CN103747498B (zh) | 基于方向角度的无线传感网络路由空洞优化方法 | |
CN104994508A (zh) | 一种认知无线mesh网络资源分配及路由方法 | |
CN102420797A (zh) | 一种拓扑映射方法及系统 | |
CN103096387A (zh) | 智能电网中基于数据优先分级的认知传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100190 No. 10 South Road, Zhongguancun Academy of Sciences, Haidian District, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |