发明名称 快速光交换条件下的时隙分配方法
摘要 本发明公开了一种快速光交换条件下的时隙分配方法,主要解决现有云计算数据中心快速光交换的时隙分配计算复杂度高的问题。其实现步骤为:1)通过控制器网络的流量需求,得到流量矩阵;2)利用流量矩阵求出基本状态B<sub>0</sub>和可用状态集S;3)使用可用状态集S对应的有限种交换机的状态,对流量矩阵A进行分解,并求出各交换机状态的持续时间;4)流量矩阵分解完成后,输出交换机状态和持续时间。本发明降低了快速光交换条件下时隙分配的计算复杂度,提高了链路利用率,可用于在光电混合和全光数据中心对时隙的分配。
申请公布号 CN106254969A 申请公布日期 2016.12.21
申请号 CN201610643800.4 申请日期 2016.08.08
申请人 西安电子科技大学 发明人 刘良凯;顾华玺;王琨;余晓杉
分类号 H04Q11/00(2006.01)I 主分类号 H04Q11/00(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 一种快速光交换条件下的时隙分配方法,包括:1)通过控制器与n个架顶交换机ToR之间进行通信,得到网络的流量需求用a<sub>i,j</sub>其中i和j的取值范围均为1,2,...,n;2)根据网络的流量需求a<sub>i,j</sub>得到n阶流量矩阵A;3)根据流量矩阵A计算得到交换机的基本状态B<sub>0</sub>和该基本状态B<sub>0</sub>的可用状态集S:3a)按字典序搜索流量矩阵A的最大流量,若流量矩阵A中有多个位置流量值相等且最大,则选择最后搜索到的位置作为最大流量,并对该位置赋值为1,对该位置对应行和列的其余位置都赋值为0;3b)重复3a),直到把流量矩阵A变成一个初始的置换矩阵K<sub>0</sub>,K<sub>0</sub>即为A对应的交换机的基本状态B<sub>0</sub>;3c)对初始的置换矩阵K<sub>0</sub>进行一次行变换或列变换,依次得到<img file="FDA0001072678200000011.GIF" wi="153" he="119" />个变换后的置换矩阵K<sub>1</sub>,K<sub>2</sub>,...,K<sub>n(n‑1)/2</sub>,变换后的置换矩阵K<sub>1</sub>,K<sub>2</sub>,...,K<sub>n(n‑1)/2</sub>和初始的置换矩阵K<sub>0</sub>一起构成的集合即基本状态B<sub>0</sub>对应的可用状态集S;4)利用可用状态集S对流量矩阵A进行分解;4a)创建二维数组C,使得C的每一行C<sub>0</sub>,C<sub>1</sub>,...,C<sub>n(n‑1)/2</sub>分别表示一种交换机的状态,用c<sub>k,t</sub>表示C中第k行第t列的数值,即c<sub>k,t</sub>=r表示交换机的第k‑1种状态B<sub>k‑1</sub>的第t行第r列的位置为1,B<sub>k‑1</sub>的第t行其余位置为0;4b)对于流量矩阵A,用a<sub>i,j</sub>表示流量矩阵A中第i行第j列的流量值,对C的第一行C<sub>1</sub>进行初始化,并用C<sub>1</sub>表示交换机的基本状态B<sub>0</sub>,按从左至右的顺序搜索C的第一行C<sub>1</sub>,找到C<sub>1</sub>中数值等于j的位置,记该位置为第一行的第t<sub>0</sub>列,即c<sub>1,t0</sub>的值等于j;4c)确定交换机的状态,初始化计数器count等于1,对C的第count+1行C<sub>count+1</sub>初始化,使其等于C的第一行C<sub>1</sub>,然后将C中第count+1行第j列的数值c<sub>count+1,j</sub>和第count+1行第t<sub>0</sub>列的数值<img file="FDA0001072678200000021.GIF" wi="155" he="54" />互换,得到C的第count+1行C<sub>count+1</sub>,即对应于交换机状态B<sub>count</sub>;4d)求解交换机状态B<sub>count</sub>的持续时间,用一个长度为n的一维数组G来存储持续时间,一维数组G中第i位置的数值用g<sub>i</sub>表示,即g<sub>i</sub>表示交换机状态B<sub>i</sub>的持续时间;4e)根据流量矩阵A中第i行第j列的流量a<sub>i,j</sub>和流量矩阵A中第t<sub>0</sub>行第c<sub>1,i</sub>列的流量<img file="FDA0001072678200000022.GIF" wi="126" he="56" />得到交换机状态B<sub>count</sub>的持续时间用g<sub>count</sub>:<maths num="0001"><math><![CDATA[<mrow><msub><mi>g</mi><mrow><mi>c</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>t</mi></mrow></msub><mo>=</mo><mi>m</mi><mi>a</mi><mi>x</mi><mo>{</mo><msub><mi>a</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo><msub><mi>a</mi><mrow><msub><mi>t</mi><mn>0</mn></msub><mo>,</mo><msub><mi>c</mi><mrow><mn>1</mn><mo>,</mo><mi>i</mi></mrow></msub></mrow></msub><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA0001072678200000023.GIF" wi="493" he="70" /></maths>其中c<sub>1,i</sub>表示C中第一行第i列的数值;4f)交换机状态B<sub>count</sub>的持续时间g<sub>count</sub>求出后,将交换机状态B<sub>count</sub>和交换机状态的持续时间g<sub>count</sub>输出,且给count加1;5)判断分解过程是否完成,即判断<img file="FDA0001072678200000024.GIF" wi="285" he="128" />是否成立,若成立,则完成时隙分配;若不成立,则执行步骤6);6)判断count≥n是否成立,如果成立,则计算得到新的流量矩阵<img file="FDA0001072678200000025.GIF" wi="355" he="127" />返回步骤3),若不成立,返回步骤4)。
地址 710071 陕西省西安市太白南路2号