rethinking virtual network embedding..substrate support for path splitting and migration阅读笔记
1.引言
网络虚拟化,
1.支持同一个底层网络有多种网络架构,每种架构定制一个应用或用户社区。
2.也可以让多个服务提供者在共同的物理基础设施上定制端到端的服务。如Voice over IP(VoIP)在虚拟网络上表现的很好。网上银行运行在虚拟网络上可以更安全。
要高效利用底层资源需要对于虚拟网络映射的有效的技术,这项技术非常有挑战性,有4点主要原因:
1.节点和链路的限制。
每个虚拟网络请求都有资源限制,如:1.节点上的处理资源(如需要每个节点提供1GHz的CPU)。2.链路上的带宽资源(如每个链路都需要10Mbps的带宽)。此外,虚拟网络本身会增强对节点或链路传播时延的限制,例如:商业游戏服务需要在几个主要城市设置虚拟节点,要求虚拟链路的传播时延要在50毫秒以下。
2.权限控制。
由于底层资源有限,虚拟网络需要存储节点和链路的资源量,并且通过权限控制适当的拒绝或者延后一些虚拟网络请求。
3.在线请求。
虚拟网络请求不知道什么时候会来,也不知道什么时候会走。实验者可能随时进行实验也可能随时停止;服务提供者可能随时提供一个服务也可能随时撤销掉。实际使用中,映射算法必须在虚拟网络请求到达的时候控制它,而不是事先控制一个大的请求集合。由于映射算法对于请求道达时的情况没有可见度,所以在线问题很难解决。
4.多种拓扑。
虚拟网络既要支持特定的拓扑,又要支持普通的拓扑。例如:研究者需要在不同拓扑上运行他们的协议,以验证协议在不同拓扑上的表现。服务提供者会为应用剪裁网络拓扑,以星型拓扑提供用户到达中心服务器的权限,以树形拓扑分发视频流。
即使不考虑以上4点,问题依然难以计算。由于结合了节点和链路的限制,虚拟网络映射问题是一个NP难题,即使在离线的情况下。即使虚拟节点的位置已经确定,根据链路带宽限制来映射网络依然是NP难题,在线的情况下更难解决。传统的解决在先问题的方法都行不通,如动态规划,因为虚拟网络请求无法预料,且当底层网络较大时,搜索空间会大到无法接受。
以往的研究通过限制问题空间解决以上难题,但这会牺牲实际的适用性。如只考虑带宽限制或者不进行权限的控制。
本文提出一种不同的方法:考虑潜在的底层网络的性能,以使得底层网络能更好地支持虚拟网络映射的问题。让我们可以创造更简单的映射算法以更高效利用底层资源,不受上面4点困难的影响。
特别地,我们通过允许一个虚拟链路与多个底层链路相匹配这种灵活的匹配比例以简化虚拟链路映射问题。
对于高效的在线请求,我们允许底层网络定期对与存在的虚拟网络的匹配进行再优化,选择新的路径或者对已有路径重新优化。灵活的对应策略不会影响实际网络的基础性能,如预期带宽、传播时延、特定的包的交付,具体在3.3部分讨论
灵活的对应策略使得虚拟网络和底层网络的映射可以在多项式时间内完成,可以更高效地利用底层带宽,并且提升对于底层故障的健壮性。这个特性解决了上面4点问题中的前三点。对于第4点问题,我们引入了对于如星型这样的一般的拓扑定制的节点映射算法。
文章剩余部分结构如下:
第二部分,介绍一种与之前的研究类似的算法,支持权限控制和在线请求,与第三部分我们所提出的支持路径转移、一对多的算法相对比。第四部分进行模拟以评估我们的算法并且量化更灵活的底层的益处。第五部分,呈现了对于星型拓扑定制的节点映射算法并且讨论了最初模拟结果。第六部分,算法的相关工作。第七部分,总结文章。
4.性能评估
首先描述性能评估环境;接下来展示评估的主要结果。
评估主要关注对底层支持虚拟网络映射中的灵活的路径分裂和转移的益处的量化。
4.1 评估环境
虚拟网络映射的模拟器。
使用人造的网络来研究其趋势并量化路径分裂和转移的好处。
底层网络。
GT-ITM:生成网络拓扑的工具。
使用GT-ITM生成底层网络。
底层网络配置为:
有100个节点和500条左右的链路,与中等规模的网络服务提供商(ISP)相一致。CPU资源和链路带宽规定为0到100个单元。
虚拟网络请求
在图6-12中,虚拟网络请求的节点数目在2-10之前随机产生。图11中,我们测试了更大的请求,其节点数目在2-20之间。
(泊松过程:一种累计随机事件发生次数的最基本的独立增量过程。例如随着时间的增长,累计某电话交换台收到的呼唤次数,就构成一个泊松过程。)
每对节点以0.5的概率连接。也就是说,有n个节点的虚拟网络请求平均有n(n-1)/4条链路。
虚拟网络请求的到达以泊松过程为模型,平均每个时间窗5个请求。
虚拟网络请求的持续时间服从指数分布,平均10个时间窗。
我们将我们的模拟运行500个时间窗,相当于一次模拟有2500个请求。
各参数含义如下:
E[CPU]:虚拟节点对CPU的平均需求。
E[BW]:虚拟链路对带宽的平均需求。
RPS(%):支持路径分裂的请求占请求总数的比例。
DELAY:请求等待的时间。(请求每次未被映射则返回请求队列等待下一次,若超过这个时间还未被映射,则丢弃这个请求。)
α:收益函数中的权重常量。(等式2中的,α越大CPU在收益中占的比重越大)
T try:在算法3中,即支持路径分裂的映射算法中,若循环T try次还没能找到可行的解决方案,则丢弃对不可行性影响最大的请求。
(对不可行性影响最大的请求:对瓶颈底层链路有有最高带宽需求的请求。
瓶颈底层链路:所需带宽减实际带宽差值最大的底层链路。)
比较方法。
以前的那些算法,很多问题都没有解决(如第一部分提到的:节点和链路的约束,权限控制,在线请求),所以难以和本文中的算法相比较。故选择2.2部分中的算法作为比较的底线。
4.2 评估结果
评估结果量化了多种环境下的路径分裂和转移的益处。通过将一些关键的观察点加以概括来呈现模拟的结果。
(1)越多的请求支持路径分裂,收益就会越高,通过路径转移可以进一步提高收益。
如图6,不考虑请求对CPU的需求的影响,E[CPU]=0,α=0。每个没有被满足的请求,最多在请求队列中等待3个时间窗口,DELAY=3。算法3中的节点重匹配只尝试进行一次,T try=1。
图6所示,随着RPS的增大,支持路径分裂的算法可以更有效地利用底层资源,使得平均收益增大。当RPS达到100%的时候,比起底线算法提升了120%的平均效率。当RPS达到50%的时候,比起底线算法提升了65%的效率。
图6还显示了,路径转移在路径分裂的基础上有进一步的平均收益提升,当RPS达到100%的时候,支持路径转移的算法比只支持路径分裂的算法平均收益提升15%(路径转移是在路径分裂基础上的技术)。意味着路径分裂是收益提升的主要因素,路径转移在其基础上提升了对在线虚拟网络映射问题的适用性,处理起来更灵活。预期中,节点转移还可以进一步增加收益,以更多的服务混乱为代价。
当带宽需求较低(E[BW]=25)、底层资源丰富的时候。两种算法的收益保持一致。之后会在图12中介绍,这种情况下支持路径分裂的算法比底线方法节省开支。注意在图6中,E=25和E=50的时候收益改变了,因为受益依赖于请求中的带宽总量。
(2)当CPU需求被考虑的时候,路径分裂仍然会增加收益。
图9种,考虑了CPU和带宽两种需求。请求平均需要50带宽,25CPU。请求的等待时间为3,即到来之后3个时间窗口未被处理则丢弃。α为0即CPU在收益中不占比重,T try为1即尝试一次算法3中的节点重匹配。
观察得,路径分裂有收益提升,在RPS=100的时候,比底线算法提升100%;RPS=50的时候,提升50%左右。然而,路径转移的收益没那么明显,这是因为我们只引入了路径转移,当节点的CPU资源为瓶颈的时候没有帮助。注意,在有CPU需求的情况下,收益增加的不如没有CPU需求的情况下多。这是意料之中的,因为对CPU的需求减少了接收请求的数量。
图10进一步研究CPU资源的约束,RPS固定为100%,α变化,其他条件和图9一样。随着α的增大(CPU资源在收益中占的比重),路径分裂的收益降低,因为路径分裂和路径转移只提升带宽资源的利用率。α为0.5时,提升100%,α为1时,提升60%。
(3)节点重匹配对收益影响不大,请求的等待时间也对收益影响不大。如图8,因为随着T try的增大,需要将节点重匹配多做几次,这也是开支。
(4)路径分裂和路径转移可以提升规模更大的请求的收益。
如图11。节点数目为2-20(其他的都是2-10)。保持需求总量与之前的实验一样。
路径分裂提升50%,比图6中E[BW]=50时的120%少。这时因为没有改变总资源需求量,规模大的请求有更多的链路,这样每个链路上需求的带宽就少了。另一个实验中,当我们提升了请求的规模,以达到不改变每条链路上的平均带宽,实现了更多的益处。这个实验省略掉,因为篇幅限制。
(5)没有权限控制的情况下,路径分裂和转移降低开销。
如果底层网络资源很多,每个时间窗口来的请求规模较小,无论算法支不支持路径分裂,都可以满足请求。也就是说,底线算法和支持路径分裂的算法长期收益一样。然而,支持路径分裂的算法更节省底层资源。
(中间一段在纸上)
5.定制的节点匹配
虽然虚拟网络可以有任意的拓扑,我们仍然希望有一些拓扑相对常用,因为它们满足了网络虚拟化中的主要应用。例如:环形拓扑用于将多个站点链接到中心服务器,如游戏或者CDN(Content Distribution Network,内容分发网络);树形拓扑一般用于将内容分发给大量的接收者,如IPTV(网络电视)的多路广播分发。
常用的一小部分拓扑架构可以在虚拟网络映射问题中找到更好的解决方案。在正在进行的工作中,我们呈现了为特殊拓扑定制的节点匹配技术,从简单的环形拓扑开始。
作为一个例子,提出算法5,针对环形拓扑定制的,从算法1的贪心节点匹配扩展而来。
6.相关工作
之前的研究探索过如何将虚拟专用网络(VPNs)映射到共享的提供商拓扑上。VPN的资源限制只有带宽需求,没有节点需求。虚拟网络映射问题与VPN设计问题不同之处在于,在任意拓扑下,必须处理节点约束也要处理边的约束。
虚拟网络映射方面的相关工作面对难题,选择了放弃一方面或多方面的特性。主要特性包括:1.请求是否是在线的。2.请求是否有节点约束或者链路约束。3.权限控制能否在资源不足时拒绝请求。4.支持什么虚拟拓扑。
一些之前的研究将注意力放在离线问题,这种情况下整个过程中所有的虚拟网络请求都是知道的。Zhu和Ammar假设底层网络资源无限,将目标定为不需要权限控制的情况下实现分路平衡。
拥有常见拓扑的虚拟网络请求的解决方式是将其再次分割为多个星型拓扑,将更多的资源分配给各个小拓扑的中心节点。我们的贪心算法是基于这篇文章的中心思想。
Lu和Turnner考虑了一个离线问题,只针对一个单独的主干星型拓扑的虚拟网络,他们的目标是最小化开销。他们假定只有带宽约束而且底层网络资源无限,没有权限控制的需要。
关于在线问题,Fan和Ammar考虑了对于有动态交流需求的虚拟网络的在线拓扑重配置政策,但是没有考虑如CPU资源之类的节点约束。他们也假定底层网络资源无限,以接受所有请求(也就是说没有权限控制),并寻找一种策略去降低开销。
Zhu和Ammar也通过周期性重计算整体映射方案解决了在线问题。
Emulab testbed使用的分配算法在带宽约束方面考虑了在线请求,节点约束在这个方案中是排他的(也就是说不同虚拟网络不能共用一个底层节点)。权限控制在[26]中没有被描述,但是可以推断emulab会在底层链路带宽或节点资源不足的时候拒绝请求。Emulab的PlanetLab端口为想要进入PlantLab testbed的用户提供资源分配服务。它以低cpu和内存代价为用户搜索PlantLab节点。
我们的工作考虑了第一部分中的全部4项挑战。特别地,我们通过底层对路径分裂和转移的支持提升了链路匹配算法。
7.结论
目前对网络虚拟化研究的一个关键问题是虚拟网络映射问题,有各种约束条件令它难以被计算。这篇文章中,我们不是通过限制问题空间来使得问题可以计算,而是提出更灵活的底层网络以更好地支持虚拟网络映射。这中灵活性包括路径分裂和转移。路径分裂(多路)在许多网络研究主题中经常出现,我们展示了底层的路径分裂可以使得虚拟网络映射的开销更有效率。从理论和实践的方面,我们展示了允许底层路径分裂和转移将会使我们获得更好的资源利用率。通过我们的公开的模拟器,我们展示了这些途径在使得网络映射更容易计算且更有效率的收益。
rethinking virtual network embedding..substrate support for path splitting and migration阅读笔记的更多相关文章
- On the Optimal Approach of Survivable Virtual Network Embedding in Virtualized SDN
Introduction and related work 云数据中心对于虚拟技术是理想的创新地方. 可生存性虚拟网络映射(surviavable virtual network embedding ...
- 《Network Security A Decision and Game Theoretic Approach》阅读笔记
网络安全问题的背景 网络安全研究的内容包括很多方面,作者形象比喻为盲人摸象,不同领域的网络安全专家对网络安全的认识是不同的. For researchers in the field of crypt ...
- [Windows Azure] Create a Virtual Network for Site-to-Site Cross-Premises Connectivity
Create a Virtual Network for Site-to-Site Cross-Premises Connectivity This tutorial walks you throug ...
- [Windows Azure] Windows Azure Virtual Network Overview
Windows Azure Virtual Network Overview 18 out of 33 rated this helpful - Rate this topic Updated: Ap ...
- Network Embedding 论文小览
Network Embedding 论文小览 转自:http://blog.csdn.net/Dark_Scope/article/details/74279582,感谢分享! 自从word2vec横 ...
- Windows Azure Cloud Service (44) 将Cloud Service加入Virtual Network Subnet,并固定Virtual IP Address(VIP)
<Windows Azure Platform 系列文章目录> 在之前的文章中,笔者已经详细介绍了如何将Virtual Machine加入Virtual Network,并且绑定固定的Pr ...
- [SDK2.2]Windows Azure Virtual Network (1) 概念
<Windows Azure Platform 系列文章目录> Windows Azure Virtual Network是非常重要的概念,其主要作用有以下两点: 1.将多台Azure V ...
- [SDK2.2]Windows Azure Virtual Network (2) 创建简单的Virtual Network
<Windows Azure Platform 系列文章目录> 本章笔者将介绍如何创建一个简单的 Virtual Network. 1.首先我们登陆Windows Azure管理界面 ht ...
- [SDK2.2]Windows Azure Virtual Network (3) 创建AD Server并添加至Virtual Network
<Windows Azure Platform 系列文章目录> 在之前的文章中,笔者已经向大家介绍了如何创建一个简单的Azure Virtual Network. 本章我将创建一台域服务器 ...
随机推荐
- 2-5 R语言基础 factor
#因子:分类数据#有序和无序#整数向量+标签label#Male/Female#常用于lm(),glm() > x <- factor(c("female"," ...
- chrome主页被篡改为360导航之解决方式
昨天,安装某款游戏之后,发现chrome的主页被篡改为360导航. 进入chrome设置改动主页,又一次启动chrome还是360导航,后来发如今chrome快捷方式的属性中目标后面加了一串360导航 ...
- BZOJ3632:外太空旅行(最大团,DFS)
Description 在人类的触角伸向银河系的边缘之际,普通人上太空旅行已经变得稀松平常了.某理科试验班有n个人,现在班主任要从中选出尽量多的人去参加一次太空旅行活动. 可是n名同学并不是和平相处的 ...
- 天地图api地址
天地图地址 http://lbs.tianditu.com/api-new/examples.html 参考资料 http://lbs.tianditu.com/api-new/class.html
- 【转】android Toast大全(五种情形)建立属于你自己的Toast
Toast用于向用户显示一些帮助/提示.下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast. 1.默认效果 代码 Toast.makeText(getApplicationCo ...
- ansible 常用方法
测试:用shell执行一个脚本很麻烦的,用script执行 1)推送脚本过去,并授权 ansible george -m copy -a "src=/tmp/test.sh dest=/tm ...
- 02-Maven安装配置
1.Maven下载 2.Maven依赖 3.安装Maven 4.Maven目录
- Python实现随机读取文本N行数据
工作中需要判断某个文本中的URL是否能正常访问,并且随机获取其中N行能正常访问的URL数据,我的思路是:读取文本每一行数据,用urlopen访问,将返回状态码为200的URL保存到一个列表,获得列表长 ...
- 20155337《网络对抗》Exp5 MSF基础应用
20155337<网络对抗>Exp5 MSF基础应用 实践目标 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如 ...
- 使用Fortify进行代码静态分析(系列文章)
BUG级别:低 Code Correctness(代码正确性) 1.Class does not Implement Equals(类未能实现Equals方法) Dead Code(死亡代码) 1.U ...