2. 华东师范大学 计算机科学与软件工程学院, 上海 200062;
3. 上海大学 数学系, 上海 200444
2. School of Computer Science and Software Engineering, East China Normal University, Shanghai 200062, China;
3. Department of Mathematics, Shanghai University, Shanghai 200444, China
节能减排是人们重点关注的民生大事.近年来, 计算机网络与数据中心的规模急剧膨胀, 电力成本不断上涨, 人们的绿色生态意识逐步增强, 网络运营商逐渐认识到发展计算机网络与数据中心节能技术的重要性和紧迫性.当前, 网络以及数据中心为高峰负荷而设计, 资源的超量供给确保了网络的正常运行, 然而也导致资源利用率的低下.据统计, 大型ISP骨干网的平均链路利用率大约为30%~40%[1], 数据中心服务器的平均利用率为11%~50%[2, 3].过低的利用率造成了巨大的电能浪费, 绿色网络与绿色数据中心成为研究热点[4, 5].
网络虚拟化[6]是未来Internet、云计算和软件定义网络的重要技术[7-11].随着大数据时代的来临, 数据中心已经演变为一个集大数据量计算、存储一体化和高性能网络传输的集成环境.然而, 当前, 云计算资源租赁的服务等级协议只包含计算能力、存储能力、网络流量等内容, 缺乏虚拟机间带宽能力保障约定, 用户无法预测部署的云环境中的应用性能, 需要革命性的新技术[12].数据中心网络成为现在云计算的瓶颈所在[13], 网络资源的管理与分配是数据中心资源复用、构建绿色数据中心的必然要求.
网络虚拟化技术飞速发展, 逐步从理论阶段过渡到实践阶段, 出现了一些新的特点, 例如微软公司在数据中心SecondNet[14]中应用网络虚拟化技术, 由于虚拟机之间的带宽能够按照需求预留, 应用性能得到有力保障, 用户可以创建逻辑上独立的“虚拟数据中心”; 基于OpenFlow的SDN技术发展迅猛, Google公司的B4[15]以及微软SWAN[16]等数据中心已经部署SDN, 促进了网络虚拟化在数据中心的应用; 文献[17]在数据中心中运用网络虚拟化技术实现网络节能, 其中, 基于OpenFlow的交换机提供了能耗控制接口, 控制层能够掌控交换机及其接口的状态, 使得高效节能网络资源统一调度与分配成为可能; 文献[18]对于底层网络中区分路由节点和主机节点的映射, 由该文可见, 无论是主机节点还是路由节点, 底层网络的能耗必然与承载在其上的虚拟节点有关; 清华大学利用虚拟化技术, 建立了网络创新环境平台TUNIE[19, 20], 以OpenFlow技术为基础, 提出了一种支持可编程虚拟化的路由器平台, 能够分别提供处理器并相互隔离, 同时采用内核虚拟化技术将进程和资源隔离, 并提供了不同优先级的虚拟路由器.这些特点为能耗感知虚拟网络映射建立了现实基础, 使得整个网络的资源和能量集中管理和智能控制成为可能.
虚拟网络映射是网络资源虚拟化的关键技术之一.当前大部分映射算法是基于代价的虚拟网络映射[21], 即以最小化底层资源映射代价, 以此获得更多的底层物理资源, 进而提高虚拟网络接收率与系统收益.然而, 虚拟网络映射是一个动态变化过程, 而底层物理网络根据流量峰值设计, 基于代价的虚拟网络映射必然产生不必要的能耗.由于当前网络设备对流量负荷的功耗不敏感[22], 因而资源整合成为节能的有效方法.
当前能耗感知虚拟网络映射算法尽可能地映射到底层网络激活节点和链路, 实现底层网络节能.如:文献[23]通过减少物理网络设备数量分配虚拟网络请求集合, 提出混合整数规划的能耗感知最优化模型, 但是时间复杂度呈指数增长, 难以适应大规模网络基础设施的虚拟网络映射; 文献[24]考虑到机箱能耗比路由能耗低的特点, 提出扩展流量到网络资源的节能方法, 仅适合对负载敏感的设备; 文献[25]提出虚拟网络重配置的最小化能耗的启发式方法; 北京邮电大学的苏森等人提出虚拟网络映射能耗模型以及能耗感知两阶段映射算法[26], 且在文献[18]中根据电价的波动提出了能耗成本最小化模型以及能耗感知两阶段映射算法; 北方交通大学的常晓林、王冰等人提出混合整数规划能耗模型及能耗感知两阶段映射算法[27], 文献[28]在云数据中心应用蚁群优化算法求解虚拟网络节能映射; 文献[29]针对面向多拓扑类型请求的虚拟网络请求, 提出了一种通过识别虚拟网络请求拓扑特征而调用相应映射的复合型虚拟网络映射算法; 文献[30]提出了一种寻找核心节点优先映射的算法, 优先使用已工作节点和缩短链路长度, 提高了收益能耗比; 文献[31]针对底层网络节点的异构性, 提出了一种将虚拟节点映射到综合资源能力最大底层节点上的能耗感知虚拟网络映射算法; 文献[32]针对光纤通信路径数据中心提出了能耗感知虚拟网络重配置方法; 文献[33]针对间歇性可再生能源提出了环境感知的虚拟网络映射方案.另外, 我们研究了能耗感知虚拟网络多路径链路映射问题[34], 提出了基于字典库的能耗感知虚拟网络映射[35]与节点映射能耗代价最小化模型及算法[36].由上述可知, 目前相关节能感知映射算法未能利用不同虚拟网络映射之间的关系, 而是通过修改自身算法, 被动地寻找有效的底层网络节点和链路集合, 其缺点是集合大小易受到虚拟网络动态特征带来的干扰; 而文献[35]所提模型和算法依赖于字典库的构建, 影响了其实用性.
虚拟网络映射是一个动态过程, 有时呈现非周期性动态变化, 有时呈现周期性动态变化, 该动态过程有如下两个特点:虚拟网络请求到来以及虚拟网络退出等扰动会对底层网络激活资源集合产生影响; 虚拟网络映射不仅决定了当前激活的底层网络资源集合的大小, 而且作用于后续的虚拟网络映射.虚拟网络映射的动态性对求解最小底层网络激活资源集合产生干扰, 引起底层网络激活节点和链路数量上的增加, 从而造成了底层网络不必要的能耗.根据上述特点, 本文利用自动控制原理的反馈控制理论, 建立了虚拟网络映射多反馈控制模型, 设计出能耗感知虚拟网络映射多反馈控制算法.
本文研究内容包括以下3点.
(1) 提出了寻找有效底层资源的虚拟网络映射多反馈控制模型:控制底层网络休眠链路数量作为主反馈, 缩小主动休眠的底层网络资源数量与可休眠的资源数量的偏差, 抑制虚拟网络映射动态特征对激活底层网络集合的干扰; 以节点和链路映射为局部反馈, 逐步找到适合当前虚拟网络请求的最小底层网络资源集合.
(2) 提出了高效节能的虚拟网络映射多反馈控制算法:控制当前检测的可休眠链路数量与上一个虚拟网络映射反馈的主动休眠链路数量之偏差, 反馈当前虚拟网络节点和链路映射结果, 快速地找到适合当前虚拟网络请求的底层网络激活资源集合, 实现高效节能的虚拟网络映射.
(3) 设计了负载周期性变化的仿真算法, 构造仿真环境, 验证虚拟网络映射反馈控制算法的有效性:在负载周期性动态变化以及非周期动态变化的情况下, 所提算法提高了底层网络资源休眠数量, 并显著减小了系统能耗; 且在负载周期性动态变化的情况下, 提高了虚拟网络接收率以及系统收益.
本文第1节分析负载动态变化趋势, 构建虚拟网络映射模型、底层物理网络能耗模型以及定义节点链路激活休眠概念.第2节建立高效节能虚拟网络映射多反馈控制模型, 设计虚拟网络映射多反馈控制算法.第3节构建仿真环境, 验证虚拟网络映射多反馈控制算法的有效性.最后是总结及对未来工作的展望.
1 基础知识虚拟网络映射的动态性给求解最小底层网络激活资源集合带来干扰; 为了保证虚拟网络映射成功且降低系统能耗, 本节首先分析负载动态变化趋势, 然后描述了虚拟网络映射模型和底层物理网络能耗模型, 定义底层休眠节点和休眠链路概念, 为虚拟网络映射多反馈控制模型奠定基础.
1.1 计算机网络及数据中心负载动态变化趋势文献[37]研究典型的电信网络后发现流量低谷值通常是峰值的20%~30%, 而且每天的流量表现为类似正弦周期性动态变化, 其变化规律如图 1所示, 即下午流量处于高峰, 晚上流量处于低谷.对于提供在线Web搜索服务的数据中心, 由于用户在不同时间的活跃程度是不同的, 高峰时期流量是低谷时期的2倍多, 且数据中心的流量每天都呈现周期性动态变化[38], 其变化规律如图 2所示.通常认为, 在不同的环境下, 负载有时呈现周期性动态变化, 有时呈现非周期性动态变化; 由于系统能耗与负载动态变化特征紧密相关, 因此, 在网络虚拟化环境中研究动态变化下的计算机网络和数据中心的能耗问题, 具有重要的现实意义.
1.2 虚拟网络映射模型
网络虚拟化需要解决的重要问题之一是虚拟网络映射, 与文献[26-28, 37]相同, 本文采用无向图对网络进行建模, 定义底层网络、虚拟网络以及虚拟网络映射模型如下所示.
虚拟网络映射:在满足节点和链路约束的前提下, 为虚拟网络分配底层网络节点和链路资源.根据虚拟网络映射的特点, 通常把虚拟网络映射分解为节点映射和链路映射.节点映射分为:节点不可重复映射, 即一个虚拟网络的不同节点不允许映射到同一节点; 节点可重复映射, 即一个虚拟网络的不同节点可映射到一个节点.链路映射分为:单路径链路映射、多路径链路映射.本文在节点不可重复映射下, 研究虚拟网络能耗感知映射, 相关研究成果可以扩展到节点可重复映射.
1.3 底层网络能耗与文献[26]相同, 底层网络能耗分为节点能耗和链路能耗两个部分.网络节点主要是服务器节点、交换机以及路由器等网络节点, 其中, 服务器节点能耗主要包括机箱、处理器、内存、磁盘I/O、网络以及用于冷却的风扇等能耗部分[39], 处理器和内存占有节点能耗的大部分; 网络节点能耗主要包括网卡、机箱及在特定流量的路由处理等能耗[22, 24].当前, 处理器能耗与负载具有较好的相关性, 例如Intel公司的Speedstep以及AMD公司的PowerNow技术, 处理器能够根据负载动态地调节性能[4].本文抽象节点属性为处理器的属性, 网络节点的能耗与该节点承载的虚拟网络节点总和成比例关系.因此, 定义第i个底层节点能耗为
$ P{N^i} = \left\{ \begin{array}{l} {P_b} + {P_l} \cdot u, {\rm{ }}如果i处于激活状态\\ 0, {\rm{ }}否则 \end{array} \right. $ | (1) |
其中, Pb为底层节点的基本能耗, Pm为底层节点的最大能耗, Pl=Pm–Pb为与处理器利用率u相关的能耗因子.
由于当前网络设备对流量负荷的功耗不敏感[22], 专有的减负引擎将被广泛地部署在网络虚拟化中[40-42], 因为这种引擎既能够保持较高的数据包处理率, 又能产生较低的处理延时.无论接口是否空闲或者满负荷运行, 网络链路的能耗Pn为常量[41, 43].由于OpenFlow的交换机向上提供了节能状态控制接口[17], 因此定义第j条链路能耗为
$ P{L^j} = \left\{ \begin{array}{l} {P_n}, {\rm{ }}如果j处于激活状态\\ 0, {\rm{ }}否则 \end{array} \right. $ | (2) |
由于整个网络的资源和能量能够集中管理和控制, 参考已有文献[17, 26], 本文根据节点状态, 把底层节点分为休眠节点和激活节点.底层休眠节点是指该节点未承载任何虚拟节点, 且与之相连的底层链路未承载任何虚拟链路.底层激活节点是指该节点承载虚拟节点, 或者与之相连的链路承载了虚拟链路.根据定义, 底层级或节点又可分为两类:第1类为活动节点, 既承载了虚拟节点, 且与之相连的链路最少承载一条虚拟链路; 第2类为传输节点, 是指未承载虚拟节点, 但与之相连的链路最少承载一条虚拟链路.活动节点能耗为Pb+Pl·u, 传输节点能耗为Pb, 休眠节点能耗为0.定义$SL{N^i} = \left\{ \begin{array}{l} 1, {\rm{ }}如果i为活动节点\\ 0, {\rm{ }}否则\end{array} \right., $则$\sum\limits_{i \in {N^s}} {SL{N^i}} $为第t个时间窗底层休眠节点数量$SleepN(t), \sum\nolimits_{t = 1}^T {SleepN(t)} $为T个时间窗底层休眠节点总量SleepNsum(T).
定义每个时间窗平均休眠节点数量ASleepN为
$ ASleepN = \mathop {\lim }\limits_{T \to \infty } \frac{{SleepNSum(T)}}{T} $ | (3) |
当采用资源整合策略实现底层网络节能时, 映射单个虚拟网络应尽可能地最小化$\sum\limits_{i \in {N^s}} {SL{N^i}}.$同时, Sleep NSum(T)和ASleepN应尽可能地最小化, 它们是底层网络节能的重要辅助指标.
1.5 休眠链路与激活链路与第1.4节相同, 参考已有文献[17, 26], 本文把底层链路分为休眠链路和激活链路.底层休眠链路未承载任何虚拟链路, 可进入休眠节能状态, 其能耗为0.底层激活链路最少承载了一条虚拟链路, 无论该链路承载的流量多少, 其能耗为均常量Pn.定义$SL{L^j} = \left\{ {\begin{array}{*{20}{l}} {1, {\rm{ }}如果j为激活链路}\\ {0, {\rm{ }}否则} \end{array}} \right., $则$\sum\limits_{j \in {L^s}} {SL{L^j}} $为第t个时间窗底层休眠链路数量SleepL(t), $\sum\nolimits_{t = 1}^T {SleepL(t)} $为T个时间窗底层休眠链路总量SleepLSum(T).
定义每个时间窗平均休眠链路数量ASleepL为
$ ASleepL = \mathop {\lim }\limits_{T \to \infty } \frac{{SleepLSum(T)}}{T} $ | (4) |
当采用资源整合策略实现底层网络节能时, 映射单个虚拟网络应尽可能地最小化SleepL(t).同时, SleepL Sum(T)和ASleepL也应尽可能地最小化, 它们是底层网络节能的重要辅助指标.
2 高效节能虚拟网络映射多反馈控制模型及算法 2.1 典型案例本文建立的多反馈控制模型与算法包括两种关键技术:设置映射范围技术; 多反馈控制技术.设置映射范围技术不是在整个底层网络范围内寻找资源, 而是主动缩小底层网络范围以映射虚拟网络, 它能够减小虚拟网络映射动态性对底层网络激活资源带来的干扰, 以映射代价较小且激活底层网络资源数量较小的方式映射虚拟网络.本文缩小底层网络范围的原则是尽量提高底层网络的连通度, 在底层网络激活资源中尽可能多地接收虚拟网络.多反馈控制技术是以设置映射范围技术为基础, 首先记录设置映射范围的资源数量, 并检测当前底层网络实际休眠数量; 通过逐步调整这两种底层网络休眠数量的偏差作为主反馈, 并辅助虚拟网络映射结果作为局部反馈.这两种技术相辅相成, 共同实现了高效节能虚拟网络的映射.
图 3显示了设置映射范围案例, 图中映射两个虚拟网络VN1、VN2, 有两种不同的方案.方案1采用了设置映射范围的方案, 方案2是另外一种常见的方案(例如, 基于代价最小化的映射方案[44]).方案1是以一种连通性较好的方式设置虚拟网络映射范围, 使得VN1中的节点映射在底层节点A、B、C和D上, 从而激活了资源较丰富的4个底层节点, 并在底层网络激活资源中保证足够的资源以映射后续的VN2.方案2在映射虚拟网络VN1时选择了底层节点E、A、B和G, 同样激活了4个底层节点; 然而, 当映射后续的VN2时, 由于资源量不足, 难以在底层网络激活的节点中映射VN2, 选择了激活底层节点C和D, 从而映射VN2.可以看出, 两种不同映射方案的收益成本比是相同的, 然而方案1激活了4个底层节点、4条底层链路, 方案2激活了6个底层节点、5条底层链路, 较多的激活节点和链路必然引起不必要的能耗, 方案1与方案2相比, 显著降低了底层网络的能耗.
图 4显示了多反馈控制映射案例, 图中映射3个虚拟网络VN1、VN2和VN3, 有两种不同的方案.方案1采用了多反馈控制的方案, 方案2是另外一种常见的方案.方案1记录了底层网络激活数量, 保存在SLink; 当映射VN1时, Slink=4是指上一个虚拟网络映射保留的设置映射范围的参数, 表示主动休眠的底层链路数量为4, 以此为参数设置底层网络映射范围, 从而将VN1映射在底层节点A、B和C上; 当映射VN2和VN3时, 首先检测底层链路的实际休眠数量为2, 与保存的设置休眠数量4是否存在偏差, 如果存在偏差, 则调整这种偏差.调整这种偏差的方式是尽可能地减小虚拟网络映射范围, 以映射虚拟网络, 例如调整底层链路休眠数量为1, 并设置映射范围, 发现难以映射VN2, 则继续增大底层链路休眠数量为2, 设置映射范围, 映射VN2在底层节点A和C上.同理, 映射VN3在底层节点A和C上.当虚拟网络VN1退出时, 底层网络激活的资源包括节点A和C、底层链路(A, C).方案2, 映射VN1在底层节点A、B和C上; VN2和VN3分别映射在底层节点C、A和A、B上(例如采用资源整合策略[26]); 当虚拟网络VN1退出时, 底层网络激活的资源包括节点A、B和C、底层链路(A, C)和(A, B).可以看出, 两种不同映射方案的收益成本比是相同的, 然而当VN1退出时, 方案1激活了2个底层节点、1条底层链路, 方案2激活了3个底层节点、2条底层链路, 较多激活节点和链路必然引起不必要的能耗, 方案1与方案2相比, 能够降低虚拟网络映射动态性对底层网络激活资源的干扰, 显著降低了底层网络的能耗.
2.2 多反馈控制模型
定义被动休眠链路和被动休眠节点即为休眠链路和休眠节点.与之对应, 定义主动休眠节点和主动休眠链路分别为设置休眠标志的底层节点、设置休眠标志的底层链路.同时, 定义主动激活节点和链路分别为设置激活标志的底层节点、设置激活标志的底层链路.设置激活标志的底层网络资源集合与设置休眠标志的底层网络资源集合的并集是虚拟网络资源集合.虚拟网络多反馈控制模型通过逐步调整被动休眠链路数量与主动休眠链路数量之间的偏差, 以缩小底层网络激活资源集合, 实现高效节能的虚拟网络映射.需注意的是:(1) 任意底层节点和链路, 可设置激活标志或者休眠标志; (2) 虚拟节点和链路映射是在设置激活标志的底层网络资源集合内映射.
虚拟网络映射多反馈控制模型的基本思想是:把控制底层网络主动休眠链路数量作为主反馈通路, 缩小主动休眠底层链路数量与被动休眠底层链路数量的偏差; 以节点和链路映射为局部反馈通路, 在保证虚拟网络节点和链路映射成功的前提下, 逐步找到适合当前虚拟网络请求的最小底层网络激活资源集合.当前虚拟网络映射作用于后续虚拟网络映射表现在主反馈通路, 即当前主动休眠底层链路数量初始值来自于上一虚拟网络映射保存的结果与当前检测的被动休眠底层链路数量, 并保存当前虚拟网络映射的主动休眠底层链路数量作为后续虚拟网络映射控制主动休眠底层链路数量的参考值.节点映射局部反馈通路以及链路映射局部反馈通路决定了当前激活的底层网络资源集合大小, 其采用从大到小的方式设置休眠标志的底层网络资源集合范围, 逐步找到适合当前虚拟网络请求的最小底层网络激活资源集合, 从而最大化底层网络被动休眠节点和链路, 实现底层网络的节能.当过多地主动休眠底层网络资源时, 将会造成虚拟网络映射的失败; 而当过少地主动休眠底层网络资源时, 将会造成底层网络消耗过多的能量.应该尽量避免上述两种情况的发生.建立虚拟网络映射多反馈控制模型, 其结构方框图如图 3所示, 包括主控制器、补偿器、局部控制器、主执行器、节点映射执行器、链路映射执行器、节点映射反馈装置、链路映射反馈装置、主反馈装置.主控制器根据主给定量与主测定量, 计算主动休眠链路数量; 补偿器给出虚拟网络映射期望值, 其作用是在主动休眠底层节点和链路的同时应保证虚拟网络的成功映射; 局部控制器根据局部给定量、节点映射结果或者链路映射结果, 计算主动休眠的链路数量; 主执行器根据局部控制量(即主动休眠链路数量), 设置底层网络资源休眠和激活标志; 节点映射执行器实现节点映射; 链路映射执行器实现链路映射; 节点映射反馈装置反馈节点映射结果; 链路映射反馈装置反馈链路映射结果; 主反馈装置反馈主动休眠的链路数量; 被控对象为底层网络资源.该模型是一个多回路模型, 包括一个主反馈通路和两个局部反馈通路.
1) 主反馈通路:测定当前底层网络被动休眠链路数量作为给定量(或者称为参据量), 检测主动休眠的底层链路数量反馈给系统, 比较反馈量(即主动休眠的底层链路数量)与给定量, 控制调节主动休眠的底层链路数量, 以抑制不同干扰对被动休眠底层网络资源集合的影响.
2) 虚拟网络节点映射局部反馈通路:当主执行器设置底层网络资源休眠标志后, 节点映射执行器实现虚拟节点映射, 并把节点映射结果反馈到局部控制器, 以验证当前设置休眠标志的底层网络资源集合能否成功实现节点映射.如果虚拟节点映射未成功, 需要通过局部控制器进一步缩小设置休眠标志的底层网络资源集合范围, 扩展激活资源集合范围, 增加节点映射成功的可能性.
3) 虚拟网络链路映射局部反馈通路:当主执行器设置底层网络资源休眠标志以及虚拟节点成功映射完成后, 链路映射执行器实现虚拟链路映射, 并把链路映射结果反馈到局部控制器, 以验证当前设置休眠标志的底层网络资源集合能否成功实现链路映射.如果虚拟链路映射未成功, 需要通过局部控制器进一步缩小设置休眠标志的底层网络资源集合范围, 扩展激活资源集合范围, 增加链路映射成功的可能性.
在主反馈通路中, 主给定量为测定的被动休眠链路数量, 即如果当前为第t个时间窗, 根据定义测定被动休眠链路数量SleepL(t).由于每个时间窗都会有虚拟网络退出以及虚拟网络请求映射、底层网络资源回收以及分配动态变化, 这将造成被动休眠底层网络资源数量上的波动, 因此, 每次开始虚拟网络映射, 都应测定被动休眠链路数量.
主控制器的功能是根据上一虚拟网络映射保存的主动休眠链路数量或者当前虚拟网络映射反馈的主动休眠链路数量, 计算当前虚拟网络映射的底层网络主动休眠链路数量SLink, 以消除主动休眠链路数量与测定的被动休眠链路数量之间的偏差, 增大可休眠底层资源集合范围, 实现底层网络的节能.其计算如式(5) 所示.
$ SLink = \left\{ {\begin{array}{*{20}{l}} {ChSLink,如果ChSLink > RSLink{\rm{ }}}\\ {RSLink,\;否则} \end{array}} \right. $ | (5) |
其中, ChSLink为当前时间窗t测定的被动休眠底层链路数量; RSLink为上一虚拟网络映射保存的主动休眠链路数量或者当前虚拟网络映射反馈的主动休眠链路数量.如果ChSLink > RSLink, 说明被动休眠底层链路数量大于主动休眠底层链路数量, 则设置Slink=ChSink, 消除SLink与ChSLink之间的偏差, 增大主动休眠链路数量, 否则Slink=RSLink, 保持前一虚拟网络映射或者当前虚拟网络映射反馈的主动休眠底层链路数量.
局部控制器的功能是根据虚拟网络映射结果以及主控制器传递过来的SLink, 计算底层网络主动休眠链路数量sleepl.其计算如式(6) 所示.
$ slee{p^l} = \left\{ \begin{array}{l} SLink, {\rm{ }}如果e' = = 1\\ SLink-LDecrNum, {\rm{ }}否则 \end{array} \right. $ | (6) |
其中, LDecrNum为调整主动休眠链路数量的步长; 如果虚拟节点或者虚拟链路映射成功, 测定值e′=1, 否则e′=0.如果e′=1, 则以SLink为主动休眠底层链路数量; 否则, 以Slink-LDecrNum为主动休眠底层链路数量, 以扩大激活资源范围, 增加虚拟网络映射成功的可能性.SLink的减小增大了主动激活底层资源的范围, 但会影响底层网络被动休眠节点和链路数量, 增加了底层网络的能耗, 因此, LDecrNum对于能耗具有一定的影响.局部控制器以从大到小的方式控制主动休眠底层链路数量, 逐步找到适合当前虚拟网络请求的最小底层网络激活资源集合, 以最大化底层网络被动休眠节点和链路, 实现底层网络的节能.
由图 5可见, 多反馈控制模型的被控对象是底层网络资源, 包括底层链路以及底层节点资源, 通过主执行器(执行器的功能是根据输入的参数sleepl, 设置底层网络资源休眠标志, 如算法1所示)实现主动休眠底层节点和链路资源.算法1概述如下.
第1步, 初始化主动休眠底层链路数量sln=0;初始化所有底层节点和链路激活标志; 初始化底层网络节点的度.第2步, 只要满足sln小于sleepl, 就进入设置底层节点和链路休眠标志的循环体.第3步~第8步, 找到具有激活标志的最小度底层节点, 设置与该节点相连的链路休眠标志, 并记录主动休眠的底层链路数量, 更新底层节点的度; 如果链路的两个节点度为0, 则设置节点休眠标志.如果sln≥sleepl, 则调出循环体, 返回带休眠标志的底层节点和链路.算法1在设置底层节点和链路休眠数量的同时, 保证了底层网络的连通性, 其时间复杂度为O(sleepl·(|Ns|+|Ls|)), sleepl为输入的主动休眠链路数量, |Ls|为底层网络链路数量, |Ns|为底层网络节点数量.
补偿器的含义是在主动休眠底层节点和链路的同时应保证虚拟网络的成功映射, 因此, 设定局部给定量e=1, 表示期望成功映射虚拟网络请求, 与反馈的节点映射结果和链路映射结果相比, 控制主动休眠底层网络资源.节点映射执行器和链路映射执行器是实现虚拟节点和链路映射的执行机构, 其执行结果反馈到局部控制器, 以调整主动休眠的链路数量.虚拟网络映射包括节点映射和链路映射, 本文采用先节点映射, 然后采用链路映射的两阶段映射方法实现虚拟网络映射.节点映射和链路映射可以采用当前出现的各种不同映射算法.
算法1. 设置底层网络休眠标志算法HiberSub(sleepl).
输入:休眠链路数量sleepl;
输出:带休眠标志的底层节点和链路.
1: sln=0;初始化所有底层节点和链路激活标志; 初始化底层节点的度;
2: while (sln < sleepl){
3: 找到激活的最小度的节点node; if (没有找到有效的node) break;
4: foreach (与node节点连接的所有激活底层链路luv) {
5: 设置链路luv休眠标志, 并更新与该链路连接的两节点u和v的度, sln++;
6: if (节点u的度为0) 设置u休眠标志; if (节点v的度为0) 设置v休眠标志;
7: if (sln≥sleepl) break;
8: }
9: }
10: return带休眠标志的底层节点和链路.
2.3 高效节能虚拟网络映射多反馈控制算法本文依据虚拟网络映射多反馈控制模型, 设计虚拟网络映射多反馈控制算法, 求解设置激活标志的底层节点和链路最小资源集合, 以提高底层网络休眠节点和链路数量, 达到减少系统能耗的目的, 如算法2所示.算法2以每个时间窗为基本单位, 首先完成当前时间窗内所有虚拟网络的节点映射, 然后对当前时间窗内所有节点成功映射的虚拟网络进行链路映射.虚拟网络映射主反馈通路的过程为:假设当前在第t个时间窗, 首先计算被动休眠链路数量, 根据从第t–1个时间窗传递过来或者前一虚拟网络映射保存的主动休眠链路数量RSLink, 调整当前被动休眠链路数量与主动休眠数量之间的偏差, 设置当前虚拟网络映射的主动休眠链路数量SLink; 然后映射当前时间窗内所有的虚拟网络请求, 并把当前主动休眠链路数量SLink通过RSLink=SLink反馈给第t+1个时间窗或者下一个虚拟网络映射, 其中, RSLink为全局变量, 表示反馈的主动休眠链路数量, 在第1个时间窗RSLink初始化为底层网络链路数量, 保证虚拟网络映射是从最大休眠链路数量开始的.虚拟网络节点映射局部反馈通路的过程为:首先根据当前主动休眠链路数量SLink, 调用算法1设置底层网络资源休眠或者激活标志; 然后进行虚拟节点映射, 如果节点映射成功, 则设置节点映射成功标志, 否则, 减少当前主动休眠链路数量SLink, 重新作节点映射, 直到Slink < 0, 表示无法通过反馈的方法增加节点映射的成功率.虚拟网络链路映射局部反馈通路的过程为:首先对成功节点映射的虚拟网络进行虚拟链路映射, 如果链路映射成功, 则设置链路映射成功标志, 否则, 重新调整当前主动休眠链路数量SLink, 并重新作节点映射.局部反馈通路的核心是虚拟节点映射NodeEmbed (index)和虚拟链路映射LinkEmbed(index), 如果虚拟网络请求映射成功, 则NodeEmbed(index)和LinkEmbed (index)的返回值e′为1, 否则, e′为0.算法2概述如下.
第1步、第22步的tryAgain是记录重复虚拟网络映射次数.因为当节点映射成功但是链路映射不成功时, 算法需要重新映射虚拟节点和链路, 可能造成死循环.tryAgain=0表示开始虚拟网络映射; 当tryAgain > MAXTRY时, 不需要重新进行映射, 返回当前时间窗的虚拟网络映射结果, 从而避免了死循环的发生, MAXTRY为一常数, 本文取值为10.
第2步~第12步实现了当前时间窗的主反馈通路以及虚拟节点映射的局部反馈通路.第2步, 依次选择当前时间窗所有未映射的虚拟网络请求index.第3步, SleepL(t)计算当前底层网络被动休眠链路数量, 并赋值给ChSLink, 其计算规则是按照第1.5节定义的SleepL(t)来计算的.第4步是实现主控制器的逻辑, 如式(5) 所示, 其修正主动休眠链路数量SLink与被动休眠链路数量ChSLink的偏差, 缩小虚拟网络映射的底层网络资源范围.第5步~第10步通过虚拟节点局部反馈控制模型, 实现第index个虚拟网络请求映射.第5步, 当SLink≥0条件满足时, 说明仍然可以缩小底层网络资源范围, 实现虚拟网络映射; 否则, 说明底层资源都设置激活标志, 无法缩小虚拟网络映射的底层网络资源范围, 实现虚拟网络映射.第6步~第7步设置虚拟网络映射的底层网络资源范围, 首先初始化所有底层节点和链路为激活标志, 然后调用算法1中HiberSub(SLink)设置底层节点和链路休眠标志, 并记录RSLink=SLink, 为下一个时间窗或者下一个虚拟网络映射提供主动休眠底层链路作参考.第9步, 以步长LDecrNum减少主动休眠链路数量Slink–=LDecrNum, 逐步减小主动休眠链路数量.第11步, 如果e′=1, 表示Slink < 0, 设置第index个虚拟网络节点映射失败标志.第8步, 如果(e′=NodeEmbed(index)==1), 说明虚拟节点映射成功, 设置index虚拟网络节点映射成功标志, 表示该虚拟网络可以进行链路映射.
算法2. 高效节能虚拟网络映射多反馈控制算法.
输入:当前时间窗t;
输出:虚拟网络映射结果.
1: tryAgain=0;
2: foreach (当前时间窗t所有未映射的虚拟网络请求index) {
3: ChSLink=SleepL(t); //计算当前时间窗底层网络被动休眠链路数量
4: if (ChSLink > RSLink)Slink=ChSLink; else Slink=RSLink;
5: while (SLink≥0) {
6: 设置所有的底层节点和链路为激活标志;
7: RSLink=SLink; HiberSub(SLink); //调用算法1设置底层网络资源休眠或者激活标志
8: if ((e′=NodeEmbed(index))==1){设置index虚拟网络节点映射成功标志; break; }
9: else Slink–=LDecrNum; //LDecrNum休眠步长
10: }
11: if (e′!=1) 设置index虚拟网络节点映射失败标志;
12: }
13: lem=0;
14: foreach (当前时间窗所有节点映射成功的虚拟网络请求index) {
15: if ((e′=LinkEmbed(index))==1) 设置index虚拟网络链路映射成功标志; 记录映射结果;
16: else {
17: 设置第index个虚拟网络请求链路映射失败标志; lem=1;
18: 取消当前时间窗所有未成功链路映射的节点映射结果;
19: }
20: }
21: tryAgain++;
22: if (tryAgain > MAXTRY) return当前时间窗虚拟网络映射结果;
23: if (lem==1) {
24: 设置当前时间窗所有未成功链路映射的虚拟网络未映射标志;
25: goto 2;
26: }
第13步~第26步实现虚拟链路映射局部反馈通路, 它对当前时间窗内所有节点映射成功的虚拟网络请求index实现链路映射.值得注意的是, 它并不对节点映射失败的虚拟网络请求进行链路映射, 因为若节点映射失败, 说明已经无法通过主动休眠的方式实现节点映射, 此时, SLink < 0.第15步, 当(e′=LinkEmbed(index))==1时, 说明第index个虚拟网络请求链路映射成功, 则设置链路映射成功标志, 并记录映射结果, 否则, 设置链路映射失败标志, 并取消未成功链路映射的节点映射结果.第23步~第26步, lem=1, 表示存在链路映射失败的虚拟网络请求, 需要通过多反馈模型重新进行虚拟网络映射.第24步, 设置当前时间窗所有未成功链路映射的虚拟网络未映射标志, 使得第2步可以重新选择该虚拟网络请求进行映射.
算法2保证了底层网络的连通性, 通过多反馈控制模型, 能够快速找到底层网络最小激活资源量集合, 进而最大化休眠底层节点和链路数量, 达到节能的目的.因算法1的时间复杂度较低, 算法2的算法时间复杂度主要取决于选择的NodeEmbed(index)和LinkEmbed(index).NodeEmbed(index)和LinkEmbed(index)可以采用多种不同的算法, 本文采用文献[45]中给出的经典启发式的节点映射算法和单路径链路映射算法, 算法时间复杂度较低.
3 虚拟网络映射主动休眠节点节能仿真本节首先介绍仿真环境、比较算法和性能评价指标, 然后介绍在负载周期性变化以及非周期性变化下的性能比较, 其中给出了周期性动态变化仿真环境构造方法.
3.1 仿真环境由于网络虚拟化是一个新兴领域, 底层网络与虚拟网络请求的实际特征还没有得到充分掌握.在实际的商业系统中, 服务提供商经常会构建各类特定拓扑类型的虚拟网络请求以部署相应的网络服务(例如, 视频会议系统通常采用星形拓扑, 而组播系统则多采用树形拓扑结构)[29], 我们比较了虚拟网络请求分别是对称网络拓扑结构、星形拓扑结构、树形拓扑结构(以二叉树为例)以及不同拓扑结构(即对称网络拓扑、星形拓扑与树形拓扑结构各占1/3) 的性能; 底层网络采用对称网络拓扑结构, 由GT-ITM工具[46]随机生成一个由100个节点、570条链路组成的底层网络拓扑, 相当于一个中等规模的物理网络.为简化算法评估, 我们假设底层物理网络的节点和链路是同构的, 底层网络和虚拟网络所有节点都是连通的.底层网络节点CPU资源和链路带宽资源服从50~100的均匀分布.每个时间窗为100个时间单元.每个虚拟网络的生存时间服从均值为5个时间窗的指数分布, 每个虚拟网络请求节点个数服从2~20的均匀分布, 在对称网络拓扑结构中, 每对虚拟网络节点以0.5的概率相连, 在星形网络拓扑结构和树形拓扑结构中链路条数等于节点个数减1.每个虚拟网络请求等待映射的时间为1个时间窗.每次模拟实验运行约50 000个时间单元, 包含5 000个虚拟网络请求.根据文献[38, 41], 本文设置第1.3节定义的Pb、Pm和Pn分别为150W, 300W和15W;由于不同环境下的链路功耗差异较大[41, 42, 44-48], 本文比较了链路功耗下在1W、15W、30W的系统能耗, 如图 8、图 9所示.为了提高实验结果的置信水平, 所有的实验运行10组不同虚拟网络请求, 然后取平均值作为结果.
本文定义系统饱和状态以及非饱和状态:虚拟网络全部接收的状态为系统非饱和状态; 反之, 为饱和状态.两种不同状态的映射目标是不同的:在非饱和状态下, 由于所有虚拟网络可以接收, 节能是虚拟网络映射的重要目标; 在饱和状态下, 由于节能与系统收益相互冲突, 即节能不能以牺牲系统收益为代价, 需要权衡两者之间的关系, 因此, 本文认为, 系统收益与虚拟网络接收率是虚拟网络映射的主要目标, 节能是虚拟网络映射的次要目标.由于当前底层网络为高峰负荷而设计, 当系统处于非饱和状态时, 必然存在一个底层网络资源集合, 能够保证接收所有的虚拟网络请求, 这个底层网络资源集合包含于底层网络资源.为了模拟在非饱和状态下以及饱和状态下的不同算法性能, 分别构造了不同的虚拟网络请求资源量:在非饱和状态下, 虚拟网络节点CPU资源与链路带宽资源需求服从0~6的均匀分布; 在饱和状态下, 虚拟网络节点CPU资源与链路带宽资源需求服从0~40的均匀分布.如未特别说明, 以下都是步长LDecrNum为1时的仿真结果.
本文在负载周期性动态变化与负载非周期性动态变化情况下对性能进行对比, 这两种不同仿真环境体现在虚拟网络请求过程和到来时间两个方面.负载周期性动态变化是以正弦周期性变化, 一个时间窗内的虚拟网络请求到来时间是均匀分布的, 详见第3.1.1节.为了模拟在负载非周期性动态变化下的性能, 虚拟网络请求过程模拟泊松过程, 详见第3.1.2节.
3.1.1 负载周期性动态变化的仿真环境构建由于底层网络负载与底层网络承载的虚拟网络有关, 本文首先按照正弦周期性变化建立虚拟网络请求数量, 然后把周期性变化的虚拟网络请求数量转化为虚拟网络到来时间, 模拟负载周期性动态变化的网络虚拟化映射环境.设定1个时间窗为1个小时, 一天有24小时, 即有24个时间窗, 整个仿真环境模拟500个时间窗, 约为20天的时间, 每天都以正弦周期性变化, 与图 1所示的周期性动态变化相似; 每天的虚拟网络请求总量约为240个虚拟网络请求, 即24小时的虚拟网络请求总和.如果一个时间窗的虚拟网络请求数量较大, 表示负载较高; 反之, 如果一个时间窗的虚拟网络请求数量较小, 则表示负载较低.其中构建的24小时虚拟网络请求数量如算法3所示.第1步、第2步, 生成了24个点表示的正弦变化曲线.第3步, 以21/2表示生成的虚拟网络请求平均数量为10.5, 则24小时总的虚拟网络生成数量约为240.
算法3. 构建一天正弦动态变化虚拟网络请求数量.
输出:一天的虚拟网络请求数量数组.
1: for (int i=0;i < 24;i++){
2: float s=sin(tan(1.0) x8xi)/24; //24代表正弦波用24个点表示
3: a[i]=(int)((s+1) x21/2); //21/2表示生成的虚拟网络请求平均数量
4: }
5: return a.
利用生成每个时间窗虚拟网络请求数量数组a, 构建第index个虚拟网络请求的到来时间req[index]time, 从而把周期性变化的请求数量a转换为虚拟网络到来时间, 以模拟负载周期性动态变化仿真环境, 如式(7) 所示, 其中, p为当前时间窗的开始时间单元, k为当前时间窗构建的第k个虚拟网络请求, 满足k < a[i]条件; 100表示一个时间窗有100个时间单元.式(7) 保证了一个时间窗内所有虚拟网络请求到来时间均匀分布在(p, p+100) 时间单元范围.
$ req[index].time = p + k \times ({\mathop{\rm int}} )(100/a[i] - 1), {\rm{ }}如果a[i]! = 0{\rm{ }} $ | (7) |
本文所提模型和算法同样适合负载非周期性动态变化的环境, 因此本文构建了负载非周期性动态变化的仿真环境, 并比较了不同算法在饱和以及非饱和状态下的性能.虚拟网络请求过程模拟泊松过程, 在每个时间窗内虚拟网络请求到达个数服从均值为10的泊松分布.
3.2 比较算法虚拟网络映射问题是NP-hard问题, 随着网络规模(包括虚拟网络以及底层网络)的扩大, 基于整数规划的虚拟网络映射求解时间难以满足大规模虚拟网络映射的实时性要求, 因此本文不与基于整数规划的方法进行比较, 而选择基于能耗感知的启发式算法[26]、元启发式算法[28]以及经典的虚拟网络映射启发式算法[45], 即EA-VNE[26]、ACO-PE-VNE[28]及PR-VNE[45]比较, 并在PR-VNE上应用了本文提出的多反馈控制算法MFB-PR-VNE.其中, EA-VNE与PR-VNE都是基于马尔可夫随机漫步模型, 两者的不同点在于节点的Rank值计算方法:在PR-VNE中, 节点的Rank值由该节点的剩余CPU与其链路的带宽值决定, 节点和链路映射分别采用RW-MaxMatch节点映射算法(即L2S2算法)和RW-MaxMatch链路映射算法(即基于k最短路径算法); 在EA-VNE中, 底层节点剩余CPU与虚拟节点请求的CPU比重较大, 节点映射采用随机选择虚拟节点映射到最大Rank值底层节点的算法, 链路映射采用基于最短路径的最优选择激活节点的算法.ACO-PE-VNE是采用蚁群算法求解, 映射结果依赖于蚁群数量以及迭代次数.
3.3 性能评价指标 3.3.1 底层网络能耗底层网络能耗(又称为系统能耗)是虚拟网络映射节能的重要指标, 根据映射特点, 本文将底层网络能耗简化为节点和链路能耗两个部分.虚拟网络映射将会导致底层网络资源的分配与回收, 从而底层节点和链路处于激活状态或者处于休眠状态, 底层网络能耗随之改变; 且底层网络节点随着负载虚拟节点而发生变化, 资源的分配与回收使得处理器的利用率发生变化, 从而影响底层网络的能耗.定义第t个时间窗底层网络能耗P(t)为$\sum\limits_{i \in {N^s}} {P{N^i}} + \sum\limits_{j \in {L^s}} {P{L^j}}, $则底层网络在T个时间窗的能耗总量PSum(T)为$\sum\nolimits_{t = 1}^T {P(t)}.$设定Tn为一个时间窗的时间单元, 定义每个时间单元平均能耗PAver为
$ PAver = \mathop {\lim }\limits_{T \to \infty } \frac{{PSum(T)}}{{T \cdot Tn}} $ | (8) |
系统收益、收益成本比和虚拟网络接收率是算法评价的重要指标.定义第t个时间窗的系统收益R(Gv(t))为$\sum\limits_{j \in {L^v}} {BW(j)} + \sum\limits_{i \in {N^v}} {CPU(i)}, $其中,
$ rev = \mathop {\lim }\limits_{T \to \infty } \frac{{\sum\nolimits_{t = 1}^T {R({G^v}(t))} }}{T} $ | (9) |
设定映射代价
$ r/c = \mathop {\lim }\limits_{T \to \infty } \frac{{\sum\nolimits_{t = 1}^T {R({G^v}(t))} }}{{\sum\nolimits_{t = 1}^T {C({G^v}(t))} }} $ | (10) |
定义长期虚拟网络映射接收率mr为
$ mr = \mathop {\lim }\limits_{T \to \infty } \frac{{\sum\nolimits_{t = 1}^T {VN{R^s}(t)} }}{{\sum\nolimits_{t = 1}^T {VN{R^v}(t)} }} $ | (11) |
其中, $\sum\nolimits_{t = 1}^T {VN{R^s}(t)} $、$\sum\nolimits_{t = 1}^T {VN{R^v}(t)} $分别为从t=1时刻到T时刻接收的虚拟网络总量、所有虚拟网络请求总量.
3.4 负载周期性与非周期性动态变化的仿真结果 3.4.1 非饱和状态下的性能比较1) 本文提出的算法显著提高了底层网络休眠节点和链路数量, 显著减少了系统能耗.图 6、图 7表示在负载周期性以及非周期动态变化情况下, 当Pn为15W、运行100~500个时间窗时, 底层休眠节点和休眠链路数量以及系统能耗的变化情况.
例如, 图 6(d)~图 6(f)显示了周期性动态变化情况下映射虚拟网络(对称网络拓扑结构), MFB-PR-VNE算法较EA-VNE、PR-VNE和ACO-PE-VNE算法至少提高了82%的休眠节点数量和16%的休眠链路数量, MFB-PR-VNE算法较EA-VNE、PR-VNE和ACO-PE-VNE算法最少降低了27.8%的系统能耗; 图 7(d)~图 7(f)显示了非周期性动态变化情况下映射虚拟网络(对称网络拓扑结构), MFB-PR-VNE算法较EA-VNE、PR-VNE和ACO-PE-VNE算法至少提高了96%的休眠节点数量和20%的休眠链路数量, 系统能耗上, MFB-PR-VNE算法较EA-VNE、PR-VNE和ACO-PE-VNE算法最少降低了32.9%.这是因为, 在非饱和状态下, 本文所提模型与算法充分利用了主反馈中不同虚拟网络映射之间的关系以及局部反馈中节点与链路映射的关系, 有效地控制了底层网络激活资源的数量和范围, 在完成虚拟网络映射的前提下实现底层网络节能的目的, 较好地解决了求解最小底层网络激活资源集合问题, 即多反馈控制算法根据主反馈通路能够消除主动休眠的底层网络链路数量与被动休眠的链路数量之间的偏差, 抑制虚拟网络映射动态特征对底层网络休眠资源集合的干扰, 并根据局部反馈通路从大到小逐步调整主动休眠链路数量, 把虚拟网络映射在一个较小的底层节点和链路集合中, 使得其他底层节点和链路能够休眠, 从而提高了休眠节点和链路数量, 显著降低了系统能耗.与其他算法相比, 由于采用反馈机制缩小了虚拟网络映射的底层网络资源范围, 保证了底层网络激活资源的相对集中, 从而降低了底层网络资源分配与回收对底层网络激活资源的影响, 进而实现了虚拟网络映射节能的目的; 其他算法则是从整个底层网络资源范围内求解映射结果, 影响了底层网络激活资源的数量, 加上资源分配和回收并未考虑到对后续虚拟网络映射产生的作用, 所以底层网络激活资源相对扩散, 从而影响了系统能耗.
2) 在不同底层链路功耗Pn参数下, 本文所提算法显著减少了系统能耗.图 8、图 9显示, 在负载周期性和非周期性动态变化时, 运行500个时间窗映射虚拟网络(对称网络拓扑结构), Pn分别在1W、15W、30W下的系统能耗.可以看出, Pn越大, 系统能耗越多, 这与底层网络能耗特点有关; 多反馈控制算法在不同Pn下都显著地减少了系统能耗, 原因是主反馈与局部反馈较好地利用了不同虚拟网络映射之间的关系、节点与链路映射对底层网络激活资源集合的影响, 有效地控制了底层网络资源激活数量和范围, 从而减少了系统能耗; 随着Pn的增大, 多反馈控制算法节约的能耗越多, 这是由于, 节约的能耗∆E=Pn·∆L, 其中, ∆L是底层休眠链路数量之间的差额, 不同算法的∆L是相同的, Pn越大, 节约的能耗∆E越多.
3) 步长LDecrNum的取值应该尽量小.表 1显示了虚拟网络是对称网络拓扑结构下的性能比较结果, 在负载周期性以及非周期性动态变化时, 随着LDecrNum的增大, 运行时间和收益成本比变化不大, 系统能耗具有增大的趋势; 特别是当步长设置为400和500时, 虚拟网络接收率少于100%, 影响了系统收益, 这是因为, SLink设置的是底层网络激活链路数量, 多反馈机制是通过SLink设置映射范围, 从而建立了不同虚拟网络映射之间的主反馈关系以及节点与链路映射的局部反馈关系, 当LDecrNum过大时, 由Slink–=LDecrNum使得Slink < 0, 直接判定虚拟网络映射失败, 过大的步长会导致虚拟网络映射的失败, 影响了虚拟网络接收率.由于虚拟网络接收率小于100%, 导致了系统能耗也相应地减少, 但系统收益也随之减少, 应尽量避免这种情况的发生, 因此, LDecrNum的取值应该尽量小, 以调节多反馈控制底层网络激活资源的数量和范围, 实现减少系统能耗与增加系统收益等目标.
4) 本文提出的算法提高了收益成本比.图 10、图 11显示了在负载周期性与非周期性动态变化时不同映射算法的收益成本比, 可以看出, MFB-PR-VNE算法比其他算法都有所提高, 例如图 10(b)所示, 当运行500个时间窗, 在对称网络拓扑结构虚拟网络与负载周期性变化时, MFB-PR-VNE算法比EA-VNE、ACO-PE-VNE、PR-VNE算法分别提高了0.072、0.057、0.000 037;如图 11(b)所示, 在对称网络拓扑结构虚拟网络与负载非周期性变化时, MFB-PR-VNE算法比EA-VNE、ACO-PE-VNE、PR-VNE算法分别提高了0.095、0.078、0.012, 这是因为, 在非饱和状态下, 映射成本比受到链路映射影响, 多反馈虚拟网络映射算法充分利用了不同虚拟网络映射之间的主反馈关系以及节点与链路映射的局部反馈关系, 能够较好地控制底层网络激活资源的数量和范围, 即通过主反馈通路增大主动休眠链路数量, 减小主动激活链路数量, 并通过局部反馈通路从大到小逐步缩小可利用底层资源范围, 两者共同减小了链路映射路径长度, 从而提高了收益成本比.其中, MFB-PR-VNE与PR-VNE算法几乎相同, 这是因为MFB-PR-VNE算法是基于PR-VNE算法而设计的.
5) 虚拟网络映射算法运行时间比较.在同一台计算机模拟运行500个时间窗映射对称网络拓扑结构虚拟网络所用的时间如下所示:在负载周期性动态变化时, EA-VNE、PR-VNE、ACO-PE-VNE和MFB-PR-VNE算法分别为30s、29s、460s和90s;在负载非周期性动态变化时, EA-VNE、PR-VNE、ACO-PE-VNE和MFB-PR-VNE算法分别为22s、30s、400s和80s.可以看出, MFB-PR-VNE比PR-VNE算法增加了少量时间, 这是因为其增加了多反馈感知时间所致.由于设置了局部反馈控制的次数, MAXTRY取值为10, 当tryAgain > MAXTRY时, 不需要重新进行映射, 而且nodeEmbed(index)和LinkEmbed(index)选择的算法时间复杂度低, 因此, 本文所提算法适合大规模虚拟网络实时映射.
3.4.2 饱和状态下的性能比较1) 在负载周期性动态变化时, 本文所提算法在虚拟网络接收率、系统收益方面与PR-VNE算法相当.图 12、图 13显示了MFB-PR-VNE与PR-VNE算法取得了相似的结果, 这是因为, 在饱和状态下, 没有足够的资源映射虚拟网络, MFB-PR-VNE算法退化为PR-VNE算法.随着底层网络负载动态增加和减少, 本文所提算法在主反馈中利用了不同虚拟网络映射之间的关系, 感知动态变化对底层激活资源集合的影响, 并通过记录底层休眠链路数量的全局变量RSLink传递给下一个虚拟网络映射, 进而在下一个虚拟网络映射中, 通过节点与链路映射局部反馈调节底层休眠资源集合, 使得整个虚拟网络映射过程中能够适应这种变化, 在不同拓扑结构和对称拓扑结构下, 本文所提算法在虚拟网络接收率上有所提高(例如图 12(b)、图 12(e)所示).
2) 需要权衡系统能耗与系统收益、虚拟网络接收率之间的关系.图 12、图 14显示, 在负载周期性动态变化时, 虚拟网络映射收益、接收率与底层网络系统能耗之间的变化; 图 13、图 15显示, 在负载非周期性动态变化时, 虚拟网络映射收益、接收率与底层网络系统能耗之间的变化.可以看出, 无论是在负载周期性变化时, 还是在负载非周期性变化时, 由于接收了更多的虚拟网络, 系统收益与系统能耗必然会增加; 反之, 当接收较少虚拟网络时, 系统收益与系统能耗必然会减少; 在饱和状态下, 休眠节点数量较少, 因此底层休眠链路数量的多少决定了系统能耗, 底层休眠链路数量越多, 系统能耗越低.因此, 在饱和状态下, 需要权衡三者之间的关系, 即在取得高接收率和高收益时, 通常认为系统能耗更高, 因为更多的虚拟网络在运行, 底层网络负载就越高, 系统能耗越大, 反之亦成立.
3) 虚拟网络接收率对收益成本比的影响.从图 12(d)可以看出, 在负载周期性动态变化时, MFB-PR-VNE算法比EA-VNE、ACO-PE-VNE、PR-VNE算法收益成本比分别减少了0.011、0.008、0.000 5, 但其系统收益和虚拟网络接收率都有所提高.由图 13(d)可以看出, 在负载非周期性动态变化时, MFB-PR-VNE算法与PR-VNE算法相当; EA-VNE算法收益成本比最高, 但其接收率和系统收益最低; ACO-PE-VNE算法收益成本比最低, 但其接收率和系统收益最高.可以看出, 接收率和收益越高, 收益成本比越低; 反之亦然.这是因为, 在饱和状态下, 底层网络资源有限, 提高虚拟网络接收率意味着在有限的资源中映射更多的虚拟网络, 底层网络零散资源更多而且分布更广, 因此虚拟网络映射消耗更多链路资源, 从而影响了收益成本比.文献[45]的实验结果表明, 接收率与系统收益成反比, 接收率与收益成本比成正比; 文献[49]的实验结果表明, 接收率与系统收益成正比, 在不同负载下收益成本比与接收率的关系是不同的; 而本文实验结果表明, 接收率与系统收益成正比, 接收率与收益成本比成反比.这些差异与虚拟网络映射当前系统状态有关, 受篇幅所限, 虚拟网络接收率、系统收益与收益成本比三者之间的关系不在这里讨论.
3.4.3 其他性能比较虚拟网络的动态性通常包括多个方面:① 虚拟网络请求的随机到来和离开引起底层网络资源的动态分配和回收; ② 由于底层物理网络发生变化(例如节点或链路的失效、增加新的资源等)引起虚拟网络而重新映射; ③ 由于节能或者整理资源碎片等原因, 需要动态调整当前虚拟网络映射结果; ④ 虚拟网络在运行过程中的需求发生变化引起底层物理网络资源的重新分配和回收.本文主要讨论第1种情况, 即虚拟网络请求引起底层物理网络负载流量呈现周期性/非周期性动态变化下的能耗感知虚拟网络映射, 并统计紧邻时间窗内状态连续发生变化的底层节点数量、链路数量以及系统能耗变化规律来讨论产生的现象.
1) 每个时间窗的系统能耗变化随负载发生变化的规律.图 16显示不同状态及不同变化下的系统能耗变化情况.可以看出, 在系统处于非饱和状态下, 系统能耗随着负载流量周期性动态变化而呈现周期性动态变化; 在系统处于饱和状态下, 系统能耗随着负载流量周期性动态变化而呈现周期性动态变化, 且能够保持在最大值相对较长时间; 在非周期性动态变化下, 系统能耗在饱和及非饱和两种状态能够保持相对稳定.这是因为底层网络能耗模型与节点和链路状态相关, 当系统处于轻负载流量时, 更多的节点和链路处于休眠状态, 而当系统处于较重负载时, 更多的底层网络资源处于激活状态.且在非饱和状态下, 本文所提算法能够有效地节约系统能耗, 原因与第3.4.1节相同.
2) 底层网络资源状态切换存在一定的振荡现象.图 17显示了紧邻时间窗内连续两次发生状态变化的底层节点和链路数量, 可以看出, 无论是饱和状态还是非饱和状态, 是周期性动态变化还是非周期性动态变化, 都存在一定数量的连续进行状态切换的节点和链路.这与本文设定的底层网络资源能耗模型与系统动态性有关, 虚拟网络的到来与离开具有动态随机性, 引起底层网络资源所承载的虚拟节点和链路将呈现动态变化, 底层网络感知这种变化, 从而引起底层网络状态切换.我们将在未来的工作中研究如何减少或防止发生这种振荡现象.
4 结束语
本文研究网络虚拟化环境下的系统能耗问题.随着虚拟网络请求动态到来和退出, 底层网络资源将动态分配与回收, 相应的激活资源也随之动态变化, 即虚拟网络映射的动态性影响底层网络系统能耗; 基于此, 本文利用反馈控制理论, 建立虚拟网络映射主反馈与局部反馈机制, 以消除主动休眠的底层网络链路数量与被动休眠的链路数量的偏差, 抑制虚拟网络映射动态性对底层网络休眠资源集合的干扰, 即主反馈以缩小虚拟网络映射范围的方式、局部反馈以逐步扩大虚拟网络映射范围的方式, 快速地找到适合当前虚拟网络请求的最小底层网络资源集合, 从而提高休眠节点和链路数量, 实现高效节能虚拟网络映射.仿真实验结果验证了虚拟网络映射多反馈控制算法适用于负载周期性与非周期性动态变化环境下大规模虚拟网络实时映射, 显著降低了系统能耗; 并在负载周期性动态变化下, 提高了系统收益与虚拟网络接收率.本文仿真结果适用于基于2/3层SDN的未来网络创新环境中.以OpenFlow技术为代表的SDN, 它分离了网络的控制功能与数据转发功能, 可灵活地控制网络资源分配及其状态改变, 并可实时获取网络拓扑结构信息与更新数据流的传输路径等, 这些特点为能耗感知虚拟网络映射提供了基础, 并为核心网络支持多样化应用创新提供了一条有效的路径.
本文提出的多反馈机制(包括主反馈与局部反馈)算法实现简单、高效, 主反馈是以底层网络主动休眠链路数量RSLink反馈给后续的虚拟网络映射, 局部反馈是以当前虚拟网络映射结果进行反馈, 能够保证在线虚拟网络映射实时性要求.本文所提算法具有良好的适应性, NodeEmbed(index)和LinkEmbed(index)可采用当前多种典型的虚拟网络映射算法, 能够应用在不同物理环境和网络拓扑上.本文所提算法具有较好的扩展性, 可进一步扩展到虚拟机的在线迁移与部署, 可根据需求动态增加节点与资源分配等.本文所提算法具有较强的实用性, 能够有效地测量与管控底层网络资源状态, 支持基础设施服务提供商与网络服务运营商角色的分离等, 为绿色节能新型数据中心的构建提供直接的技术指导.在实际虚拟化网络创新环境平台以及大数据处理中验证算法的实用性与节能效果是我们下一步重点研究的方向.
本文提出的多反馈控制仿真模型和算法与实际物理环境具有一定的差异, 例如对于10Mbps、100Mbps、1Gbps的端口, 能耗与激活的端口数量线性相关[50], 这与本文建立的模型一致, 但是能耗与端口当前的配置有关, 例如从1Gbps到100Mbps、100Mbps到10Mpbs, 能耗是不同的[50], 本文统一端口的能耗, 并未考虑其差异性; 当激活或关闭链路和节点时, 将引起节点和链路状态的切换, 这会产生能量消耗.例如一个具有48个端口的交换机, 当流量为0时, 端口状态切换将引起不同配置下分别消耗了21W、33W、43W的能耗[17], 本文考虑了切换的能耗代价, 但未考虑端口的不同配置; 当底层网络激活资源运行容量接近需求流量时, 将会引起丢包或者延迟等现象[17]的发生; 当发生单点故障时, 应考虑虚拟网络的在线迁移; 节点能耗与类型有关, 例如核心节点能耗为10kW、骨干节点能耗为3kW、城域网节点能耗为1kW、接入节点能耗为2kW等[51], 底层网络链路的能耗与链路长度相关, 每70km需要增加一个信号再生器[51]等等, 本文给出的模型并未考虑节点类型与长度等.这些实际运行环境的特点使得仿真结果与实际运行过程存在差异, 降低能耗将对容错性、系统性能等产生一定的影响.下一步, 我们将对实际环境进行评估, 重点研究本文所提算法在云数据中心的实际能耗以及在降低能耗情况下对容错性能与传输性能的影响.
致谢 本文仿真实验在C3S2服务器上完成, 感谢湖州师范学院C3S2计算中心的大力支持.[1] | Fisher W, Suchara M, Rexford J. Greening backbone networks:Reducing energy consumption by shutting off cables in bundled links. In:Proc. of the ACM SIGCOMM Workshop on Green Networking. 2010. 29-34.[doi:10.1145/1851290.1851297] |
[2] | Barroso LA, Holzle U. The case for energy-proportional computing.IEEE Computer, 2007, 40(12): 33–37. [doi:10.1109/MC.2007.443] |
[3] | Bohrer P, Elnozahy EN, Keller T, Kistler M, Lefurgy C, McDowell C, Rajamony R. The case for power management in Web servers. In:Graybill R, ed. Power Aware Computing. Norwell:Kluwer Academic Publishers, 2002. 261-289. http://dl.acm.org/citation.cfm?id=783075 |
[4] | Lin C, Tian Y, Yao M. Green network and green evaluation:Mechanism, modeling and evaluation.Chinese Journal of Computers, 2011, 34(4): 593–612(in Chinese with English abstract). [doi:10.3724/SP.J.1016.2011.00593] |
[5] | Ye KJ, Wu ZH, Jiang XH, He QM. Power management of virtualized cloud computing platform.Chinese Journal of Computers, 2012, 35(6): 1262–1285(in Chinese with English abstract). [doi:10.3724/SP.J.1016.2012.01262] |
[6] | Chowdhury NMMK, Boutaba R. Network virtualization:State of the art and research challenges.IEEE Communications Magazine, 2009, 47(7): 20–26. [doi:10.1109/MCOM.2009.5183468] |
[7] | Anderson T, Peterson L, Shenker S, Turner J. Overcoming the Internet impass through virtualization.IEEE Computer Magazine, 2005, 38(4): 34–41. [doi:10.1109/MC.2005.136] |
[8] | Sun G, Anand V, Yu HF, Liao D, Li L. Optimal provisioning for elastic service oriented virtual network request in cloud computing. In:Proc. of the Global Communications Conf. (GLOBECOM). Anaheim:IEEE, 2012. 2517-2522.[doi:10.1109/GLOCOM.2012.6503495] |
[9] | Drutskoy D, Keller E, Rexford J. Scalable network virtualization in software-defined networks.IEEE Internet Computing, 2013, 17(2): 20–27. [doi:10.1109/MIC.2012.144] |
[10] | Sharkh MA, Jammal M, Shami A, Ouda A. Resource allocation in a network-based cloud computing environment:Design challenges.IEEE Communications Magazine, 2013, 51(11): 46–52. [doi:10.1109/MCOM.2013.6658651] |
[11] | Wei XL, Chen M, Fan JH, Zhang GM, Lu ZY. Architecture of the data center network.Ruan Jian Xue Bao/Journal of Software, 2013, 24(2): 295–316(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4336.html[doi:10.3724/SP.J.1001.2013.04336] |
[12] | Wang YZ, Jin XL, Cheng XQ. Network big data:Present and future.Chinese Journal of Computers, 2013, 36(6): 1125–1138(in Chinese with English abstract). [doi:10.3724/SP.J.1016.2013.01125] |
[13] | Li D, Chen GH, Ren FY, Jiang CL, Xu MW. Data center network research progress and trends.Chinese Journal of Computers, 2014, 37(2): 259–274(in Chinese with English abstract). [doi:10.3724/SP.J.1016.2014.00259] |
[14] | Guo C, Lu G, Wang H, Yang S, Kong C, Sun P, Wu W, Zhang Y. SecondNet:A data center network virtualization architecture with bandwidth guarantees. In:Proc. of the ACM CONEXT 2010. Philadelphia:ACM, 2010.[doi:10.1145/1921168.1921188] |
[15] | Jain S, Kumar A, Mandal S, Ong J, Poutievski L, Singh A, Venkata S, Wanderer J, Zhou J, Zhu M, Zolla J, Holzle U, Stuart S, Vahdat A. B4:Experience with a globally-deployed software defined WAN. In:Proc. of the ACM SIGCOMM 2013 Conf. on SIGCOMM. Hong Kong:ACM, 2013. 3-14.[doi:10.1145/2534169.2486019] |
[16] | Hong CY, Kandula S, Mahajan R, Zhang M, Gill V, Nanduri M, Wattenhofer R. Achieving high utilization with software-driven WAN. In:Proc. of the ACM SIGCOMM 2013 Conf. on SIGCOMM. Hong Kong:ACM, 2013. 15-26.[doi:10.1145/2534169.2486012] |
[17] | Heller B, Seetharaman S, Mahadevan P, Yiakoumis Y, Shama P, Banerjee S, McKeown N. ElasticTree:Saving energy in data center networks. In:Proc. of the 7th USENIX Symp. on Networked Systems Design and Implementation (NSDI). San Jose:USENIX Association Berkeley, 2010. http://dl.acm.org/citation.cfm?id=1855711.1855728&coll=DL&dl=GUIDE&CFID=446447820&CFTOKEN=90899728 |
[18] | Su S, Zhang Z, Liu AX, Cheng X, Wang Y, Zhao X. Energy-Aware virtual network embedding. IEEE/ACM Trans. on Networking, 2014, 10:1-14.[doi:10.1109/TNET.2013.2286156] |
[19] | Zhou Y, Li Y, Wang F, Su L, Jin DP, Zeng LG. OpenFlow network experiment platform.Journal of Tsinghua University (Sci. & Tech.), 2012, 52(11): 1540–1544(in Chinese with English abstract). [doi:10.16511/j.cnki.qhdxxb.2012.11.014] |
[20] | Zhou Y, Li Y, Su L, Jin DP, Zeng LG. Research of network innovation exerpimental environment based on network virtualization.Acta Electronica Sinica, 2012, 40(11): 2152–2157(in Chinese with English abstract). [doi:10.3969/j.issn.0372-2112.2012.11.002] |
[21] | Fischer A, Botero JF, Beck MT, Meer Hd, Hesselbach X. Virtual network embedding:A survey.IEEE Communications Surveys & Tutorials, 2013, 15(4): 1888–1906. [doi:10.1109/SURV.2013.013013.00155] |
[22] | Chabarek J, Sommers J, Barford P, Estan C, Tsiang D, Wright S. Power awareness in network design and routing. In:Proc. of the INFOCOM. Phoenix:IEEE, 2008. 457-465.[doi:10.1109/INFOCOM.2008.93] |
[23] | Botero JF, Hesselbach X, Duelli M, Schlosser D, Fischer A, Meer H. Energy efficient virtual network embedding.IEEE Communications Letters, 2012, 16(5): 756–759. [doi:10.1109/LCOMM.2012.030912.120082] |
[24] | Garroppo R, Nencioni G, Tavanti L, Scutella MG. Does traffic consolidation always lead to network energy savings.IEEE Communication Letters, 2013, 17(9): 1852–1855. [doi:10.1109/LCOMM.2013.070913.131244] |
[25] | Botero JF, Hesselbach X. Greener networking in a network virtualization environment.Computer Networks, 2013, 57(9): 2021–2039. [doi:10.1016/j.comnet.2013.04.004] |
[26] | Su S, Zhang Z, Cheng X, Wang Y, Luo Y, Wang J. Energy-Aware virtual network embedding through consolidation. In:Proc. of the Computer Communications Workshops (INFOCOM WKSHPS). Orlando:IEEE, 2012. 127-132.[doi:10.1109/INFCOMW.2012.6193473] |
[27] | Wang B, Chang X, Liu J, Muppala JK. Reducing power consumption in embedding virtual infrastructures. In:Proc. of the Globecom Workshops (GC Wkshps). Anaheim:IEEE, 2012. 714-718.[doi:10.1109/GLOCOMW.2012.6477662] |
[28] | Chang X, Wang B, Liu J, Muppala JK. Green cloud virtual network provisioning based ant colony optimization. In:Proc. of the 15th Annual Conf. Companion on Genetic and Evolutionary Computation. New York:ACM, 2013. 1553-1560.[doi:10.1145/2464576.2482735] |
[29] | Ding J, Liu J, Liu YJ. Virtual network embedding for multi-topology virtual network request.Journal of Beijing University of Posts and Telecommunications, 2015, 38(3): 88–93(in Chinese with English abstract). [doi:10.13190/j.jbupt.2015.03.014] |
[30] | Wang B, Chen SQ, Wang ZM, Wang WZ. Energy efficient virtual network embedding based on searching network centrality kernel.Application Research of Computers, 2015, 32(7): 2087–2092(in Chinese with English abstract). [doi:10.3969/j.issn.1001-3695.2015.07.041] |
[31] | Gong SQ, Chen J, Wang W. Energy-Aware virtual network embedding algorithm for heterogeneous nodes.Journal of Electronic & Information Technology, 2015, 37(8): 2021–2027(in Chinese with English abstract). [doi:10.11999/JEIT141527] |
[32] | Tarutani Y, Ohsita Y, Murata M. Virtual network reconfiguration for reducing energy consumption in optical data centers.Journal of Optical Communications and Networking, IEEE/OSA, 2014, 6(10): 925–942. [doi:10.1364/JOCN.6.000925] |
[33] | Nguyen K, Cheriet M. Environment-Aware virtual slice provisioning in green cloud environment.IEEE Trans. on Services Computing, 2015(8): 507–519. [doi:10.1109/TSC.2014.2362544] |
[34] | Chen XH, Li CZ. Energy efficient virtual network embedding for path splitting. In:Proc. of the 16th Asia-Pacific Network Operations and Management Symposium. Hsinchu, 2014. 1-4.[doi:10.1109/APNOMS.2014.6996550] |
[35] | Chen XH, Li CZ, Chen LY, Zeng ZB. Energy efficient virtual network embedding based on actively hibernating substrate nodes and links.Ruan Jian Xue Bao/Journal of Software, 2014, 25(7): 1416–1431(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4603.htm[doi:10.13328/j.cnki.jos.004603] |
[36] | Chen XH, Li CY, Jiang YL. Optimization model and algorithm for energy efficient virtual node embedding.IEEE Communications Letters, 2015, 19(8): 1327–1330. [doi:10.1109/LCOMM.2015.2442575] |
[37] | Bolla R, Bruschi R, Cianfrani A, Listanti M. Enabling backbone networks to sleep.Network, 2011, 25(2): 26–31. [doi:10.1109/MNET.2011.5730525] |
[38] | Barroso LA, Hölzle U. The datacenter as a computer:An introduction to the design of warehouse-scale machines. In:Mark DH, ed. Synthesis Lectures On Computer Architecture. San Rafael:Morgan & Claypool Publishers, 2009. 1-108.[doi:10.2200/S00193ED1V01Y200905CAC006] |
[39] | Economou D, Rivoire S, Kozyrakis C. Full-System power analysis and modeling for server environments. In:Proc. of the Workshop on Modeling, Benchmarking, and Simulation. Boston, 2006. 70-77. http://hdl.handle.net/10211.1/715 |
[40] | Turner JS, Crowley P, DeHart J, Freestone A, Heller B, Kuhns F, Kumar S, Lockwood J, Lu J, Wilson M, Wiseman C, Zar D. Supercharging planetlab:A high performance, multi-application, overlay network platform.ACM SIGCOMM Computer Communication Review, 2007, 37(4): 85–96. [doi:10.1145/1282427.1282391] |
[41] | Lu GH, Guo CX, Li YL, Zhou ZQ, Yuan T, Wu HT, Xiong YQ, Gao R, Zhang YG. Serverswitch:A programmable and high performance platform for data center networks. In:Proc. of the 8th USENIX Conf. on Networked Systems Design and Implementation. Berkeley:USENIX Association, 2011. 1-14. https://www.usenix.org/legacy/events/nsdi11/tech/full_papers/Lu_Guohan.pdf |
[42] | Unnikrishnan D, Vadlamani R, Liao Y, Dwaraki A, Crenne J, Gao L, Tessier R. Scalable network virtualization using FPGAs. In:Proc. of the 18th Annual ACM/SIGDA Int'l Symp. on Field Programmable Gate Arrays. New York:ACM, 2010. 219-228.[doi:10.1145/1723112.1723150] |
[43] | Sivaraman V, Vishwanath A, Zhao Z, Russell C. Profiling per-packet and per-byte energy consumption in the NetFPGA Gigabit router. In:Proc. of the Computer Communications Workshops (INFOCOM WKSHPS). Shanghai:IEEE, 2011. 331-336.[doi:10.1109/INFCOMW.2011.5928833] |
[44] | Chowdhury NMMK, Rahman MR, Boutaba R. Virtual network embedding with coordinated node and link mapping. In:Proc. of the INFOCOM. Rio de Janeiro:IEEE, 2009. 783-791.[doi:10.1109/INFCOM.2009.5061987] |
[45] | Cheng X, Su S, Zhang Z, Wang H, Yang F, Luo Y, Wang J. Virtual network embedding through topology-aware node ranking.ACM SIGCOMM Computer Communication Review, 2011, 41(2): 38–47. [doi:10.1145/1971162.1971168] |
[46] | Zegura EW, Calvert KL, Bhattacharjee S. How to model an internetwork. In:Proc. of the 15th Annual Joint Conf. of the Computer Communications. San Francisco:IEEE Computer and Communications Societies, 1996. 594-602.[doi:10.1109/INFCOM.1996.493353] |
[47] | Ananthanarayanan G, Katz RH. Greening the switch. In:Proc. of the 2008 Conf. on Power Aware Computing and Systems. Berkeley:USENIX Association, 2008. https://www.usenix.org/legacy/event/hotpower08/tech/full_papers/ananthanarayanan/ananthanarayanan_html/index.html |
[48] | Chiaraviglio L, Mellia M, Neri F. Energy-Aware backbone networks:A case study. In:Proc. of the Int'l Conf. on Communications Workshop. Dresden:IEEE, 2009. 1-5.[doi:10.1109/ICCW.2009.5208038] |
[49] | Chowdhury M, Rahman M.R, Boutaba R. ViNEYard:Virtual network embedding algorithms with coordinated node and link mapping.IEEE/ACM Trans. on Networking (TON), 2012, 20(1): 206–219. https://www.researchgate.net/publication/224247239_ViNEYard_Virtual_Network_Embedding_Algorithms_With_Coordinated_Node_and_Link_Mapping[doi:10.1109/TNET.2011.2159308] |
[50] | Mahadevan P, Sharma P, Banerjee S, Ranganathan P. A power benchmarking framework for network devices. In:Proc. of the IFIP Networking. Aachen:Springer-Verlag, 2009. 795-808.[doi:10.1007/978-3-642-01399-7_62] |
[51] | Chiaraviglio L, Mellia M, Neri F. Minimizing ISP network energy cost:Formulation and solutions.IEEE/ACM Trans. on Networking(TON), 2012, 20(2): 463–476. [doi:10.1109/TNET.2011.2161487] |
[4] | 林闯, 田源, 姚敏. 绿色网络和绿色评价:节能机制, 模型和评价. 计算机学报, 2011, 34(4): 593–612. [doi:10.3724/SP.J.1016.2011.00593] |
[5] | 叶可江, 吴朝晖, 姜晓红, 何钦铭. 虚拟化云计算平台的能耗管理. 计算机学报, 2012, 35(6): 1262–1285. [doi:10.3724/SP.J.1016.2012.01262] |
[11] | 魏祥麟, 陈鸣, 范建华, 张国敏, 卢紫毅. 数据中心网络的体系结构. 软件学报, 2013, 24(2): 295–316. http://www.jos.org.cn/1000-9825/4336.html[doi:10.3724/SP.J.1001.2013.04336] |
[12] | 王元卓, 勒小龙, 程学旗. 网络大数据:现状与展望. 计算机学报, 2013, 36(6): 1125–1138. [doi:10.3724/SP.J.1016.2013.01125] |
[13] | 李丹, 陈贵海, 任丰原, 蒋长林, 徐明伟. 数据中心网络的研究进展与趋势. 计算机学报, 2014, 37(2): 259–274. [doi:10.3724/SP.J.1016.2014.00259] |
[19] | 周烨, 李勇, 王芳, 杨旭, 金德鹏, 曾烈光. 基于OpenFlow的网络实验平台技术. 清华大学学报(自然科学版), 2012, 52(11): 1540–1544. [doi:10.16511/j.cnki.qhdxxb.2012.11.014] |
[20] | 周烨, 李勇, 苏厉, 金德鹏, 曾烈光. 基于虚拟化的网络创新实验环境研究. 电子学报, 2012, 40(11): 2152–2157. [doi:10.3969/j.issn.0372-2112.2012.11.002] |
[29] | 丁健, 刘江, 刘韵洁. 一种面向多拓扑类型请求的虚拟网络映射算法. 北京邮电大学学报, 2015, 38(3): 88–93. [doi:10.13190/j.jbupt.2015.03.014] |
[30] | 王博, 陈庶樵, 王志明, 王文钊. 基于中心度寻核的能效优化虚拟网映射算法. 计算机应用研究, 2015, 32(7): 2087–2092. [doi:10.3969/j.issn.1001-3695.2015.07.041] |
[31] | 龚水清, 陈靖, 王葳. 面向节点异构的能耗感知虚拟网络映射算法. 电子与信息学报, 2015, 37(8): 2021–2027. [doi:10.11999/JEIT141527] |
[35] | 陈晓华, 李春芝, 陈良育, 曾振柄. 主动休眠节点链路的高效节能虚拟网络映射. 软件学报, 2014, 25(7): 1416–1431. http://www.jos.org.cn/1000-9825/4603.htm[doi:10.13328/j.cnki.jos.004603] |