快速光交换条件下的时隙分配方法转让专利

申请号 : CN201610643800.4

文献号 : CN106254969A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘良凯顾华玺王琨余晓杉

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种快速光交换条件下的时隙分配方法,主要解决现有云计算数据中心快速光交换的时隙分配计算复杂度高的问题。其实现步骤为:1)通过控制器网络的流量需求,得到流量矩阵;2)利用流量矩阵求出基本状态B0和可用状态集S;3)使用可用状态集S对应的有限种交换机的状态,对流量矩阵A进行分解,并求出各交换机状态的持续时间;4)流量矩阵分解完成后,输出交换机状态和持续时间。本发明降低了快速光交换条件下时隙分配的计算复杂度,提高了链路利用率,可用于在光电混合和全光数据中心对时隙的分配。

权利要求 :

1.一种快速光交换条件下的时隙分配方法,包括:

1)通过控制器与n个架顶交换机ToR之间进行通信,得到网络的流量需求用ai,j其中i和j的取值范围均为1,2,...,n;

2)根据网络的流量需求ai,j得到n阶流量矩阵A;

3)根据流量矩阵A计算得到交换机的基本状态B0和该基本状态B0的可用状态集S:

3a)按字典序搜索流量矩阵A的最大流量,若流量矩阵A中有多个位置流量值相等且最大,则选择最后搜索到的位置作为最大流量,并对该位置赋值为1,对该位置对应行和列的其余位置都赋值为0;

3b)重复3a),直到把流量矩阵A变成一个初始的置换矩阵K0,K0即为A对应的交换机的基本状态B0;

3c)对初始的置换矩阵K0进行一次行变换或列变换,依次得到 个变换后的置换矩阵K1,K2,...,Kn(n-1)/2,变换后的置换矩阵K1,K2,...,Kn(n-1)/2和初始的置换矩阵K0一起构成的集合即基本状态B0对应的可用状态集S;

4)利用可用状态集S对流量矩阵A进行分解;

4a)创建二维数组C,使得C的每一行C0,C1,...,Cn(n-1)/2分别表示一种交换机的状态,用ck,t表示C中第k行第t列的数值,即ck,t=r表示交换机的第k-1种状态Bk-1的第t行第r列的位置为1,Bk-1的第t行其余位置为0;

4b)对于流量矩阵A,用ai,j表示流量矩阵A中第i行第j列的流量值,对C的第一行C1进行初始化,并用C1表示交换机的基本状态B0,按从左至右的顺序搜索C的第一行C1,找到C1中数值等于j的位置,记该位置为第一行的第t0列,即c1,t0的值等于j;

4c)确定交换机的状态,初始化计数器count等于1,对C的第count+1行Ccount+1初始化,使其等于C的第一行C1,然后将C中第count+1行第j列的数值ccount+1,j和第count+1行第t0列的数值 互换,得到C的第count+1行Ccount+1,即对应于交换机状态Bcount;

4d)求解交换机状态Bcount的持续时间,用一个长度为n的一维数组G来存储持续时间,一维数组G中第i位置的数值用gi表示,即gi表示交换机状态Bi的持续时间;

4e)根据流量矩阵A中第i行第j列的流量ai,j和流量矩阵A中第t0行第c1,i列的流量得到交换机状态Bcount的持续时间用gcount:

其中c1,i表示C中第一行第i列的数值;

4f)交换机状态Bcount的持续时间gcount求出后,将交换机状态Bcount和交换机状态的持续时间gcount输出,且给count加1;

5)判断分解过程是否完成,即判断 是否成立,若成立,则完成时隙分配;若不成立,则执行步骤6);

6)判断count≥n是否成立,如果成立,则计算得到新的流量矩阵 返回步骤3),若不成立,返回步骤4)。

2.如权利要求1中所述的方法,其特征在于:步骤2)中根据网络的流量需求ai,j得到n阶流量矩阵A,其表示如下:

对于有n个架顶交换机ToR的网络,ai,j表示的就是架顶交换机ToRi和架顶交换机ToRj之间通信的流量需求,A对角线上的值ai,i表示架顶交换机ToRi内部通信的流量需求,n阶的矩阵A表示整个网络的流量需求。

说明书 :

快速光交换条件下的时隙分配方法

技术领域

[0001] 本发明属于云计算技术领域,涉及一种时隙分配方法,可用于在光电混合和全光数据中心对时隙的分配。

背景技术

