CN103944839A - 一种同向交换调度方法 - Google Patents

一种同向交换调度方法 Download PDF

Info

Publication number
CN103944839A
CN103944839A CN201410154323.6A CN201410154323A CN103944839A CN 103944839 A CN103944839 A CN 103944839A CN 201410154323 A CN201410154323 A CN 201410154323A CN 103944839 A CN103944839 A CN 103944839A
Authority
CN
China
Prior art keywords
matrix
row
find
nonzero
line
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
Application number
CN201410154323.6A
Other languages
English (en)
Other versions
CN103944839B (zh
Inventor
许渤
杨琦
邱昆
胡钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201410154323.6A priority Critical patent/CN103944839B/zh
Publication of CN103944839A publication Critical patent/CN103944839A/zh
Application granted granted Critical
Publication of CN103944839B publication Critical patent/CN103944839B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种适用于多级多平面结构网络的同向交换调度方法,在度为2的满配业务矩阵中,逐行遍历各个元素,将第一次找到的位于同一行的两个非零值1的元素作为起点,分别在对应的列方向上查找非零值1,再在找到的两个非零值1对应的行方向上查找非零值1,依次类推。每次找到非零值元素时,则更新连接矩阵的业务矩阵中的相应元素,直到将业务矩阵中所有非零值元素处理完毕。本发明中每个步骤可以返回两条业务分配结果,从而将业务矩阵的分配时间缩短为现有单向环形算法的一半。

Description

一种同向交换调度方法
技术领域
本发明属于网络交换调度技术领域,更为具体地讲,涉及一种基于环形算法的同向交换调度方法。
背景技术
多级多平面(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]的度即为 Σ i ( Σ j = 0 B - 1 Matrix [ i , j ] ) max j ( Σ i = 0 A - 1 Matrix [ 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,其中每个元素代表输入模块i是否有业务经过中间级模块k连接到输出模块j,其元素值为1代表有连接,元素值为0代表无连接。其中下标1表示连接矩阵的度,即每个中间级模块k中每个输入模块到每个输出模块最多只存在一个业务。
在文献[S.Andresen,“The looping algorithm extended to base2trearrangeable 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为例,对环形算法的实现步骤进行说明。
H 2 = 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1
图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中从第0行开始逐行遍历各个元素,如果寻找所有行未找到非零元素,则环形算法结束;如果在第i1行中寻找到元素H2[i1,j1]为非零值2,则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,重复步骤2;如果在第i1行中寻找到两个元素H2[i1,j1]、H2[i1,j2]为非零值1,则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,H2[i1,j2]=0,令a1=a2=i1,b1=j1,b2=j2,进入步骤S3;
S3:从元素H2[a1,b1]和H2[a2,b2]所在的第b1列和第b2列同时寻找是否存在非零值1,如果未找到则返回步骤S2,若找到元素H2[a3,b1]和H2[a4,b2],则更新连接矩阵和业务矩阵相应元素:H2[a3,b1]=0,H2[a4,b2]=0,检查a3是否等于a4,如果不相等则执行步骤S4,否则返回步骤S2;
S4:在元素H2[a3,b1]和H2[a4,b2]所在的第a3行和第a4行同时查找是否存在非零值1,如果未找到则返回步骤S2,若找到元素H2[a3,b3]和H2[a4,b4],更新连接矩阵和业务矩阵相应元素:H2[a3,b3]=0,H2[a4,b4]=0,检查b3是否等于b4,如果不相等则令a1=a3、a2=a4、b1=b3、b2=b4,返回步骤S3,否则返回步骤S2。
本发明同向交换调度方法,在度为2的满配业务矩阵中,逐行遍历各个元素,将第一次找到的位于同一行的两个非零值1的元素作为起点,分别在对应的列方向上查找非零值1,再在找到的两个非零值1对应的行方向上查找非零值1,依次类推。每次找到非零值元素时,则更新连接矩阵的业务矩阵中的相应元素,直到将业务矩阵中所有非零值元素处理完毕。本发明中,每个分配步骤处理两个数据,可以返回两条业务分配结果,从而将业务矩阵的分配时间缩短为现有单向环形算法的一半。
附图说明
图1是MPMS结构网络示意图;
图2是环形算法对业务矩阵H2的处理示意图;
图3是本发明对业务矩阵H2的处理示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图3是本发明对业务矩阵H2的处理示意图。同样地,图3中标号“①、②”分别代表分配给两个连接矩阵实线箭头和虚线箭头表示步骤走向,其上标示的数字表示步骤序号。如图3所示,本发明对业务矩阵H2的处理流程包括以下步骤:
S101、对于度为2的业务矩阵H2,将其中各个元素记为H2[i,j]。由于图3中所示业务矩阵H2可以看出本实施例中输入/输出模块的个数N=8,因此本实施例中i和j的取值范围分别为0≤i≤7、0≤j≤7。初始化所有连接矩阵k表示中间模块序号,取值范围为1≤k≤2,即连接矩阵为标记连接矩阵中每个元素值为0。
S102、在业务矩阵H2中从第0行开始逐行遍历各个元素,在第0行找到两个为非零值1的元素H2[0,3]、H2[0,7],更新连接矩阵和业务矩阵相应元素: E 1 1 [ 0,3 ] = 1 , E 1 2 [ 0,7 ] = 1 , H2[0,3]=0,H2[0,7]=0。
在本步骤中,如果找到非零值2,由于本发明针对的是度为2的业务矩阵,那么如果以该元素为起点,则无论是行、列均找不到下一个非零值元素,因此需要重新寻找起点。
S103:从元素H2[0,3]和H2[0,7]所在的第3列和第7列同时寻找是否存在非零值1,分别在第1行和第7行找到非零值1的元素H2[1,3]和H2[7,7],因此更新连接矩阵和业务矩阵相应元素:H2[1,3]=0,H2[7,7]=0。
由于连接矩阵的度为1,因此业务矩阵中同行或同列的两个非零值1元素不能分配到同一个连接矩阵。
S104:由于此时两个元素的行序号不同,因此在元素H2[1,3]和H2[7,7]所在的第1行和第7行同时寻找是否存在非零值1,在第1列找到非零值1的元素H2[1,1]和H2[7,1],因此更新连接矩阵和业务矩阵相应元素H2[1,1]=0,H2[7,1]=0,此时两个元素的列序号相同,第一个环遍历完成,而此时并未把业务矩阵中的非零值元素处理完毕,因此需要重新遍历查找起点。
S105:在更新的业务矩阵H2中从第0行开始逐行遍历各个元素,在第2行找到两个为非零值1的元素H2[2,2]、H2[2,5],更新连接矩阵和业务矩阵相应元素H2[2,2]=0,H2[2,5]=0。以H2[2,2]、H2[2,5]为新起点,继续处理各个非零值元素,直到业务矩阵中元素全部为0。
本发明在选取同向交换调度方法的起始端口时有如下要求:本发明中的同向交换调度方法也是基于二部图染色的原理,而同行的端口是属于同一个模块,选取的两个起点端口必须是属于同一个模块,即是矩阵的同一行,这样选取可使得两个起点端口的处理过程同时开始,同时结束,避免后期处理过程的不必要的麻烦。如若不然,假设随机选取端口[0,3]和[2,2]作为开始的同向端口,如图3所示,这两个端口属于两个不同的环,相当于两个同时开始的单向环形算法,因为环的规模有差别,就容易造成一个环已经处理完成,另一个环依然在处理的情况,为使下两个端口同时开始,势必要产生等待问题,这是我们不愿意见到的。
对比图2和图3中标示的步骤序号,可以看出:对于同一个业务矩阵H2,本发明同向交换调度方法用了7步,而原有的单向环形算法需要14步。这是因为本发明同向交换调度方法的每一步实际上是对两个端口同向同时进行处理,每个步骤处理两个数据,不管业务矩阵中的非零值元素是2还是1,都可以得到两条业务分配结果,因此在软/硬件处理能力满足的情况下,本发明同向交换调度方法的调度处理时间,只有原有的单向环形算法的一半左右,大大减少交换调度的处理时间。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (1)

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中从第0行开始逐行遍历逐行遍各个元素,如果寻找所有行未找到非零元素,则环形算法结束;如果在第i1行中寻找到元素H2[i1,j1]为非零值2,则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,重复步骤2;如果在第i1行中寻找到两个元素H2[i1,j1]、H2[i1,j2]为非零值1,则更新连接矩阵和业务矩阵相应元素:H2[i1,j1]=0,H2[i1,j2]=0,令a1=a2=i1,b1=j1,b2=j2,进入步骤S3;
S3:从元素H2[a1,b1]和H2[a2,b2]所在的第b1列和第b2列同时寻找是否存在非零值1,如果未找到则返回步骤S2,若找到元素H2[a3,b1]和H2[a4,b2],则更新连接矩阵和业务矩阵相应元素:H2[a3,b1]=0,H2[a4,b2]=0,检查a3是否等于a4,如果不相等则执行步骤S4,否则返回步骤S2;
S4:在元素H2[a3,b1]和H2[a4,b2]所在的第a3行和第a4行同时查找是否存在非零值1,如果未找到则返回步骤S2,若找到元素H2[a3,b3]和H2[a4,b4],更新连接矩阵和业务矩阵相应元素:H2[a3,b3]=0,H2[a4,b4]=0,检查b3是否等于b4,如果不相等则令a1=a3、a2=a4、b1=b3、b2=b4,返回步骤S3,否则返回步骤S2。
CN201410154323.6A 2014-04-17 2014-04-17 一种同向交换调度方法 Expired - Fee Related CN103944839B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410154323.6A CN103944839B (zh) 2014-04-17 2014-04-17 一种同向交换调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410154323.6A CN103944839B (zh) 2014-04-17 2014-04-17 一种同向交换调度方法

Publications (2)

Publication Number Publication Date
CN103944839A true CN103944839A (zh) 2014-07-23
CN103944839B CN103944839B (zh) 2017-02-22

Family

ID=51192327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410154323.6A Expired - Fee Related CN103944839B (zh) 2014-04-17 2014-04-17 一种同向交换调度方法

Country Status (1)

Country Link
CN (1) CN103944839B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456838B1 (en) * 1999-02-17 2002-09-24 Verizon Laboratories Inc. Generic approach to generating permutations for all-to-all personalized exchange for self-routing multistage interconnection networks
CN1767501A (zh) * 2005-11-28 2006-05-03 西安邮电学院 一种路由选择方法
CN102129482A (zh) * 2010-01-13 2011-07-20 电子科技大学 一种基于混沌离散粒子群优化的片上网络映射方法
CN103475597A (zh) * 2013-08-30 2013-12-25 电子科技大学 一种基于矩阵分解的网络交换调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456838B1 (en) * 1999-02-17 2002-09-24 Verizon Laboratories Inc. Generic approach to generating permutations for all-to-all personalized exchange for self-routing multistage interconnection networks
CN1767501A (zh) * 2005-11-28 2006-05-03 西安邮电学院 一种路由选择方法
CN102129482A (zh) * 2010-01-13 2011-07-20 电子科技大学 一种基于混沌离散粒子群优化的片上网络映射方法
CN103475597A (zh) * 2013-08-30 2013-12-25 电子科技大学 一种基于矩阵分解的网络交换调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STEINAR ANDRESEN: "The Looping Algorithm Extended to Base 2t Rearrangeable Switching Networks", 《IEEE》 *

Also Published As

Publication number Publication date
CN103944839B (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
US11360930B2 (en) Neural processing accelerator
CN103475597B (zh) 一种基于矩阵分解的网络交换调度方法
US7065076B1 (en) Modular scalable switching networks
CN100492342C (zh) 在阵列处理器上的划分
Gu et al. Wavelengths requirement for permutation routing in all-optical multistage interconnection networks
CN103944839A (zh) 一种同向交换调度方法
CN103944840A (zh) 一种双向交换调度方法
CN108184127B (zh) 一种可配置的多尺寸dct变换硬件复用架构
Fang et al. The m-pancycle-connectivity of a WK-recursive network
Fang The bipancycle-connectivity of the hypercube
Bai et al. The Lightest 4x4 MDS Matrices over $ GL (4,\mathbb {F} _2) $
Kwaśny et al. Asymptotically optimal bound on the adjacent vertex distinguishing edge choice number
Aghakhani et al. A novel routing algorithm in benes networks
EP0328854A1 (en) NxN interconnection networks formed of delta networks and method for the establishment of inlet-outlet permutations
Wang et al. Linear time algorithms for finding independent spanning trees on pyramid networks
Shi et al. When do gossip algorithms converge in finite time?
Ratan et al. Self-routing quantum sparse crossbar packet concentrators
Gonzalez Open shop scheduling
US6128719A (en) Indirect rotator graph network
Koloko et al. Design and implementation of fast and hardware‐efficient parallel processing elements to set full and partial permutations in Beneš networks
Conforti et al. Minimally infeasible set-partitioning problems with balanced constraints
Veselovsky et al. Constructing transition matrices for routing BPC permutations on shuffle-exchange recirculating networks
Fujita et al. Optimal gossiping in mesh-bus computers
Matsui et al. Enumeration algorithm for the edge coloring problem on bipartite graphs
Awwad et al. The Load Balancing Algorithm for the Star Interconnection Network

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170222

Termination date: 20200417