一种双向交换调度方法技术

技术编号:10255380 阅读:203 留言:0更新日期:2014-07-24 21:50
本发明专利技术公开了一种适用于多级多平面结构网络的同向交换调度方法,在度为2的满配业务矩阵中,逐行遍历各个元素,将第一次找到的非零值1的元素作为起点,分别在该元素的行方向和列方向寻找非零值1,在找到的两个非零值1中,分别在同行非零值1的列方向、同列非零值1的行方向寻找非零值1,在本次找到的两个非零值1中,在同列非零值1的行方向、同行非零值1的列方向寻找非零值1,依次类推。每次找到非零值元素时,则更新连接矩阵的业务矩阵中的相应元素,直到将业务矩阵中所有非零值元素处理完毕。本发明专利技术中,在确定起点后的每个步骤可以返回两条业务分配结果,从而将业务矩阵的分配时间缩短为现有单向环形算法的一半左右。

【技术实现步骤摘要】

本专利技术属于网络交换调度
,更为具体地讲,涉及一种基于环形算法的双向交换调度方法
技术介绍
多级多平面(Multi-Plane and Multi-Stage,MPMS)结构网络是目前一种常用的交换网络结构。图1是MPMS结构网络示意图。如图1所示,MPMS结构网络包括输入模块、交换平面和输出模块,交换平面即输入模块和输出模块之间的中间级模块。在MPMS结构网络的交换调度中,环形算法是一种常用的交换调度算法。为了更好地说明环形算法,首先定义几个名词概念:定义1:矩阵的度:矩阵中每行元素之和与每列元素之和的最大值m是矩阵的度。假设有A×B的矩阵Matrix[i,j],0≤i≤A-1,0≤j≤B-1,矩阵Matrix[i,j]的度即为maxi(Σj=0B-1Matrix[i,j])]]>和maxj(Σi=0A-1Matrix[i,j])]]>两者中的较大值。定义2:业务矩阵Hm,其中每个元素Hm[i,j],0≤i,j≤N-1,表示输入模块序号i连接到输出模块序号j的业务数,m表示业务矩阵的度,即中间级模块个数,代表多级多平面结构中最大可支持的业务数量;N表示输入/输出模块的个数。可见,业务矩阵中的元素Hm[i,j]的值仅能从0,1,2......m-1,m中选一个。定义3:连接矩阵1≤k≤m,其中每个元素0≤i,j≤N-1,代表输入模块i是否有业务经过中间级模块k连接到输出模块j,其元素值为1代表有连接,元素值为0代表无连接。其中下标1表示连接矩阵的度,即每个中间级模块k中每个输入模块到每个输出模块最多只存在一个业务。在文献[S.Andresen, “The looping algorithm extended to base 2t rearrangeable switching networks,” IEEE Trans. Commun. vol. COM-25, pp.1057-1063, Oct. 1977]中Andresen首次在可重排无阻塞结构中采用环形算法,基本步骤是先在业务矩阵中寻找一个未标记元素并标记为0;其次在同列寻找最后一个未标记元素并标记为1;紧接着在同行寻找最后一个未标记元素并标记为0,若此时未找到最后一个未标记元素则重新选择其他行的未标记元素。环形算法一次处理业务矩阵能得到两个子矩阵,即环形算法适用于度为2的业务矩阵。其具体实现步骤包括:步骤1、根据业务流量到达情况,初始化业务矩阵各个元素H2[i,j],0≤i,j≤N-1。初始化所有连接矩阵1≤k≤2,标记连接矩阵中每个元素值为0。步骤2、在业务矩阵H2中从元素H2[0,0]开始逐行逐列遍历各个元素。2.1)若寻找所有行未找到非零元素,则环形算法结束。2.2)若寻找到元素H2[i,j]为非零值2,则更新连接矩阵和业务矩阵相应元素H2[i,j]=0后,重新执行步骤2。2.3)若寻找到元素H2[i,j]为非零值1,则更新连接矩阵和业务矩阵相应元素H2[i,j]=0后,继续执行步骤3。步骤3、在行i中寻找非零元素值1,若找到元素H2[i,l]为非零值1,则更新连接矩阵和业务矩阵相应元素H2[i,l]=0,继续执行步骤4;反之则回到步骤2。步骤4、在列l中寻找非零元素值1,若找到元素H2[r,l]为非零值1,则更新连接矩阵和业务矩阵相应元素H2[r,l]=0,i=r,返回步骤3;反之则返回步骤2。可见,环形算法在步骤2中选取一个起点,接着在步骤3和4之间循环跳转执行,最终以回到起点结束。环形算法处理业务矩阵H2得到两个子矩阵根据业务到达是否满配,环形算法处理略有不同。在到达业务满配情况下,业务矩阵H2每行和每列的元素之和都等于常数2,那么环形算法整个处理过程以环的起点开始,并以环的起点结束,从步骤4回到步骤2开始寻找下一个环开始的起点,直到步骤2中未找到非零元素才结束环形算法。在到达业务非满配情况下,业务矩阵H2每行每列的元素之和小于或等于常数2,同样可以采用环形算法处理。在环遍历矩阵中,若出现从步骤3或4回到步骤2时的列(或行)并不是起始列(或行),那么一个环的处理还需从起始列(或行)的反方向开始遍历环,直到再次回到步骤2才开始寻找下一个环开始的起点,直到步骤2中未找到非零元素才结束环形算法。下面以满配业务矩阵H2为例,对环形算法的实现步骤进行说明。H2=0001000101010000001001001000001000101000000010101000010001000001]]>图2是环形算法对业务矩阵H2的处理示意图。如图2所示,环形算法处理业务矩阵H2,标号“①、②”分别代表分配给两个连接矩阵实线箭头和虚线箭头表示步骤走向,其上标示的数字表示步骤序号。首先,执行步骤2寻找到一个非零值1作为环开始的起点Start,箭头指向代表了处理顺序,最终回到起始点的相邻非零值,一个环遍历结束End,再执行步骤2寻找下一个环的起点。从图2可看出,该业务矩阵H2的环形算法处理过程中有两个环(实线和虚线),一共用了14步处理完成。由以上分析可以看出,在现有的环形算法中,算法处理方向是单向的,每一次搜索只能返回一条业务分配结果,而且由于业务矩阵的随机性,每条业务的分配必须顺序完成,当业务矩阵度较大或中间模块数量较大时,现有环形算法需要采用较长的时间才能得到连接矩阵,完成业务矩阵的分配。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种双向交换调度方法,针对度为2的满配业务矩阵进行设计,在确定起点后的每个分配步骤可以得到两条业务分配结果,从而将业务矩阵的分配时间缩短为现有单向环形算法的一半左右。为实现上述专利技术目的,本专利技术双向交换调度方法包括以下步骤:S1:对于度为2的业务矩阵H2,将其中各个元素记为H2[i,j],i和j的取值范围分别为0≤i≤N-1、0≤j≤N-1,N表示输入/输出模块的个数;初始化所有连接矩阵k表示中间模块序号,取值范围为1≤k≤2,标记每个元素值为0;S2:在业务矩阵H2中从元素H2[0,0]开始逐行逐列遍历各个元素,如果寻找所有行未找到非零元素,则环形算法结束;如果在第i1行中寻找到元素H2[i1,j1]为非零值2,则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,重复步骤S2;如果在第i1行中寻找到一个元素H2[i1,j1]为非零值1,则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,进入步骤S3;S3:在本文档来自技高网
...
一种双向交换调度方法