[0002] 随着一批新型互联网业务的兴起以及大众接入带宽的快速增长,数据中心网络流量呈现迅速增长的态势。互联网业务对数据中心乃至互联网提出了越来越高的传输质量要求,包括大带宽、安全保障、灵活调度、智能管理等。为此,研究人员提出了基于多层网络架构Clos和Fat Tree,这些架构能够实现带宽的需求,却也带来了过多的开销和网络的复杂度,并且为了保证网络的无阻塞,多层网络的链路利用率较低。对此,研究人员又提出了基于光电混合架构的C-through和Helios架构,利用光电路交换能提供大带宽的特点,来解决流量负载过大的问题。但由于3D-MEMS技术的限制,C-through和Helios架构中的光电路交换配置时间较长,只能用于解决核心层的流量负载过大的问题。
[0003] 在现有的基于3维微机电系统3D-MEMS的光电路交换中,硬件交换时间为10-100ms,软件/控制层测量通信模式及计算新的调度策略所需的时间为100ms-1s,过长的交换时间限制了网络吞吐的提高。而随着技术的发展,交换时间大幅降低,微秒级别的交换成为可能。而在快速光交换条件下,当前的光电路交换控制层面在面对微秒级交换时出现了大量问题,因此,设计一个能够有效利用短生存时间电路的快速控制平面,是光交换机大量部署的关键。Mordia就是一种微秒级的光电路交换机原型,它有24端口,交换时间为
11.5us。Mordia完全由商业器件组成,它使用的是2维的微机电系统2D MEMS的波长选择开关WSS。
[0004] 当前解决快速光交换条件下流量调度的方法就是Mordia架构中使用的Traffic Matrix Scheduling算法TMS。TMS算法利用应用信息和短期需求来估计出流量需求矩阵。对于得到的流量需求矩阵,TMS算法首先会将流量矩阵双随机化,得到一个双随机矩阵,然后利用B-v-N定理,将双随机矩阵分解成一系列置换矩阵的加权和。TMS算法解决了快速光交换下流量调度的问题,却带来了较大的时延和计算复杂度,另外TMS算法只能提供一种可行的配置策略,不能实现网络资源的最大化利用。

发明内容

[0005] 本发明的目的在于针对上述已有技术的不足,提出一种在快速光交换下的时隙分配方法,以降低时隙分配的时延和计算复杂度,优化网络资源的配置,实现对网络资源的最大化利用。
[0006] 本发明的技术方案是这样实现的:
[0007] 为实现上述目的,本发明的技术方案如下:
[0008] (1)通过控制器与n个架顶交换机ToR之间进行通信,得到网络的流量需求用ai,j其中i和j的取值范围均为1,2,...,n;
[0009] (2)根据网络的流量需求ai,j得到n阶流量矩阵A;
[0010] (3)根据流量矩阵A计算得到交换机的基本状态B0和该基本状态B0的可用状态集S:
[0011] 3a)按字典序搜索流量矩阵A的最大流量,若流量矩阵A中有多个位置流量值相等且最大,则选择最后搜索到的位置作为最大流量,并对该位置赋值为1,对该位置对应行和列的其余位置都赋值为0;
[0012] 3b)重复3a),直到把流量矩阵A变成一个初始的置换矩阵K0,K0即为A对应的交换机的基本状态B0;
[0013] 3c)对初始的置换矩阵K0进行一次行变换或列变换,依次得到 个变换后的置换矩阵K1,K2,...,Kn(n-1)/2,变换后的置换矩阵K1,K2,...,Kn(n-1)/2和初始的置换矩阵K0一起构成的集合即基本状态B0对应的可用状态集S;
[0014] (4)利用可用状态集S对流量矩阵A进行分解;
[0015] 4a)创建二维数组C,使得C的每一行C0,C1,...,Cn(n-1)/2分别表示一种交换机的状态,用ck,t表示C中第k行第t列的数值,即ck,t=r表示交换机的第k-1种状态Bk-1的第t行第r列的位置为1,Bk-1的第t行其余位置为0;
[0016] 4b)对于流量矩阵A,用ai,j表示流量矩阵A中第i行第j列的流量值,对C的第一行C1进行初始化,并用C1表示交换机的基本状态B0,按从左至右的顺序搜索C的第一行C1,找到C1中数值等于j的位置,记该位置为第一行的第t0列,即 的值等于j;
[0017] 4c)确定交换机的状态,初始化计数器count等于1,对C的第count+1行Ccount+1初始化,使其等于C的第一行C1,然后将C中第count+1行第j列的数值ccount+1,j和第count+1行第t0列的数值 互换,得到C的第count+1行Ccount+1,即对应于交换机状态Bcount;
[0018] 4d)求解交换机状态Bcount的持续时间,用一个长度为n的一维数组G来存储持续时间,一维数组G中第i位置的数值用gi表示,即gi表示交换机状态Bi的持续时间;
[0019] 4e)根据流量矩阵A中第i行第j列的流量ai,j和流量矩阵A中第t0行第c1,i列的流量得到交换机状态Bcount的持续时间用gcount:
[0020]
[0021] 其中c1,i表示C中第一行第i列的数值;
[0022] 4f)交换机状态Bcount的持续时间gcount求出后,将交换机状态Bcount和交换机状态的持续时间gcount输出,且给count加1;
[0023] 5)判断分解过程是否完成,即判断 是否成立,若成立,则完成时隙分配;若不成立,则执行步骤6);
[0024] 6)判断count≥n是否成立,如果成立,则计算得到新的流量矩阵返回步骤3),若不成立,返回步骤4)。
[0025] 本发明由于先根据流量矩阵A计算得到交换机的基本状态B0,再利用该基本状态B0得到可用状态集S,然后利用可用状态集S进行流量分解,明显减少了参与流量分解的交换机状态的数目,相比于现有算法明显降低了时隙分配的计算复杂度,实现了时隙的快速分配。

