CN102882807A - 一种基于资源不可用约束的连接请求路由和重排方法 - Google Patents
一种基于资源不可用约束的连接请求路由和重排方法 Download PDFInfo
- Publication number
- CN102882807A CN102882807A CN2012103448398A CN201210344839A CN102882807A CN 102882807 A CN102882807 A CN 102882807A CN 2012103448398 A CN2012103448398 A CN 2012103448398A CN 201210344839 A CN201210344839 A CN 201210344839A CN 102882807 A CN102882807 A CN 102882807A
- Authority
- CN
- China
- Prior art keywords
- module
- intergrade
- row
- time slot
- find
- 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
本发明公开了一种基于资源不可用约束的连接请求路由和重排方法,对现有采用PAULL算法进行改进,在到新的连接请求的输入模块和输出模块对应的链路上都有空闲、但出现资源不可用约束的中间级模块w与负载最轻的、但不满足到连接请求的输入模块和输出模块对应的链路上都有空闲的中间级模块v之间进行联合PAULL重排,在找到的路径上将两个模块进行对调,同时将中间级模块v分配新的连接请求,这个过程相当于将中间级模块v上的连接请求拆除,重排到中间级模块w上,将中间级模块w上的连接请求拆除,重排到中间级模块v上,从而克服了资源不可用约束,实验表明,本发明的方法整体性能没有下降。
Description
技术领域
本发明属于光交换技术领域,更为具体地讲,涉及多级Clos结构中一种基于资源不可用约束的连接请求路由和重排方法。
背景技术
随着网络流量的极速增加,对超大容量超高速度的网络交换节点也提出更高要求。多级交换机和路由系统使用电处理,会带来更多的能耗和温控管理要求,而限制了它的扩展性。光交换结构可以弥补电处理能耗的劣势,所以光交换成为研究的热点。
为实现超大容量超高速的光交换结构,可以使用多平面多级的Clos结构作为光交换结构实现的拓扑结构。
关于多级Clos结构,其光连接请求路由和重排方法采用经典的PAULL算法进行。PAULL算法中没有任何约束,例如3级Clos结构中,在选择中间级模块的时候,依据某种策略,如负载策略选择中间级模块,只要中间级模块满足到连接请求的输入模块和输出模块都有空闲资源即可。现在存在着一种约束:中间级模块虽然满足到连接请求的输入级模块和输出模块均有空闲资源可用,但是某些具体实现过程中要求该连接请求不能选择该中间级模块,这个约束为资源不可用。此时在该约束条件下,不能直接使用PAULL算法,例如:
1、在基于多级Clos结构的光交换结构中,具体实现时使用FTL(Fast TunableLaser,快速可调激光器)和AWG(Arrayed Waveguide Grating,阵列波导光栅)器件的组合,既能满足光交换速度的要求,又能实现大规模端口数目。器件上如果用FTL的同步突发方式在交换结构中交换光突发颗粒,则在路由算法上将每一个光突发颗粒看作是一个连接请求,同时需要将链路资源时隙化,使用PAULL路由和重排算法,可以将每一个连接请求分配到独立的时隙链路资源。这样一定会存在两条连接请求分配的链路资源完全一样,但时隙相邻。在这种条件下,将两条连接请求分配的链路资源对应到器件上,可以发现两个光突发颗粒会经过相同的FTL,相同的AWG输入端口和输出端口。因为FTL是根据AWG的输入端口和输出端口的调谐特性,得到需要调谐的波长值去配置工作波长,既然两个连接请求的AWG的输入端口和输出端口都一致,则FTL相邻两个时隙调谐的波长值是一致的,对于现有的FTL是不能正常工作的。要想FTL正常工作,则两个连接请求的链路资源不能完全一样,此时必定出现资源不可用的约束。
2、资源不可用约束还体现在对于全光交换模块,由于不存在光缓存,对于每个时隙的光突发信号要求从相同的时隙进入交换模块,也必须要在相同的时隙从交换模块出来。对于光交换结构,光交换模块会有多个输入端口和输出端口,在某一个时隙,多个输入端口进来的光信号的波长如果是相同的,由于器件的约束可能会出现光信号的串扰,该时隙下出现资源不可用的约束,需要调整连接请求占用的时隙链路资源。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于资源不可用约束的连接请求路由和重排方法,对满足连接请求到输入模块、输出模块都有时隙空闲的中间模块在出现资源不可用时,进行连接请求路由和重排。
为实现上述目的,本发明基于资源不可用约束的连接请求路由和重排方法,其特征在于,包括以下步骤:
(1)、对于需要新建的连接请求r(I_m,O_m,s),在时隙矩阵的时隙s中,找出中间级模块集合W(r);其中,中间级模块集合W(r)中的中间级模块w满足到连接请求r的输入模块I_m对应链路上的时隙s空闲,同时到连接请求r的输出模块O_m对应链路上的时隙s空闲;
如果中间级模块W(r)不为空,进入步骤(2).如果中间级模块W(r)为空,进入步骤(4);
(2)、能否找到不发生资源不可用事件的中间级模块w,能找到,则进入步骤(3),如果找不到,则选择负载最轻的中间级模块w,进入步骤(7);
(3)、占用模块w到连接请求r的输入模块I_m的对应时隙链路,到连接请求r的输出模块O_m的对应时隙链路,更新时隙矩阵,结束;
(4)、找出中间级模块集合A(r),找出中间级模块B(r);其中,中间级模块集合A(r)中的中间级模块a满足到连接请求r的输入模块对应链路上的时隙s被占用,到连接请求r的输出模块对应链路上的时隙s有空闲,中间级模块B(r)中的中间级模块b满足到连接请求r的输入模块I_m对应链路上的时隙s有空闲,到连接请求r的输出模块O_m对应链路上的时隙s被占用;
如果中间级集合A(r)或者B(r)为空,则进入步骤(5)否则进入步骤(6);
(5)、不满足重排要求,结束;
(6)、根据负载策略,在中间级模块集合A(r)中选择模块a,在中间级模块集合B(r)中选择模块b,进入PAULL重排;
(7)、在剩下的不满足W(r)要求的中间模块集合V(r)中寻找一个负载最轻的中间级模块v,在中间级模块w和中间级模块v中进行联合PAULL重排:
7.1)、如果中间级模块v在时隙矩阵中输入模块I_m所对应的行出现,在输出模块O_m所对应的列没有出现,则进入步骤7.2);如果中间级模块v在时隙矩阵中输入模块I_m所对应的行没有出现,在输出模块O_m所对应的列出现,则进入步骤7.3);如果中间级模块v在时隙矩阵中输入模块I_m所对应的行、在输出模块O_m所对应的列均出现,则进入步骤7.4);
7.2)、令iv=I_m,在时隙矩阵iv行时隙s中找到中间级模块v,其列号为j,令jw=j,然后在时隙矩阵jw列时隙s寻找中间模块w,如果寻找到,则令iv=i,i为找到的中间级模块w的行号,继续在时隙矩阵iv行时隙s中寻找中间级模块v,如果找到,则令jw=j,j为找到的中间级模块v的行号,然后在时隙矩阵jw列时隙s寻找中间模块w,这样重复,直到找不到中间级模块w或者中间级模块v为止,得到vwvw路径,进入步骤7.5);
7.3)、令jv=O_m,在时隙矩阵jv列时隙s中找到中间级模块v,其行号为i,令iw=i,然后在时隙矩阵iw行时隙s寻找中间级模块w,如果寻找到,则令jv=j,j为找到的中间级模块w的列号,继续在时隙矩阵jv列时隙s中寻找中间级模块v,如果找到,则令iw=i,j为找到的中间级模块v的列号,然后在时隙矩阵iw行时隙s寻找中间级模块w,这样重复,直到找不到中间级模块w或者中间级模块v为止,得到vwvw路径,进入步骤7.5);
7.4)、令iv=I_m,jv=O_m,同时在时隙矩阵iv行和jv列时隙s两个分支找到中间级模块v,按行找到的中间级模块v的列号为j、按列找到的中间级模块v的行号为i,令jw=j,iw=i,然后同时在时隙矩阵jw列和iw行时隙s两个分支寻找到中间级模块w;
如果两个分支时隙s都找到中间级模块w,按列找到的中间级模块w的行号为i,按行找到的中间模块w的列号为j,则令iv=i,jv=j,如果iv=iw且jv=jw,即找到相同的中间模块w,进入步骤7.5),否则继续在时隙矩阵iv行和时隙矩阵jv列时隙s寻找中间级模块v,如果都找到中间级模块v,按行找到的中间级模块v的列号为j、按列找到的中间级模块v的行号为i,令jw=j,iw=i,如果iv=iw且jv=jw,即找到相同的中间模块v,进入步骤7.5),否则,继续在时隙矩阵jw列和iw行时隙s两个分支寻找到中间级模块v,这样重复,直到一个分支找不到中间级模块w或v,则这一个分支停止,另一个分支继续,直到都找不到中间级模块w或者中间级模块v停止,最后得到一条连通的路径vwvwv或是两条不相交的路径vwvw和vwvw,进入步骤7.5);
7.5)、将得到的路径上的中间模块v换成w,w换成v,同时将中间级模块v分配给新的连接请求r。
本发明的发明目的是这样实现的:
本发明基于资源不可用约束的连接请求路由和重排方法,对现有采用PAULL算法进行改进,在到新的连接请求的输入模块和输出模块对应的链路上都有空闲、但出现资源不可用约束的中间级模块w与负载最轻的、但不满足到连接请求的输入模块和输出模块对应的链路上都有空闲的中间级模块v之间进行联合PAULL重排,在找到的路径上将两个模块进行对调,同时将中间级模块v分配新的连接请求,这个过程相当于将中间级模块v上的连接请求拆除,重排到中间级模块w上,将中间级模块w上的连接请求拆除,重排到中间级模块v上,从而克服了资源不可用约束,实验表明,本发明的方法整体性能没有下降。
附图说明
图1是基本的三级clos结构示意图;
图2是图1所示三级clos结构的时隙矩阵一具体实例;
图3是图1所示三级clos结构的时隙矩阵另一具体实例;
图4是图3所示时隙矩阵经过PAULL重排后的时隙矩阵;
图5是图1所示三级clos结构的时隙矩阵出现a)情况下的一具体实例;
图6是图5所示的时隙矩阵经过联合PAULL重排后的时隙矩阵;
图7是图1所示三级clos结构的时隙矩阵出现b)情况下的一具体实例;
图8是图7所示的时隙矩阵经过联合PAULL重排后的时隙矩阵;
图9是图1所示三级clos结构的时隙矩阵出现c)情况且路径连通下的一具体实例;
图10是图9所示的时隙矩阵经过联合PAULL重排后的时隙矩阵;
图11是图1所示三级clos结构的时隙矩阵出现c)情况且路径不连通下的一具体实例;
图12是图11所示的时隙矩阵经过联合PAULL重排后的时隙矩阵;
图13是连接请求路由和重排方法性能对比图;
图14是图13部分业务量下的连接请求路由和重排方法性能对比图;
图15是部分业务量下的连接请求路由和重排方法的对堵塞影响的性能对比图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
多级Clos结构,可以由三级Clos结构扩展而成,将每一个中间模块看作一个三级Clos结构,横向扩展,以满足大规模要求,讨论多级时,一般以三级为基础。
图1是基本的三级clos结构示意图。
如图1所示,基本的三级Clos结构,包括输入级,中间级,输出级,描述为:C(n,m,p),其中n表示输入模块的输入端口数目,m表示输入模块的输出端口数目,p表示输入模块的个数。Clos结构的特性决定了中间级模块有p个输入端口和p个输出端口,中间级模块的个数为m。输出模块有m个输入端口,n个输出端口,输出模块的个数为p。将基本的三级Clos结构看做一个整体,总共有输入端口N=n*p个,输出端口N=n*p个。
图1所示基本三级clos结构为C(4,4,4)。三级clos结构的无阻塞特性可以分为三种:1)严格无阻塞型,只要满足输入端口与输出端口有空闲就能成功建立新的连接,而不会对以前网络的状态产生影响,要求m>=2n-1;2)广义无阻塞型,需要依据一定的策略做调整,可能保证新连接的建立,要求m>=3n/2;3)可重排无阻塞型,需要对已有的连接进行调整重排,改变之前的配置,才能建立新的连接,要求m>=n,实际应用中结合硬件成本与算法的复杂度,一般会选用可重排无阻塞的Clos结构。
根据Clos结构的连接特性,任意一个中间级模块到任意的一个输入模块和任意一个输出模块,只有唯一的一条连通链路。根据需求,将链路资源划分为多个时隙,这里定义时隙矩阵PM对Clos结构的路由和重排进行描述。对于一个对称的Clos结构C(n,m,p),时隙矩阵PM大小p*p,PM的行坐标表示输入模块号,列坐标表示输出模块号。时隙矩阵PM中存储着队列,其中队列的索引号表示时隙号(从0开始),队列中的每一个元素表示中间级模块号。考虑到每一个时隙,相同的输入模块到相同的输出模块可能存在多条连接请求。所以队列的每一个时隙可能会占用多个中间级模块,但是不能多于输入模块的输入端口数目n。在本实施例中,只讨论队列的每一个时隙只占用一个中间级模块的情况。根据图1所示基本三级Clos结构,图2所示的时隙矩阵PM。
如图2所示,用字母表示中间级模块,以中间级模块b为例子,图2中黑体表示连接请求选择中间模块b。由图2的每一列的信息可以看出,不同的输入模块到相同的输出模块,选择的中间级模块不能重复,这是因为任意一个中间级模块到某一个输出模块只有一条链路资源,在同样一个时隙,不可能被两个连接请求同时占用。相同的输入模块到不同的输出模块,选择的中间级模块可以重复,也可以不重复,如果中间级模块具有多播扇出能力,则可以重复,反之则不可以重复。在图2中,中间级模块不具有多播扇出能力。同时由图2可以看出输入模块In_1到输出模块Out_0在第0,1,2号时隙均有连接请求,且均选择了中间级模块b。如果相邻的两条连接请求有相同的输入端口,则在物理层面上,说明两个相邻的光突发颗粒通过同一个快速可调激光器FTL进行了调制。他们的输出模块是相同的,在此时,他们选择的中间级模块也相同,对应到物理层面上,它们经过的阵列波导光栅AWG的输入输出端口也是相同的,此时快速可调激光器FTL不能正常工作,也就是说此时发生了资源不可用的情况。1.路由和重排方法中使用到的术语定义如下:
Request(I_d,I_m,I_p,I_s,C_m,O_s,O_p,O_m):表示基于三级Clos结构的连接请求Request,所以Request选路相关的信息包括了连接请求号I_d,输入模块号I_m,输入端口号I_p,输入模块到中间级模块的时隙号I_s,中间级模块号C_m,输出模块到中间级模块的时隙号O_s,输出端口号O_p,输出模块号O_m。I_d为-1时,表示该连接请求无效。为简化,使用r表示连接请求,r.I_d表示获取连接请求r的连接请求号I_d。考虑到全光模块的交换结构,则有r.I_s=r.O_s=s
W(r):中间级模块的集合,集合中的中间级模块w满足到连接请求r的输入模块对应链路上时隙s空闲,同时到连接请求r的输出模块对应链路上时隙s空闲。
V(r):不满足W(r)要求的中间模块集合。
A(r):中间级模块的集合,此集合的中间级模块a满足到连接请求r的输入模块对应链路上时隙s被占用,到连接请求r的输出模块对应链路上时隙s有空闲。
B(r):中间级模块的集合,此集合的中间级模块b满足到连接请求r的输入模块对应链路上时隙s有空闲,到连接请求r的输出模块对应链路上时隙s被占用。
Unavailble(w,r,r’):表示中间级模块w对于连接请求r发生了资源不可用的约束。r’表示连接请求r.I_s的前一个时隙对应的连接请求,发生资源不可用事件满足r’.I_m=r.I_m,r’I_p=r.I_p,r’.I_s=r.I_s-1,r’.O_m=r.O_m。此时在确定中间级模块时候,因为连接请求r’已经使用了中间级模块w,则连接请求r不能再使用中间级模块w,即r’.C_m=w,虽然w有资源可以用,但是r.C_m!=w。
PMs[i,j]:表示在时隙矩阵的时隙s中,i行,j列对应的中间级模块。
2.改进的路由和重排算法
对于Clos结构,可以采用逐条调度的思想,有连接请求到来就为它分配路径,发生了阻塞就调用重排算法。因为多级Clos结构是由基本的三级Clos结构扩展而成。基于三级Clos结构的改进是可以应用于任何多级Clos结构中。因为在多平面多级Clos交换结构中,资源不可用的约束发生在里层,所以改进的路由和重排算法主要应用在里三层Clos结构中。因此只用分析基本的三级Clos结构的改进就可以。在此为了说明方便,简化连接请求Request为:r(I_m,O_m,s),I_m为输入模块,O_m为输出模块,s为到中间级的时隙号。其他地方使用到的连接请求,还是按照前面的定义。
联合PAULL重排与PAULL重排的区别
PAULL重排的条件是:
选择出两个中间级模块a,b,满足中间级模块a到连接请求r的输入模块对应的链路有空闲,到r的输出模块对应的链路无空闲。满足中间级模块b到连接请求r的输出模块对应的链路有空闲,到r的输入模块对应的链路无空闲。然后分别寻找abab路径和baba路径,选择路径短的那条,然后将路径上的连接请求拆除并重排,腾出资源,分配给连接请求r。
联合PAULL重排的条件是:
选择出两个中间级模块w,v,其中,中间级模块w满足到连接请求r的输入模块和输出模块对应的链路都有空闲,即对于需要新建的连接请求r(I_m,O_m,s),在时隙矩阵的时隙s中找一个中间级模块w,满足中间级模块w在I_m对应的行和O_m对应的列均没有出现,但找到的中间级模块w受到资源不可用的约束;中间级模块v不满足中间级模块w的要求。然后分别在w和v模块之间进行联合拆除重排。联合PAULL重排的步骤:
Step1:中间级模块v会出现三种情况:a)中间级模块v在输入模块I_m所对应的行出现,在输出模块O_m所对应的列没出现;b)中间级模块v在输入模块I_m所对应的行没有出现,在输出模块O_m所对应的列出现;c)中间级模块v在输入模块I_m所对应的行和输出模块O_m所对应的列均出现。出现a)情况进入step2,出现b)情况进入step 3,出现c)情况进入step4。
Step2:令iv=l_m,在时隙矩阵iv时隙s行中找到中间级模块PMs[iv,j]=v,令jw=j,然后在时隙矩阵jw列时隙s寻找中间级模块w,如果寻找到中间级模块PMs[i,jw]=w,则令iv=i,继续在时隙矩阵iv行时隙s寻找中间级模块v,直到找不到中间级模块w或者v为止,得到vwvw路径,进入step 5。
Step3:令jv=O_m,在时隙矩阵jv列时隙s中找到中间级模块PMs[i,jv]=v,令iw=i,然后在时隙矩阵iw行时隙s寻找中间级模块w,如果寻找到中间级模块PMs[iw,j]=w,则令jv=j,继续在时隙矩阵jv列时隙s寻找v,直到找不到中间级模块w或者v为止,得到vwvw路径,进入step5。
Step4:令iv=I_m,jv=O_m,同时在时隙矩阵iv行和jv列时隙s两个分支找到中间级模块v,即找到了中间级模块PMs[iv,j]=v,同时也找到了中间级模块PMs[i,jv]=v,令jw=j,iw=i,然后同时在时隙矩阵jw列和iw行两个分支寻找到中间级模块w;
如果两个分支时隙s都找到PMs[i,jw]=w,PMs[iw,j]=w,则令iv=i,jv=j,如果iv=iw且jv=jw,即找到相同的中间模块w,则停止,进入step5。否则继续在时隙矩阵iv行和jv列时隙s寻找中间级模块v,如果都找到中间级模块PMs[iv,j],PMs[i,jv]=v,令jw=j,iw=i,如果iv=iw且jv=jw,即找到相同的中间模块v,则停止,进入step5。否则,继续在时隙矩阵jw列和iw行时隙s两个分支寻找到中间级模块v,这样重复,直到一个分支找不到中间级模块w或v,则这一个分支停止,另一个分支继续,直到都找不到中间级模块w或者中间级模块v停止,最后得到一条连通的路径vwvwv或是两条不相交的路径vwvw和vwvw,进入Step5。
Step 5:将得到的路径上的中间模块v换成w,w换成v,同时将中间级模块v分配给新的连接请求r。这个过程相当于将v模块上的连接请求拆除,重排到w上,将w模块上的连接请求拆除,重排到v上。
下面通过时隙矩阵来说明两者的区别。
新的连接请求r的输入模块为In_0,输出模块为Out_0,图3从第一列的时隙0看,中间级模块a没有出现,说明中间级模块a到连接请求r的输出模块Out_0对应的链路有空闲,从第一行的时隙0看,中间级模块b没有出现,说明中间级模块b到连接请求r的输入模块In_0对应的链路空闲。这样找到abab路径和baba路径,因为abab路径较短,所以拆除abab路径上的连接请求,交叉重排后,空闲出中间级模块a,将之分配给r连接请求,这样完成PAULL重排算法,重排后的时隙矩阵如图4所示。PAULL重排算法属于现有技术,在此不再赘述。
同样的连接请求r,中间级模块w到连接请求r的输入模块In_0和输出模块Out_0对应的链路都有空闲,但此时中间级模块w出现了资源不可用的约束,中间级模块v不满足中间级模块w的要求。图5为出现情况a)的时隙矩阵,出现情况a)则只需要从0行0时隙开始寻找vwvw路径,在第0行0时隙找到中间级模块v,其列号为1,在第1列0时隙中找到中间级模块w,其行号为2,在第2行0时隙寻找中间级模块v,没有,结束,然后把找到的中间级模块v换成w,w换成v,同时将中间级模块v分配给新的连接请求r,联合PAULL重排后的时隙矩阵如图6所示。
图7为出现情况b)的时隙矩阵,出现情况b)则只需要从0列0时隙开始寻找vwvw路径,在第0列0时隙找到中间级模块v,其行号为1,在第1行0时隙中找到中间级模块w,其列号为3,在第3列0时隙寻找中间级模块v,其行号为3,在第3行0时隙中找到中间级模块w,其列号为2,在第2列0时隙寻找中间级模块v,没有,结束,然后把找到的中间级模块v换成w,w换成v,同时将中间级模块v分配给新的连接请求r,联合PAULL重排后的时隙矩阵如图8所示。
图9为出现情况c)且路径连通下的时隙矩阵,出现情况c)则只需要从0行、0列0时隙同时寻找vwvw路径,首先在第0行0时隙找到中间级模块v,其列号为1,在第0列0时隙找到中间级模块v,其行号为1;
然后在第1列0时隙找到中间级模块w,其行号为3,第1行0时隙找到中间级模块w,其列号为3,;
再后在第3行0时隙找到中间级模块v,其列号为3,在第3列0时隙找到中间级模块v,其行号为3;此时两条分支找到相同的中间模块v,结束寻找。最后把找到的中间级模块v换成w,w换成v,同时将中间级模块v分配给新的连接请求r,联合PAULL重排后的时隙矩阵如图10示。
图11为出现情况c)且路径不连通下的时隙矩阵,出现情况c)则只需要从0行、0列0时隙同时寻找vwvw路径,首先在第0行0时隙找到中间级模块v,其列号为1,在第0列0时隙找到中间级模块v,其行号为1;
然后在第1列0时隙找到中间级模块w,其行号为2,第1行0时隙找到中间级模块w,其列号为3,;
再后在第2行0时隙找到中间级模块v,其列号为2,在第3列0时隙找不到中间级模块v,此分支结束寻找;
在第2列0时隙找到中间级模块w,其行号为3;
在第3行0时隙找到中间级模块v,在第3列0时隙找不到中间级模块v,此分支也结束寻找;
最后把找到的中间级模块v换成w,w换成v,同时将中间级模块v分配给新的连接请求r,联合PAULL重排后的时隙矩阵如图12示。
出现了c)情况需要同时从行,列开始寻找vwvw路径,并且如果找到的是一条连通的路径vwvwv,路径上的连接请求都需要在w和v中交叉拆除重排。如果找到的是两条不相交的路径vwvw和vwvw,则两条路径上的连接请求都需要被拆除,而不同于PAULL重排寻找abab和baba路径,然后选择短的拆除重排。
3.加入约束和没有加入约束的调度过程的比较
没有加入约束,改进前的调度过程:
Step 1:找出中间级模块集合W(r),W(r)不为空,进入Step 2,如果W(r)为空进入Step 4;
Step 2:根据负载最重策略,选择中间级模块w,进入Step 3。
Step 3:占用中间级模块w到连接请求r输入模块的对应时隙链路,到连接请求r输出模块的对应时隙链路,更新时隙矩阵信息,结束。
Step 4:进入重排,找出中间级模块集合A(r)。找出中间级模块B(r)。如果A(r)或者B(r)为空,则进入step 5.否则进入Step 6;
Step 5:不满足重排要求,结束;
Step 6:根据负载策略,在A(r)中选择a模块,在B(r)中选择b模块,进入PAULL重排。因为不可以调整时隙,所有PAULL重排都是在连接请求r的对应的时隙上调整的。
加入约束后的,改进的调度过程:
Step 1:找出中间级模块集合W(r),如果W(r)不为空进入Step 2,如果W(r)为空进入Step 4;
Step 2:能否找到中间级模块w,不发生Unavailable(w,r,r’)事件,能找到,则进入Step 3,如果对所有的中间级模块w都会发生Unavailable(w,r,r’)事件,选择负载最轻的w则进入Step 7;
Step 3:占用模块w到连接请求r输入模块的对应时隙链路,到连接请求r输出模块的对应时隙链路,更新矩阵信息,结束;
Step 4:进入重排,找出中间级模块集合A(r),找出中间级模块集合B(r);如果A(r)或者B(r)为空,则进入Step 5.否则进入Step 6;
Step 5:不满足重排要求,结束;
Step 6:根据负载策略,在中间级模块集合A(r)中选择中间级模块a,在中间级模块集合B(r)中选择中间级模块b,进入PAULL重排;
Step 7:在剩下的不满足中间级模块集合W(r)要求的中间级模块集合V(r)集合中寻找一个负载最轻的中间级模块v,在中间级模块w和v中进行联合PAULL重排。
4、测试结果
建立VS2010的可执行仿真器,得到对比的仿真图,根据图13可以看出,在约束的条件下,本发明做了连接请求路由和重排方法的改进,一方面,在改进中将约束避免,另一方面,连接请求路由和重排的整体性能没有下降。
随着业务量的增加,选路和重排时间基本上呈现线性增长,在业务量突破百分之九十时,中间层的重排次数明显增加,在重排时间上有比较大的增加。
通过图14局部放大,可以看到,业务量在超过百分之九十的时,不再是线性增长,特别是高达百分之99%时,增长率迅速变大。
算法性能的另一个问题是关于阻塞率的问题,Repacking策略可以减少阻塞率,通过图15可以看出,改进前后,为减少阻塞率,进行的Repacking次数没有多大的变化,所以本发明整体上改进没有损失已有的请求路由和重排方法性能。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (1)
1.一种基于资源不可用约束的连接请求路由和重排方法,其特征在于,包括以下步骤:
(1)、对于需要新建的连接请求r(I_m,O_m,s),在时隙矩阵的时隙s中,找出中间级模块集合W(r);其中,中间级模块集合W(r)中的中间级模块w满足到连接请求r的输入模块I_m对应链路上的时隙s空闲,同时到连接请求r的输出模块O_m对应链路上的时隙s空闲;
如果中间级模块W(r)不为空,进入步骤(2),如果中间级模块W(r)为空,进入步骤(4);
(2)、能否找到不发生资源不可用事件的中间级模块w,能找到,则进入步骤(3),如果找不到,则选择负载最轻的中间级模块w,进入步骤(7);
(3)、占用模块w到连接请求r的输入模块I_m的对应时隙链路,到连接请求r的输出模块O_m的对应时隙链路,更新时隙矩阵,结束;
(4)、找出中间级模块集合A(r),找出中间级模块B(r);其中,中间级模块集合A(r)中的中间级模块a满足到连接请求r的输入模块对应链路上的时隙s被占用,到连接请求r的输出模块对应链路上的时隙s有空闲,中间级模块B(r)中的中间级模块b满足到连接请求r的输入模块I_m对应链路上的时隙s有空闲,到连接请求r的输出模块O_m对应链路上的时隙s被占用;
如果中间级集合A(r)或者B(r)为空,则进入步骤(5)否则进入步骤(6);
(5)、不满足重排要求,结束;
(6)、根据负载策略,在中间级模块集合A(r)中选择模块a,在中间级模块集合B(r)中选择模块b,进入PAULL重排;
(7)、在剩下的不满足W(r)要求的中间模块集合V(r)中寻找一个负载最轻的中间级模块v,在中间级模块w和中间级模块v中进行联合PAULL重排:
7.1)、如果中间级模块v在时隙矩阵中输入模块I_m所对应的行出现,在输出模块O_m所对应的列没有出现,则进入步骤7.2);如果中间级模块v在时隙矩阵中输入模块I_m所对应的行没有出现,在输出模块O_m所对应的列出现,则进入步骤7.3);如果中间级模块v在时隙矩阵中输入模块I_m所对应的行、在输出模块O_m所对应的列均出现,则进入步骤7.4);
7.2)、令iv=I_m,在时隙矩阵iv行时隙s中找到中间级模块v,其列号为j,令jw=j,然后在时隙矩阵jw列时隙s寻找中间模块w,如果寻找到,则令iv=i,i为找到的中间级模块w的行号,继续在时隙矩阵iv行时隙s中寻找中间级模块v,如果找到,则令jw=j,j为找到的中间级模块v的行号,然后在时隙矩阵jw列时隙s寻找中间模块w,这样重复,直到找不到中间级模块w或者中间级模块v为止,得到vwvw路径,进入步骤7.5);
7.3)、令jv=O_m,在时隙矩阵jv列时隙s中找到中间级模块v,其行号为i,令iw=i,然后在时隙矩阵iw行时隙s寻找中间级模块w,如果寻找到,则令jv=j,j为找到的中间级模块w的列号,继续在时隙矩阵jv列时隙s中寻找中间级模块v,如果找到,则令iw=i,j为找到的中间级模块v的列号,然后在时隙矩阵iw行时隙s寻找中间级模块w,这样重复,直到找不到中间级模块w或者中间级模块v为止,得到vwvw路径,进入步骤7.5);
7.4)、令iv=I_m,jv=O_m,同时在时隙矩阵iv行和jv列时隙s两个分支找到中间级模块v,按行找到的中间级模块v的列号为j、按列找到的中间级模块v的行号为i,令jw=j,iw=i,然后同时在时隙矩阵jw列和iw行时隙s两个分支寻找到中间级模块w;
如果两个分支时隙s都找到中间级模块w,按列找到的中间级模块w的行号为i,按行找到的中间模块w的列号为j,则令iv=i,jv=j,如果iv=iw且jv=jw,即找到相同的中间模块w,进入步骤7.5),否则继续在时隙矩阵iv行和时隙矩阵jv列时隙s寻找中间级模块v,如果都找到中间级模块v,按行找到的中间级模块v的列号为j、按列找到的中间级模块v的行号为i,令jw=j,iw=i,如果iv=iw且jv=jw,即找到相同的中间模块v,进入步骤7.5),否则,继续在时隙矩阵jw列和iw行时隙s两个分支寻找到中间级模块v,这样重复,直到一个分支找不到中间级模块w或v,则这一个分支停止,另一个分支继续,直到都找不到中间级模块w或者中间级模块v停止,最后得到一条连通的路径vwvwv或是两条不相交的路径vwvw和vwvw,进入步骤7.5);
7.5)、将得到的路径上的中间模块v换成w,w换成v,同时将中间级模块v分配给新的连接请求r。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210344839.8A CN102882807B (zh) | 2012-09-18 | 2012-09-18 | 一种基于资源不可用约束的连接请求路由和重排方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210344839.8A CN102882807B (zh) | 2012-09-18 | 2012-09-18 | 一种基于资源不可用约束的连接请求路由和重排方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102882807A true CN102882807A (zh) | 2013-01-16 |
CN102882807B CN102882807B (zh) | 2014-12-10 |
Family
ID=47483957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210344839.8A Expired - Fee Related CN102882807B (zh) | 2012-09-18 | 2012-09-18 | 一种基于资源不可用约束的连接请求路由和重排方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102882807B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1159723A (zh) * | 1995-12-21 | 1997-09-17 | 美国电报电话公司 | 网络拥塞的测量方法和设备 |
EP0841835A2 (en) * | 1996-11-08 | 1998-05-13 | Alcatel | Rearrangement procedure for a multirate/multicast SDH/SONET cross-connect |
CN101227394A (zh) * | 2008-02-18 | 2008-07-23 | 中兴通讯股份有限公司 | 一种大容量无阻塞路由矩阵 |
CN101170485B (zh) * | 2006-10-27 | 2011-05-11 | 中兴通讯股份有限公司 | 在三级clos交叉网络中配置多层粒度业务路由的方法 |
WO2011157304A1 (en) * | 2010-06-18 | 2011-12-22 | Telefonaktiebolaget L M Ericsson (Publ) | Switching matrix for interconnecting an access network and operator networks |
-
2012
- 2012-09-18 CN CN201210344839.8A patent/CN102882807B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1159723A (zh) * | 1995-12-21 | 1997-09-17 | 美国电报电话公司 | 网络拥塞的测量方法和设备 |
EP0841835A2 (en) * | 1996-11-08 | 1998-05-13 | Alcatel | Rearrangement procedure for a multirate/multicast SDH/SONET cross-connect |
CN101170485B (zh) * | 2006-10-27 | 2011-05-11 | 中兴通讯股份有限公司 | 在三级clos交叉网络中配置多层粒度业务路由的方法 |
CN101227394A (zh) * | 2008-02-18 | 2008-07-23 | 中兴通讯股份有限公司 | 一种大容量无阻塞路由矩阵 |
WO2011157304A1 (en) * | 2010-06-18 | 2011-12-22 | Telefonaktiebolaget L M Ericsson (Publ) | Switching matrix for interconnecting an access network and operator networks |
Non-Patent Citations (2)
Title |
---|
孙倩等: ""支持多时隙业务的MTS-Clos网络结构及其建模分析"", 《电子与信息学报》 * |
王晨晨等: ""一种基于全局调度的改进CLOS结构及其调度算法"", 《电子质量 》 * |
Also Published As
Publication number | Publication date |
---|---|
CN102882807B (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9247325B2 (en) | Hybrid electro-optical distributed software-defined data center architecture | |
US20140119728A1 (en) | Method and apparatus for implementing a multi-dimensional optical circuit switching fabric | |
US20030067653A1 (en) | System and method for slot deflection routing | |
CN107210837A (zh) | 基于无源光学的数据中心网络 | |
US9148370B2 (en) | Packet-switching node with inner flow equalization | |
CN105162721A (zh) | 基于软件定义网络的全光互连数据中心网络系统及数据通信方法 | |
CN105207859A (zh) | 一种电力通信网络中otn网络规划设置方法 | |
EP2432157B1 (en) | Method and system for implementing alternate routes in optical transmission network of wavelength switched optical network (wson) | |
CN101227394B (zh) | 一种大容量无阻塞路由矩阵 | |
Xu et al. | PODCA: A passive optical data center architecture | |
US7590110B2 (en) | Balanced high-capacity switch | |
JP2003533106A (ja) | 通信ネットワーク | |
US7072353B2 (en) | Flexible bandwidth allocation in high-capacity grooming switches | |
JP2002325087A (ja) | 非閉塞スイッチシステム及びそのスイッチング方法並びにプログラム | |
CN102882807B (zh) | 一种基于资源不可用约束的连接请求路由和重排方法 | |
Ohsita et al. | Optical data center networks: Architecture, performance, and energy efficiency | |
Truong-Huu et al. | Dynamic flow scheduling with uncertain flow duration in optical data centers | |
Shu et al. | Programmable OPS/OCS hybrid data centre network | |
Khodashenas et al. | A feedback-based hybrid OBS/OCS architecture with fast-over-slow capability | |
Hong et al. | Hybrid routing and adaptive spectrum allocation for flex-grid optical interconnects | |
Lin et al. | From small to large: Clos network for scaling all-optical switching | |
US20090028140A1 (en) | Switching device, switching method, and switch control program | |
JP3677550B2 (ja) | 定期的に設備拡張するネットワーク構成方法 | |
Yu et al. | Thor: a server-level hybrid switching data center network with heterogeneous topologies | |
Comellas et al. | Optical Interconnection for Datacenters: To Switch or Not to Switch |
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 |
Granted publication date: 20141210 Termination date: 20170918 |
|
CF01 | Termination of patent right due to non-payment of annual fee |