Page 313 - 《软件学报》2020年第9期
P. 313

2934                                 Journal of Software  软件学报 Vol.31, No.9,  September 2020

             输出: Sol BL ij  .
             1:   初始化 Sol BL ij  ←∅ ;
                         v
             2:   对 demand (v∈{1,2,…,n}),按从大到小降序排列,记为 A     ij demand  : demand ij max 1 ,demand ij max 2 ,...,demand ij max n  ,将
                        ij
         当前已开启的物理链路,按可用容量从小到大升序排列,记为 A                     ij active  :l ij active 1 ,l ij active 2 ,...,l ij active n a  ,将当前未开启的物理
         链路,按容量从小到大升序排列,记为 A            ij sleeping  :l ij sleeping 1 ,l ij sleeping 2  ,...,l ij sleeping n s  ;
             3:   FOR  demand ij max v  (v=1;v≤n;v++) DO
             4:      IF  已开启的物理链路 l  ij active n a  尚且不能容纳当前流量需求 demand ij max v    THEN
             5:         从 A ij sleeping  中顺序查找能容纳 demand ij max v  的第 1 个物理链路,记为 l ij sleeping v s  ,将该物理链路从 A ij sleeping
         中剔除,将 demand  ij max v  分配至该物理链路,并依据其剩余可用容量将其加入到 A            ij active  中的相应位置:
                                          ← Sol  ∪ Sol  {l sleeping  v s  ←  demand  max v } ;
                                       BL ij  BL ij  ij          ij
             6:      ELSE
             7:       从 A ij active  中顺序查找能容纳 demand ij max v  的第一个物理链路,记为 l ij active v a  ,将该流量需求分配至该物
         理链路,更新该物理链路的可用容量及其在整个排序中的位置, Sol                       ←      ∪ Sol  {l active v a  ←  demand  max v } ;
                                                             BL ij   BL ij  ij         ij
             8:      END IF
             9:   END FOR
             10: RETURN  Sol BL ij  .


         4    仿真实现与机制评估
             为了更好地评价本文提出的 SRCF-G 机制(在全局视图下,采用 SRCF 算法,沿着具有最小剩余容量的路径
         路由所有流量需求;而在局部视图下的边内部使用 G-BFD 算法进行流量分配),我们采用如下 5 种机制在功耗和
         性能方面进行对比.
             •   SPT 机制:在全局视图下,以功耗作为边权重,采用 SPT(shortest path tree)算法         [33] 路由所有流量需求;而
                流量在局部视图下边内部的分配是随机的(只要流量能够被物理链路容纳即可);
             •   SPT-G 机制:在全局视图下,以功耗作为边权重,采用 SPT 算法路由所有流量需求;而在局部视图下的边
                内部使用 G-BFD 算法进行流量分配;
             •   SOPF 机制:采用 SOPF 算法   [24] 路由所有流量需求,由于此算法是基于捆绑链路模型提出的,故无需进一
                步改造,可将其直接进行比较;
             •   MSPF 机制:采用 MSPF-NF2(multiple paths by shortest path first-node first version 2)算法 [34] 路由所有流
                量需求.同样,由于该算法也是基于捆绑链路模型提出的,可以将其直接进行比较;
             •   SRCF 机制:在全局视图下,采用 SRCF 算法,沿着具有最小剩余容量的路径路由所有流量需求;而流量
                在局部视图下边内部的分配是随机的(只要流量能够被物理链路容纳即可).
         4.1   仿真环境
             以上所有方案均在如下仿真环境下进行仿真实现.
             •   硬件配置:CPU:Intel Quad-Core i5-4590@3.30GHz,RAM:4GB (DDR3,1600MHz);
             •   操作系统:Windows 7 professional 64bits;
             •   开发平台:Microsoft Visual Studio 2010;
             •   开发语言:C++.
   308   309   310   311   312   313   314   315   316   317   318