附图说明

[0026] 图1位本发明使用的场景图。
[0027] 图2为本发明的实现流程图。

具体实施方式

[0028] 参照图1,本发明使用的实际环境,包括光交换机、n个架顶交换机ToR、控制器三个部分,其中n个架顶交换机ToR直接与光交换机相连,控制器Y与光交换机直接相连,控制器负责与架顶交换机ToR之间的通信和对光交换机状态的控制,光交换机负责流量的转发过程,架顶交换机负责流量的发送与接收。
[0029] 参照图2,本发明的实现步骤如下:
[0030] 步骤1,控制器收集各节点的流量需求。
[0031] 通过控制器与架顶交换机ToR之间的通信得到网络的流量需求ai,j,这里假定得到的流量需求无误且忽略各架顶交换机ToR与控制器之间的信息传播时延,其中流量需求ai,j是指第i个架顶交换机ToRi和第j个架顶交换机ToRj之间需要通信的流量需求。
[0032] 步骤2,根据流量需求ai,j,得到流量矩阵A。
[0033] 在得到各ToR的流量需求后,对于有n个ToR的网络,可以用一个n阶的矩阵A来表示整个网络的流量需求,即:
[0034]
[0035] 例如,ai,j表示的就是ToRi和ToRj之间需要通信的流量需求,A对角线上的值ai,i表示架顶交换机ToRi内部通信的流量需求。
[0036] 步骤3,根据流量矩阵A计算基本状态B0和B0的可用状态集S。
[0037] (3.1)按字典序搜索流量矩阵A的最大流量,若流量矩阵A中有多个位置流量值相等且最大,则选择最后搜索到的位置作为最大流量,并对该位置赋值为1,对该位置对应行和列的其余位置都赋值为0;
[0038] (3.2)重复(3.1),直到把流量矩阵A变成一个初始的置换矩阵K0,该K0即为A对应的交换机的基本状态B0;
[0039] (3.3)对初始的置换矩阵K0进行一次行变换或列变换,依次得到 个变换后的置换矩阵,依次编号为K1,K2,...,Kn(n-1)/2,将变换后的置换矩阵K1,K2,...,Kn(n-1)/2与初始的置换矩阵K0进行组合,得到基本状态B0对应的可用状态集:S={K0,K1,K2,...,Kn(n-1)/2}。
[0040] 步骤4,根据可用状态集S,对流量矩阵A进行分解。
[0041] (4.1)创建二维数组C,使得C的每一行C0,C1,...,Cn(n-1)/2分别表示一种交换机的状态,用ck,t表示C中第k行第t列的数值,即ck,t=r表示交换机的第k-1种状态Bk-1的第t行第r列的位置为1,Bk-1的第t行其余位置为0;
[0042] (4.2)对于流量矩阵A,用ai,j表示流量矩阵A中第i行第j列的流量值,对C的第一行C1进行初始化,并用C1表示交换机的基本状态B0,按从左至右的顺序搜索C的第一行C1,找到C1中数值等于j的位置,记该位置为第一行的第t0列,即 的值等于j;
[0043] (4.3)确定交换机的状态,初始化计数器count等于1,对C的第count+1行Ccount+1进行初始化,使其等于C的第一行C1,然后将C中第count+1行第j列的数值ccount+1,j和第count+1行第t0列的数值 互换,得到C的第count+1行Ccount+1,即对应于交换机状态Bcount;
[0044] (4.4)求解交换机状态Bcount的持续时间,用一个长度为n的一维数组G来存储持续时间,一维数组G中第i位置的数值用gi表示,即gi表示交换机状态Bi的持续时间;
[0045] (4.5)根据流量矩阵A中第i行第j列的流量ai,j和流量矩阵A中第t0行第c1,i列的流量 得到交换机状态Bcount的持续时间用gcount:
[0046]
[0047] 其中c1,i表示C中第一行第i列的数值;
[0048] (4.6)交换机状态Bcount的持续时间gcount求出后,将交换机状态Bcount和交换机状态的持续时间gcount输出,给count加1。
[0049] 步骤5,判断分解过程是否完成,即判断 是否成立,若成立,则完成时隙分配;若不成立,则执行步骤6)。
[0050] 步骤6,判断count≥n是否成立,如果成立,则计算得到新的流量矩阵返回步骤3),若不成立,返回步骤4)。
[0051] 以上描述仅是本发明的一个具体实例,并不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。