CN103475597A - Network switching scheduling method based on matrix decomposition - Google Patents
Network switching scheduling method based on matrix decomposition Download PDFInfo
- Publication number
- CN103475597A CN103475597A CN2013103856014A CN201310385601A CN103475597A CN 103475597 A CN103475597 A CN 103475597A CN 2013103856014 A CN2013103856014 A CN 2013103856014A CN 201310385601 A CN201310385601 A CN 201310385601A CN 103475597 A CN103475597 A CN 103475597A
- Authority
- CN
- China
- Prior art keywords
- matrix
- decomposition
- algorithm
- order
- degree
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于矩阵分解的网络交换调度方法,在业务流量到达已知的情况下,将度为m=2r,r为大于1的正整数、阶数为N的业务矩阵采用扩展算法扩展成为度为2、阶数P=N×m/2的扩展矩阵,对P阶扩展矩阵采用环形算法进行分解得到度为1的P阶分解矩阵,对P阶分解矩阵压缩成为度为2的P/2阶压缩矩阵,再次对P/2阶压缩采用环形算法分解得到度为1的P/2阶分解矩阵,重复对分解矩阵进行压缩和再分解,直到P/2=N,即分解矩阵与业务矩阵阶数相同,则矩阵分解完毕,此时得到的分解矩阵即为网络交换调度所需的连接矩阵。本发明适用于无阻塞交换网络,针对度为m=2r,r为大于1的正整数的业务矩阵,能够采用简单易行的环形算法进行矩阵分解,从而实现低复杂度的网络交换调度。
The invention discloses a network switching scheduling method based on matrix decomposition. In the case that the arrival of business traffic is known, the business matrix with degree m=2 r , r being a positive integer greater than 1, and order N is extended The algorithm is expanded into an extended matrix with a degree of 2 and order P=N×m/2. The P-order extended matrix is decomposed by a ring algorithm to obtain a P-order decomposition matrix with a degree of 1, and the P-order decomposition matrix is compressed into a degree of 2. The P/2-order compression matrix of the P/2-order compression matrix is decomposed by the ring algorithm again to obtain the P/2-order decomposition matrix with a degree of 1, and the decomposition matrix is compressed and re-decomposed repeatedly until P/2=N, that is, the decomposition If the order of the matrix is the same as that of the service matrix, the matrix is decomposed, and the decomposed matrix obtained at this time is the connection matrix required for network switching scheduling. The invention is suitable for non-blocking switching network, and for the service matrix whose degree is m= 2r , where r is a positive integer greater than 1, the simple and easy ring algorithm can be used to decompose the matrix, so as to realize low-complexity network switching scheduling.
Description
技术领域technical field
本发明属于网络交换调度技术领域,更为具体地讲,涉及一种基于矩阵分解的网络交换调度方法。The invention belongs to the technical field of network switching scheduling, and more specifically relates to a network switching scheduling method based on matrix decomposition.
背景技术Background technique
多级交换结构能提供更多的交换接口满足大量用户接入,提供更高的带宽满足用户服务质量,已成为了大容量交换结构的首选。多级多平面(Multi-Planeand Multi-Stage,MPMS)结构,属于多级交换结构的特例,是对多级交换结构的中间模块扩展为交换平面而来。图1是MPMS交换结构示意图。平面内部可以是单级空分交换结构,也可以是多级交换结构。根据到达流量是否已知,交换调度算法分为两种不同的处理方式。若到达流量未知,可以将调度抽象为二分图匹配问题并使用二分图匹配算法来解决。若到达流量已知,可以使用矩阵分解算法。The multi-level switching structure can provide more switching interfaces to meet a large number of user access, and provide higher bandwidth to meet user service quality, and has become the first choice for large-capacity switching structures. The Multi-Plane and Multi-Stage (MPMS) structure is a special case of the multi-level switching structure, which is the extension of the intermediate module of the multi-level switching structure to the switching plane. Fig. 1 is a schematic diagram of MPMS switching structure. The inside of the plane can be a single-stage space division switch structure or a multi-stage switch structure. According to whether the arrival traffic is known, the switching scheduling algorithm is divided into two different processing methods. If the arrival flow is unknown, the scheduling can be abstracted as a bipartite graph matching problem and solved using a bipartite graph matching algorithm. If the arrival flow is known, the matrix factorization algorithm can be used.
为了更好的说明矩阵分解算法,首先定义几个名词概念。In order to better explain the matrix factorization algorithm, we first define several noun concepts.
定义1:矩阵的度:矩阵中每行元素之和与每列元素之和的最大值m是矩阵的度。假设有A×B的矩阵Matrix[i,j],0≤i≤A-1,0≤j≤B-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中选一个。对于MPMS而言,中间级模块指的是交换平面。Definition 2: Business matrix H m , where each element H m [i, j], 0≤i, j≤N-1, represents the number of services whose input module number i is connected to output module number j, and m represents the number of services in the business matrix Degree, that is, the number of intermediate-level modules, represents the maximum number of services that can be supported in the multi-level switching structure; N represents the number of input/output modules. It can be seen that the value of the element H m [i, j] in the service matrix can only be selected from one of 0, 1, 2...m-1, m. For MPMS, the intermediate module refers to the switching plane.
定义3:连接矩阵1≤k≤m,其中每个元素0≤i,j≤N-1,代表输入模块i是否有业务经过中间级模块k连接到输出模块j,其元素值为1代表有连接,元素值为0代表无连接。其中下标1表示连接矩阵的度,即每个中间级模块k中每个输入模块到每个输出模块最多只存在一个业务。Definition 3:
矩阵分解算法的基本思想是在统筹全局业务到达情况下,对业务进行的一次统一路由分配。首先根据到达的全局业务情况,统计得出一个业务矩阵Hm。矩阵分解算法的目标是对全局业务一次统一路由分配,即把业务矩阵Hm分解成为m个子矩阵E1,由Hall定理可得知,在无阻塞交换结构中,矩阵分解算法一定能分解出所有的子矩阵。属于无阻塞交换结构有:单级Crossbar(交叉开关矩阵),多级MPMS、Banyan(榕树网络)、Bense、Clos等,均可采用矩阵分解算法进行路由分配。以MPMS为例,如图1所示,MPMS路由调度的第一步就是把输入端到达的业务均匀下发到各个平面。矩阵分解算法对业务矩阵分解得到各个子矩阵,其中每个子矩阵就可以作为MPMS中每个平面的路由设置依据。The basic idea of the matrix decomposition algorithm is to conduct a unified routing assignment for the business under the condition of coordinating the arrival of the global business. Firstly, a business matrix H m is obtained by statistics according to the arriving global business conditions. The goal of the matrix decomposition algorithm is to assign a unified route to the global business, that is, to decompose the business matrix H m into m sub-matrices E 1 , It can be known from Hall's theorem that in a non-blocking switching structure, the matrix decomposition algorithm must be able to decompose all sub-matrices. Non-blocking switching structures include: single-stage Crossbar (crossbar switch matrix), multi-stage MPMS, Banyan (banyan network), Bense, Clos, etc., all of which can use matrix decomposition algorithm for routing allocation. Taking MPMS as an example, as shown in Figure 1, the first step of MPMS routing scheduling is to evenly distribute the services arriving at the input end to each plane. The matrix decomposition algorithm decomposes the service matrix to obtain various sub-matrices, and each sub-matrix can be used as the routing setting basis for each plane in the MPMS.
现有矩阵分解算法中,以环形算法为代表,不需重排调整或回溯就能实现对业务矩阵分解出所有子矩阵,其时间复杂度随着端口数的增加线性增加。在文献[S.Andresen,“The looping algorithm extended to base2t rearrangeableswitching networks,”IEEE Trans.Commun.vol.COM-25,pp.1057-1063,Oct.1977]中Andresen首次在可重排无阻塞结构中采用环形算法,基本步骤是先在业务矩阵中寻找一个未标记元素并标记为0;其次在同列寻找最后一个未标记元素并标记为1;紧接着在同行寻找最后一个未标记元素并标记为0,若此时未找到最后一个未标记元素则重新选择其他行的未标记元素。环形算法一次处理业务矩阵能得到两个子矩阵,即环形算法适用于度为2的业务矩阵。其具体实现步骤包括:Among the existing matrix decomposition algorithms, represented by the ring algorithm, it is possible to decompose the business matrix into all sub-matrices without rearranging adjustments or backtracking, and its time complexity increases linearly with the number of ports. In the literature [S.Andresen, "The looping algorithm extended to base2t rearrangeable switching networks," IEEE Trans.Commun.vol.COM-25, pp.1057-1063, Oct.1977] Andresen was the first to rearrange non-blocking structures in Using the ring algorithm, the basic steps are to first find an unmarked element in the business matrix and mark it as 0; then find the last unmarked element in the same column and mark it as 1; then find the last unmarked element in the same row and mark it as 0 , if the last unmarked element is not found at this time, reselect the unmarked elements of other rows. The ring algorithm processes the business matrix at one time to obtain two sub-matrices, that is, the ring algorithm is suitable for business matrices with a degree of 2. Its specific implementation steps include:
步骤1、根据业务流量到达情况,初始化业务矩阵各个元素H2[i,j],0≤i,j≤N-1。初始化所有连接矩阵1≤k≤2,标记连接矩阵中每个元素值为0。
步骤2、在业务矩阵H2中从元素H2[0,0]开始逐行逐列遍历各个元素。
2.1)若寻找所有行未找到非零元素,则环形算法结束。2.1) If no non-zero elements are found in all rows, the ring algorithm ends.
2.2)若寻找到元素H2[i,j]为非零值2,则更新连接矩阵和业务矩阵相应元素 H2[i,j]=0后,重新执行步骤2。2.2) If the element H 2 [i,j] is found to be
2.3)若寻找到元素H2[i,j]为非零值1,则更新连接矩阵和业务矩阵相应元素H2[i,j]=0后,继续执行步骤3。2.3) If the element H 2 [i,j] is found to be
步骤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为例,对环形算法的实现步骤进行说明。It can be seen that the ring algorithm selects a starting point in
图2是环形算法对业务矩阵H2的处理示意图。如图2所示,环形算法处理图2中业务矩阵,标号“①、②”分别代表分配给两个连接矩阵首先,执行步骤2寻找到一个非零值1作为环开始的起点Start,箭头指向代表了处理顺序,最终回到起始点一个环遍历结束End,再执行步骤2寻找下一个环的起点。从图2可看出,由于此处的业务矩阵H2为满配矩阵,因此在一个环遍历完成之后,已经把矩阵中的非零元素处理完,所以就寻找不到下一个环的起点,环形算法分解结束。Fig. 2 is a schematic diagram of processing the business matrix H 2 by the ring algorithm. As shown in Figure 2, the ring algorithm processes the business matrix in Figure 2, and the labels "①, ②" respectively represent the two connection matrices assigned to First, perform
在大容量交换结构中,比如MPMS、支持多时隙的多级交换结构属于无阻塞交换结构,可以采用矩阵分解算法路由,统计出来的业务矩阵的度分别与平面数、时隙数相等。然而,环形算法受制于业务矩阵的度为2,为了克服这种限制,寻找业务矩阵的度大于2的矩阵分解策略,人们做了大量的研究。然而,后期研究得到的大多矩阵分解策略需要回溯或者重排调整,脱离了环形算法,而且算法实现复杂度过高,不具有实现性。In large-capacity switching structures, such as MPMS and multi-stage switching structures that support multiple time slots, they are non-blocking switching structures. Matrix decomposition algorithms can be used for routing. The calculated degree of the service matrix is equal to the number of planes and the number of time slots. However, the ring algorithm is limited by the degree of business matrix being 2. In order to overcome this limitation, people have done a lot of research to find a matrix decomposition strategy whose degree of business matrix is greater than 2. However, most of the matrix decomposition strategies obtained in later studies require backtracking or rearrangement adjustments, which are separated from the ring algorithm, and the algorithm implementation complexity is too high to be realizable.
发明内容Contents of the invention
本发明的目的在于克服现有技术的不足,提供一种低复杂度的基于矩阵分解的网络交换调度方法,对于无阻塞交换网络中满足度m=2r,r为大于1的正整数的业务矩阵,通过矩阵分解得到连接矩阵,实现网络交换调度。The purpose of the present invention is to overcome the deficiencies of the prior art and provide a low-complexity network switching scheduling method based on matrix decomposition. For non-blocking switching networks, the satisfaction degree m=2 r , where r is a positive integer greater than 1 Matrix, the connection matrix is obtained through matrix decomposition, and the network switching scheduling is realized.
为实现上述发明目的,本发明基于矩阵分解的网络交换调度方法,其特征在于包括:In order to realize the above-mentioned purpose of the invention, the present invention is based on matrix decomposition network switching dispatching method, is characterized in that comprising:
S1:网络中输入模块和输出模块的个数均为N,根据业务流量到达情况,统计得到N阶业务矩阵Hm,其中,m表示业务矩阵Hm的度并满足2的幂指数即m=2r,r为大于1的正整数;业务矩阵Hm的每个元素Hm[i,j]表示输入模块i连接到输出模块j的业务数,i,j的取值范围为0≤i≤N-1,0≤j≤N-1;S1: The number of input modules and output modules in the network is both N. According to the arrival of business traffic, the N-order business matrix H m is obtained statistically, where m represents the degree of the business matrix H m and satisfies the power of 2, that is, m= 2 r , r is a positive integer greater than 1; each element H m [i,j] of the business matrix H m represents the number of services connected from input module i to output module j, and the value range of i, j is 0≤i ≤N-1,0≤j≤N-1;
S2:采用扩展算法对业务矩阵Hm进行扩展,得到度为2的P阶扩展矩阵M2,其中,P=N×m/2;M2[x,y]表示扩展矩阵M2中的元素,x,y的取值范围为0≤x≤P-1,0≤y≤P-1;S2: Use the extension algorithm to extend the business matrix H m to obtain a P-order extension matrix M 2 with a degree of 2, where P=N×m/2; M 2 [x,y] represents the elements in the extension matrix M 2 , the value range of x, y is 0≤x≤P-1, 0≤y≤P-1;
S3:采用环形算法对扩展矩阵M2进行矩阵分解,分解得到两个P阶分解矩阵此时分解矩阵个数K=2;S3: Use the ring algorithm to decompose the extended matrix M 2 , and decompose to obtain two P-order decomposition matrices At this time, the number of decomposition matrices K=2;
S4:采用压缩算法分别对K个P阶分解矩阵k=1,2,…,K进行压缩,得到K个度为2的P/2阶压缩矩阵 S4: Use the compression algorithm to decompose the K P-order matrix respectively k=1,2,...,K for compression, get K P/2 order compression matrices with
S5:再次采用环形算法对K个压缩矩阵中的每个压缩矩阵分别进行矩阵分解,得到2K个分解矩阵 S5: Use the ring algorithm again to compress K matrices Each compressed matrix in is decomposed separately to get 2K decomposed matrices
S6:判断分解矩阵的阶数P/2是否等于业务矩阵阶数N,如果等于,矩阵分解结束,得到网络交换调度的连接矩阵如果不等于,令P=P/2,K=2K,返回步骤S4。S6: Judgment decomposition matrix Is the order P/2 of the business matrix equal to the order N of the business matrix? If so, the matrix decomposition ends, and the connection matrix of network switching scheduling is obtained. If not, set P=P/2, K=2K, and return to step S4.
其中,步骤S2中扩展算法包括:Wherein, in the step S2, the extended algorithm includes:
S2.1:业务矩阵Hm的每行、每列对应一个标志数Ri、Lj,初始化所有标志数为0;扩展矩阵M2的每行、每列对应一个计数器初始化所有计数器为0;初始化扩展矩阵M2中每个元素M2[x,y]=0;S2.1: Each row and column of the business matrix H m corresponds to a flag number R i , L j , and all flag numbers are initialized to 0; each row and column of the extended matrix M 2 corresponds to a counter Initialize all counters to 0; initialize each element M 2 [x,y]=0 in the extended matrix M 2 ;
S2.2:逐行逐列遍历业务矩阵Hm中的每个元素Hm[i,j],如果Hm[i,j]为零值,进入步骤S2.6,如果Hm[i,j]为非零值,进入步骤S2.3;S2.2: Traverse each element H m [i, j] in the business matrix H m row by row, if H m [i, j] is zero, go to step S2.6, if H m [i, j] is a non-zero value, enter step S2.3;
S2.3:令 判断计数器是否等于2,如果不是,不作任何操作,如果是,标志数Ri=Ri+1并更新x;同时判断计数器是否等于2,如果不是,不作任何操作,如果是,标志数Lj=Lj+1并更新y;进入步骤S2.4;S2.3: order judgment counter Whether it is equal to 2, if not, do nothing, if yes, mark number R i =R i +1 and update x; at the same time judge the counter Whether it is equal to 2, if not, do not do any operation, if yes, sign number L j =L j +1 and update y; enter step S2.4;
S2.4:令M2[x,y]=M2[x,y]+1,更新计数器 Hm[i,j]=Hm[i,j]-1;S2.4: let M 2 [x,y]=M 2 [x,y]+1, update the counter Hm [i,j]= Hm [i,j]-1;
S2.5:判断Hm[i,j]是否为0,如果不为0,重复步骤S2.3;如果为0,进入步骤S2.6;S2.5: Determine whether H m [i, j] is 0, if not 0, repeat step S2.3; if it is 0, enter step S2.6;
S2.6:判断业务矩阵Hm的元素是否遍历完毕,如果没有遍历完毕,则返回步骤S2.2遍历下一元素,如果遍历完毕,则业务矩阵扩展结束。S2.6: Determine whether the elements of the business matrix H m have been traversed. If not, return to step S2.2 to traverse the next element. If the traverse is completed, the expansion of the business matrix ends.
其中,步骤S4中的压缩算法的具体方法为:将分解矩阵按两行两列进行分块,得到P/2阶的分块矩阵,将分块矩阵中的每个子矩阵替换为子矩阵中所有元素的和,得到P/2阶压缩矩阵 Wherein, the specific method of the compression algorithm in step S4 is: decompose matrix Block by two rows and two columns to obtain a block matrix of order P/2, replace each sub-matrix in the block matrix with the sum of all elements in the sub-matrix, and obtain a compressed matrix of order P/2
本发明基于矩阵分解的网络交换调度方法,在业务流量到达已知的情况下,将度为m=2r,r为大于1的正整数、阶数为N的业务矩阵采用扩展算法扩展成为度为2、阶数P=N×m/2的扩展矩阵,对P阶扩展矩阵采用环形算法进行分解得到度为1的P阶分解矩阵,对P阶分解矩阵压缩成为度为2的P/2阶压缩矩阵,再次对P/2阶压缩采用环形算法分解得到度为1的P/2阶分解矩阵,重复对分解矩阵进行压缩和再分解,直到P/2=N,即分解矩阵与业务矩阵阶数相同,则矩阵分解完毕,此时得到的分解矩阵即为网络交换调度所需的连接矩阵。本发明适用于无阻塞交换网络,突破了环形算法对于业务矩阵度为2的限制,也无需进行回溯、重排调整等复杂度较高的算法,而是采用环形算法、业务矩阵扩展、分解矩阵压缩的结合,使度为m=2r,r为大于1的正整数的业务矩阵能够采用简单易行的环形算法进行矩阵分解,从而实现低复杂度的网络交换调度。The network switching scheduling method based on matrix decomposition of the present invention, in the case of known traffic arrival, expands the business matrix with degree m= 2r , r being a positive integer greater than 1, and order N into degree It is an expansion matrix of 2, order P=N×m/2, decompose the P-order expansion matrix using a ring algorithm to obtain a P-order decomposition matrix with a degree of 1, and compress the P-order decomposition matrix into a P/2 with a degree of 2 The first-order compression matrix is decomposed by the ring algorithm on the P/2-order compression again to obtain the P/2-order decomposition matrix with a degree of 1, and the decomposition matrix is compressed and re-decomposed repeatedly until P/2=N, that is, the decomposition matrix and the business matrix If the order is the same, the matrix decomposition is completed, and the decomposition matrix obtained at this time is the connection matrix required for network switching scheduling. The present invention is applicable to non-blocking switching networks, breaks through the limitation of ring algorithm on the service matrix degree of 2, and does not need to perform backtracking, rearrangement adjustment and other complex algorithms, but uses ring algorithm, service matrix expansion, and decomposition matrix The combination of compression enables the business matrix whose degree is m=2 r , where r is a positive integer greater than 1, to be decomposed by a simple ring algorithm, thereby realizing low-complexity network switching scheduling.
附图说明Description of drawings
图1是MPMS交换结构示意图;Fig. 1 is a schematic diagram of MPMS switching structure;
图2是环形算法对业务矩阵H2的处理示意图;Fig. 2 is the processing schematic diagram of ring algorithm to business matrix H 2 ;
图3是本发明基于矩阵分解的网络交换调度方法的一种具体实施方式流程图;Fig. 3 is a kind of specific implementation flow chart of the network switching scheduling method based on matrix decomposition of the present invention;
图4是业务矩阵扩展算法的一种具体实施方式流程图。Fig. 4 is a flow chart of a specific implementation of the service matrix extension algorithm.
具体实施方式Detailed ways
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。Specific embodiments of the present invention will be described below in conjunction with the accompanying drawings, so that those skilled in the art can better understand the present invention. It should be noted that in the following description, when detailed descriptions of known functions and designs may dilute the main content of the present invention, these descriptions will be omitted here.
图3是本发明基于矩阵分解的网络交换调度方法的一种具体实施方式流程图。如图3所示,本发明的具体实施步骤包括:Fig. 3 is a flow chart of a specific embodiment of the network switching scheduling method based on matrix decomposition in the present invention. As shown in Figure 3, the specific implementation steps of the present invention include:
S301:网络中输入模块和输出模块的个数均为N,根据业务流量到达情况,统计得到N阶业务矩阵Hm,其中每个元素Hm[i,j],0≤i≤N-1,0≤j≤N-1表示输入模块i连接到输出模块j的业务数,m表示业务矩阵的度,且m=2r,r为大于1的正整数,即本发明仅针对度为m=2r,r为大于1的正整数的业务矩阵。S301: The number of input modules and output modules in the network is N, and according to the arrival of business traffic, an N-order business matrix H m is obtained through statistics, where each element H m [i,j], 0≤i≤N-1 , 0≤j≤N-1 indicates the number of services connected from input module i to output module j, m indicates the degree of the service matrix, and m=2 r , r is a positive integer greater than 1, that is, the present invention only targets the degree m =2 r , r is a service matrix of a positive integer greater than 1.
S302:采用扩展算法对业务矩阵Hm进行扩展,得到度为2的P阶扩展矩阵M2,P=N×m/2,M2[x,y],0≤x,y≤P-1是扩展矩阵M2中的元素。S302: Expand the business matrix H m by using the expansion algorithm to obtain a P-order expansion matrix M 2 with a degree of 2, P=N×m/2, M 2 [x,y], 0≤x, y≤P-1 is an element in the expansion matrix M2 .
图4是业务矩阵扩展算法的一种具体实施方式流程图。如图4所示,业务矩阵扩展算法包括步骤:Fig. 4 is a flow chart of a specific implementation of the service matrix extension algorithm. As shown in Figure 4, the business matrix extension algorithm includes steps:
S401:业务矩阵Hm的每行、每列对应一个标志数Ri、Lj,初始化所有标志数为0;扩展矩阵M2的每行、每列对应一个计数器初始化所有计数器为0;初始化扩展矩阵M2中每个元素M2[x,y]=0;初始化i=0,j=0。S401: Each row and column of the business matrix H m corresponds to a flag number R i and L j , and all flag numbers are initialized to 0; each row and column of the extended matrix M 2 corresponds to a counter Initialize all counters to 0; initialize each element M 2 [x,y]=0 in the extended matrix M 2 ; initialize i=0, j=0.
S402:判断元素Hm[i,j]是否为零值,如果Hm[i,j]为零值,进入步骤S410,如果Hm[i,j]为非零值,进入步骤S403。S402: Determine whether the element H m [i, j] is zero, if H m [i, j] is zero, go to step S410, if H m [i, j] is non-zero, go to step S403.
5403:令
S404:判断计数器是否等于2,如果不是,不作任何操作,直接进入步骤S408;如果是,进入步骤S405。S404: Judgment counter Whether it is equal to 2, if not, do not perform any operation, and directly go to step S408; if yes, go to step S405.
S405:标志数Ri=Ri+1,更新进入步骤S408。S405: number of flags R i =R i +1, update Go to step S408.
S406:判断计数器是否等于2,如果不是,不作任何操作,直接进入步骤S408;如果是,进入步骤S407。S406: Judgment counter Whether it is equal to 2, if not, do not perform any operation, and directly go to step S408; if yes, go to step S407.
S407:标志数Lj=Lj+1,更新进入步骤S408。S407: number of flags L j =L j +1, update Go to step S408.
S408:令M2[x,y]=M2[x,y]+1,更新计数器 Hm[i,j]=Hm[i,j]-1。S408: Let M 2 [x,y]=M 2 [x,y]+1, update the counter Hm [i,j]= Hm [i,j]-1.
S409:判断Hm[i,j]是否为0,如果不为0,返回步骤S403,如果为0,进入步骤S410。S409: Determine whether H m [i, j] is 0, if not 0, return to step S403, if it is 0, enter step S410.
S410:判断是否j=N-1,如果不是,说明本行元素未遍历完,进入步骤S411;如果是,说明本行元素已经遍历完,进入步骤S412。S410: Determine whether j=N-1, if not, it means that the elements of this row have not been traversed, and go to step S411; if yes, it means that the elements of this row have been traversed, and go to step S412.
S411:j=j+1,即遍历本行下一个元素,返回步骤S402。S411: j=j+1, that is, traverse the next element in the row, and return to step S402.
S412:i=i+1,j=0,即进入下一行开始遍历,进入步骤S413。S412: i=i+1, j=0, that is, enter the next line to start traversing, and enter step S413.
S413:判断是否i=N,如果不是,说明业务矩阵Hm的所有元素还没有遍历完毕,返回步骤S402,遍历下一个元素;如果是,说明业务矩阵Hm的所有元素已经遍历完毕,则业务矩阵扩展结束。S413: Determine whether i=N, if not, it means that all elements of the business matrix H m have not been traversed yet, return to step S402, and traverse the next element; if yes, it means that all elements of the business matrix H m have been traversed, then the business Matrix expansion is over.
采用步骤S401至步骤S413的业务矩阵扩展算法,即可将度为m的业务矩阵Hm扩展为度为2的扩展矩阵M2。By adopting the business matrix extension algorithm from step S401 to step S413, the business matrix H m with degree m can be expanded into an
S303:采用环形算法对扩展矩阵M2进行矩阵分解,分解得到两个P阶分解矩阵此时分解矩阵个数K=2。S303: Decompose the extended matrix M 2 using the ring algorithm, and decompose to obtain two P-order decomposition matrices At this time, the number of decomposition matrices K=2.
S304:采用压缩算法分别对K个P阶分解矩阵k=1,2,…,K进行压缩,得到K个度为2的P/2阶压缩矩阵 S304: Using a compression algorithm to decompose the K P-order matrices respectively k=1,2,...,K for compression, get K P/2 order compression matrices with
压缩算法的具体方法为:将分解矩阵按两行两列进行分块,得到P/2阶的分块矩阵,将分块矩阵中的每个子矩阵替换为子矩阵中所有元素的和,得到P/2阶压缩矩阵 The specific method of the compression algorithm is: decompose the matrix Block by two rows and two columns to obtain a block matrix of order P/2, replace each sub-matrix in the block matrix with the sum of all elements in the sub-matrix, and obtain a compressed matrix of order P/2
S305:再次采用环形算法对K个压缩矩阵中的每个压缩矩阵分别进行矩阵分解,得到2K个分解矩阵 S305: Using the ring algorithm again to compress the K matrices Each compressed matrix in is decomposed separately to get 2K decomposed matrices
S306:判断分解矩阵的阶数P/2是否等于业务矩阵阶数N,如果等于,矩阵分解结束,网络交换调度的连接矩阵如果不等于,令P=P/2,K=2K返回步骤S304。S306: Determine the decomposition matrix Is the order P/2 of the business matrix equal to the order N of the business matrix? If so, the matrix decomposition ends, and the connection matrix of the network switching scheduling If not, set P=P/2, K=2K and return to step S304.
实施例Example
下面采用度为m=22=4、阶数N=8的满配业务矩阵H4为例,描述本发明的实施过程。The implementation process of the present invention will be described below by taking the fully configured service matrix H 4 with degree m=2 2 =4 and order N=8 as an example.
采用本发明提出的扩展算法对业务矩阵H4进行扩展,得到度为2、阶数P=N×m/2=16的扩展矩阵M2。用一个输入箭头表示一行被抽象为两行,同样用输出箭头表示一列被抽象为两列。The service matrix H 4 is extended by using the extension algorithm proposed by the present invention to obtain an extension matrix M 2 with
可见,扩展矩阵M2度为2,满足环形算法要求,可以直接采用环形算法进行分解,分解后得到K=2个分解矩阵 It can be seen that the degree 2 of the extended matrix M is 2, which meets the requirements of the ring algorithm, and can be directly decomposed by the ring algorithm, and K=2 decomposition matrices can be obtained after decomposition
接下来对分解矩阵进行压缩处理。以为例,按照本发明提出的压缩算法,将按两行两列进行分块,得到8阶的分块矩阵,将分块矩阵中的每个子矩阵替换为子矩阵中所有元素的和,得到8阶压缩矩阵 Next, for the decomposition matrix Perform compression processing. by For example, according to the compression algorithm proposed by the present invention, the Block by two rows and two columns to obtain an 8-order block matrix, replace each sub-matrix in the block matrix with the sum of all elements in the sub-matrix, and obtain an 8-order compressed matrix
同理可得,分解矩阵得到的压缩矩阵为:Similarly, we can decompose the matrix The resulting compression matrix for:
可见,经过压缩得到的两个压缩矩阵的度为2,适用于环形算法。接下来,分别对两个压缩矩阵进行再次环形算法分解,得到4个分解矩阵 It can be seen that the two compression matrices obtained after compression The degree of 2 is suitable for the ring algorithm. Next, for the two compression matrices respectively Decompose the ring algorithm again to get 4 decomposition matrices
此时4个分解矩阵的阶数为8,与业务矩阵H4的阶数一致,矩阵分解结束,网络交换调度的连接矩阵
如果业务矩阵的阶数为4,而此时得到的分解矩阵阶数为8,还需要对4个分解矩阵进行再处理。即将4个度为1的8阶分解矩阵压缩为4个度为2的4阶压缩矩阵再对这4个压缩矩阵采用环形算法进行分解,即可得到8个度为1的4阶分解矩阵从而完成矩阵分解。If the order of the business matrix is 4, and the order of the decomposition matrix obtained at this time is 8, the 4 decomposition matrices need to be reprocessed. That is, four 8th-order decomposition matrices with a degree of 1 Compressed into 4
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。Although the illustrative specific embodiments of the present invention have been described above, so that those skilled in the art can understand the present invention, it should be clear that the present invention is not limited to the scope of the specific embodiments. For those of ordinary skill in the art, As long as various changes are within the spirit and scope of the present invention defined and determined by the appended claims, these changes are obvious, and all inventions and creations using the concept of the present invention are included in the protection list.
Claims (3)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310385601.4A CN103475597B (en) | 2013-08-30 | 2013-08-30 | A kind of network exchange dispatching method based on matrix decomposition |
PCT/CN2014/072067 WO2015027687A1 (en) | 2013-08-30 | 2014-02-13 | Network switching scheduling method based on matrix decomposition |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310385601.4A CN103475597B (en) | 2013-08-30 | 2013-08-30 | A kind of network exchange dispatching method based on matrix decomposition |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103475597A true CN103475597A (en) | 2013-12-25 |
CN103475597B CN103475597B (en) | 2016-03-23 |
Family
ID=49800302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310385601.4A Expired - Fee Related CN103475597B (en) | 2013-08-30 | 2013-08-30 | A kind of network exchange dispatching method based on matrix decomposition |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103475597B (en) |
WO (1) | WO2015027687A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944839A (en) * | 2014-04-17 | 2014-07-23 | 电子科技大学 | Same-way exchange scheduling method |
CN103944840A (en) * | 2014-04-17 | 2014-07-23 | 电子科技大学 | Two-way exchange scheduling method |
WO2015027687A1 (en) * | 2013-08-30 | 2015-03-05 | 电子科技大学 | Network switching scheduling method based on matrix decomposition |
CN112367272A (en) * | 2020-11-09 | 2021-02-12 | 中国电子科技集团公司第二十研究所 | Quick packaging method based on matrix coordinates |
Citations (3)
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 (en) * | 2005-11-28 | 2006-05-03 | 西安邮电学院 | A Routing Method |
CN102129482A (en) * | 2010-01-13 | 2011-07-20 | 电子科技大学 | Chaotic discrete particle swarm optimization-based network on chip mapping method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1185820C (en) * | 2002-07-09 | 2005-01-19 | 华中科技大学 | NXN light exchanging structure in full photo exchanging nodal point |
CN103475597B (en) * | 2013-08-30 | 2016-03-23 | 电子科技大学 | A kind of network exchange dispatching method based on matrix decomposition |
-
2013
- 2013-08-30 CN CN201310385601.4A patent/CN103475597B/en not_active Expired - Fee Related
-
2014
- 2014-02-13 WO PCT/CN2014/072067 patent/WO2015027687A1/en active Application Filing
Patent Citations (3)
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 (en) * | 2005-11-28 | 2006-05-03 | 西安邮电学院 | A Routing Method |
CN102129482A (en) * | 2010-01-13 | 2011-07-20 | 电子科技大学 | Chaotic discrete particle swarm optimization-based network on chip mapping method |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015027687A1 (en) * | 2013-08-30 | 2015-03-05 | 电子科技大学 | Network switching scheduling method based on matrix decomposition |
CN103944839A (en) * | 2014-04-17 | 2014-07-23 | 电子科技大学 | Same-way exchange scheduling method |
CN103944840A (en) * | 2014-04-17 | 2014-07-23 | 电子科技大学 | Two-way exchange scheduling method |
CN103944840B (en) * | 2014-04-17 | 2017-02-15 | 电子科技大学 | Two-way exchange scheduling method |
CN103944839B (en) * | 2014-04-17 | 2017-02-22 | 电子科技大学 | Same-way exchange scheduling method |
CN112367272A (en) * | 2020-11-09 | 2021-02-12 | 中国电子科技集团公司第二十研究所 | Quick packaging method based on matrix coordinates |
Also Published As
Publication number | Publication date |
---|---|
CN103475597B (en) | 2016-03-23 |
WO2015027687A1 (en) | 2015-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103475597B (en) | A kind of network exchange dispatching method based on matrix decomposition | |
Yang et al. | Nonblocking broadcast switching networks | |
US6696917B1 (en) | Folded Clos architecture switching | |
US9842180B2 (en) | NoC timing power estimating device and method thereof | |
Padmanabhan | Design and analysis of even-sized binary shuffle-exchange networks for multiprocessors | |
CN103825845A (en) | Matrix decomposition-based packet scheduling algorithm of reconfigurable VOQ (virtual output queuing) structure switch | |
Quinton et al. | Concentrator access networks for programmable logic cores on SoCs | |
Hanawa et al. | Multistage interconnection networks with multiple outlets | |
US7065076B1 (en) | Modular scalable switching networks | |
Zhang et al. | Space‐memory‐memory Clos‐network switches with in‐sequence service | |
Tang et al. | Construction of subexponential-size optical priority queues with switches and fiber delay lines | |
Chen | A survey of multistage interconnection networks in fast packet switches | |
CN103944840B (en) | Two-way exchange scheduling method | |
Huang et al. | The optimal joint sequence design in the feedback-based two-stage switch | |
US8694874B2 (en) | Circuit and method for parallel perforation in rate matching | |
CN106254969B (en) | A Time Slot Allocation Method under the Conditions of Fast Optical Switching | |
CN103944839B (en) | Same-way exchange scheduling method | |
US6721311B1 (en) | Self-routing permutation networks based on de Bruijn digraphs | |
Chakrabarti et al. | VLSI architectures for multidimensional transforms | |
US20140133483A1 (en) | Distributed Switch Architecture Using Permutation Switching | |
Zecharia et al. | A Parallel Algorithm and Scalable Architecture for Routing in Beneš Networks | |
CN110430146A (en) | Cell recombination method and switching fabric based on CrossBar exchange | |
Atalla et al. | Belief-propagation assisted scheduling in input-queued switches | |
Di Lucente et al. | Low-latency photonic packet switches with large number of ports | |
Lin et al. | Minimizing scheduling complexity with a Clos-network space-space-memory (SSM) packet 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160323 Termination date: 20190830 |