【技术保护点】
一种双向交换调度方法,其特征在于包括以下步骤:S1:对于度为2的业务矩阵H2,将其中各个元素记为H2[i,j],i和j的取值范围分别为0≤i≤N‑1、0≤j≤N‑1,N表示输入/输出模块;初始化所有连接矩阵k表示中间模块序号,取值范围为1≤k≤2,标记每个元素值为0;S2:在业务矩阵H2中从元素H2[0,0]开始逐行逐列遍历各个元素,如果寻找所有行未找到非零元素,则环形算法结束;如果在第i1行中寻找到元素H2[i1,j1]为非零值2,则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,重复步骤S2;如果在第i1行中寻找到一个元素H2[i1,j1]为非零值1,则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,进入步骤S3;S3:在元素H2[i1,j1]所在的第i1行和第j1列同时寻找是否存在非零值1,如果未找到则返回步骤S2,若找到元素H2[i1,j2]、H2[i2,j1],则更新连接矩阵和业务矩阵相应元素:H2[i1,j2]=0,H2[i2,j1]=0,进入步骤S4;S4:在元素H2[i1,j2]所在的第j2列和H2[i2,j1]所在的第i2行同时寻找是否存在非零值1,如果未找到则返回步骤S2,若找到元素H2[i3,j2]和H2[i2,j3],则更新连接矩阵和业务矩阵相应元素:H2[i3,j2]=0,H2[i2,j3]=0,判断元素H2[i3,j2]和H2[i2,j3]是否为同一元素,如果不是进入步骤S5,否则返回步骤S2;S5:在元素H2[i3,j2]所在的第i3行和H2[i2,j3]所在的第j3列同时寻找是否存在非零值1,如果未找到则返回步骤S2,若找到元素H2[i3,j4]和H2[i4,j3],则更新连接矩阵和业务矩阵相应元素:H2[i3,j4]=0,H2[i4,j3]=0,判断元素H2[i3,j4]和H2[i4,j3]是否为同一元素,如果不是则令i1=i3、i2=i4、j1=j3、j2=j4,返回步骤S4,否则返回步骤S2。...

【技术特征摘要】
1.一种双向交换调度方法,其特征在于包括以下步骤:
S1:对于度为2的业务矩阵H2,将其中各个元素记为H2[i,j],i和j的取值
范围分别为0≤i≤N-1、0≤j≤N-1,N表示输入/输出模块;初始化所有连接矩
阵k表示中间模块序号,取值范围为1≤k≤2,标记每个元素值为0;
S2:在业务矩阵H2中从元素H2[0,0]开始逐行逐列遍历各个元素,如果寻找
所有行未找到非零元素,则环形算法结束;如果在第i1行中寻找到元素H2[i1,j1]为
非零值2,则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,重复步骤S2;如果在第i1行中寻找到一个元素H2[i1,j1]为非零值1,
则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,进入步骤S3;
S3:在元素H2[i1,j1]所在的第i1行和第j1列同时寻找是否存在非零值1,如果
未找到则返回步骤S2,若找到元素H2[i1,j2]、H2[i2,j1],则更新连接矩阵和业务矩
阵相应元素:H2[...

【专利技术属性】
技术研发人员:杨琦张念邱昆许渤
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

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

1