郑鹏飞,尤佳莉,王劲林,曾学文
(1.中国科学院声学研究所国家网络新媒体工程技术研究中心,100190,北京;2.中国科学院大学,100049,北京)
不同于计算资源和存储资源,多租户云很难为网络资源提供定量的服务保障,这是因为网络流在传输过程中会影响经过链路上的其他网络流,且造成的影响被传播到一个区域乃至整个网络。并非所有的网络协议都像TCP一样对网络比较友好,网络流之间的竞争非常普遍。几乎所有的应用都依赖网络通信,而一个多租户云的内部网络流量占据其所有网络流量的80%[1],因此,多租户云的内部网络共享问题值得深入研究。
目前,基于资源预留的算法[2-4]要求在租户分配虚拟机的时候就预留所需的带宽,这些带宽不能被其他租户使用,导致资源利用不充分。一些系统使用 一 般 处 理 器 共 享 (general processor sharing,GPS)理想模型[5]及其近似算法[6-7],以网络流为对象进行公平调度,租户可以通过增加网络流的数量来获取更多的带宽。Seawall和AF-QCN根据目的虚拟机或交换机返回的拥塞信号调整源虚拟机的发送速度,算法未考虑目的虚拟机,且租户可以通过增加虚拟机间的连接数量来提升竞争力[8-9]。Gate-Keeper通过在虚拟机监视器(virtual machine monitor,VMM)中增加流量控制模块限制虚拟机的进出口带宽在一个可接受的范围内,算法只考虑了主机上的网络竞争[10]。NetShare[1]中,每条链路都依据租户的静态权重进行带宽分配,该方法不能反映租户对不同链路的需求差异。FairCloud在链路或者整个网络上按照正在通信的虚拟机规模计算租户应该获得的带宽比例[11],其中,链路级别的公平算法不能很好地实现网络公平,网络级别的公平算法需要监视整个网络所有网络流的状态,在实现上代价较大。
文献[11]指出,多租户云的内部网络共享问题有3个无法同时满足的目标,分别是最小保证、公平分配和最大利用。本文提出一种平衡3个目标的FairNet策略。该策略由主机和链路的带宽分配算法组成,分别在主机上实现了最小保证和最大利用,在链路上实现了公平分配和最大利用。仿真实验结果表明,相比于其他算法,FairNet策略能更好地适应不同的网络通信模式,同时获得较好的链路和网络公平性。
使用G=(V,E,T)代表多租户云,其中,V、E、T分别是设备、链路、租户的集合。设备包括虚拟机、主机和交换机,VV、VH、VS分别是虚拟机、主机、路由器的集合,有V=VV∪VH∪VS。对于租户t∈T,它的虚拟机集合表示为⊆VV。
因此,不同的租户处于竞争状态,P要在租户之间合理地分配带宽。P有3个目标:①公平分配。理想的公平性是根据租户带宽需求按比例进行分配,即
目标①、②、③无法同时得到满足。资源预留策略[2-4]实现了最小保证,保留比例与需求一致时公平分配也得到满足,但是容易造成资源浪费,无法达到最大利用;资源竞争策略[5-11]保证某种程度的公平性,满足最大利用,但是无法提供最小保证。因此,P必须在3个目标之间进行权衡。
此外,在实际网络中,一个租户的带宽需求矩阵很难进行估计和测量,这导致公平分配的公平性无法准确定义。已有算法普遍利用权重代替带宽需求矩阵定义公平分配,即目标①变为
本文提出一种多租户云的内部网络共享策略——FairNet策略,由主机和链路的带宽分配算法组成。
以往的算法没有指出权重设置的原则。观察虚拟机的CPU、内存、存储等资源,可以发现这些资源都有定量的性能参数,参数的值既代表了虚拟机的需求,也代表了系统做出的服务质量承诺。因此,带宽也不应该例外,虚拟机和租户的网络权重能够从一些确定的带宽参数推导得到。
定义虚拟机为
式中:cv,mv,sv分别代表 CPU、内存、存储分别表示保证带宽和最大带宽。主机的所有流量只与其上的虚拟机有关,容易为每个虚拟机提供最小带宽保证,这就是的物理含义。是虚拟机带宽的上限,取决于虚拟化技术和系统的设置。
主机h∈VH进行资源分配时需要满足条件
主机能够确保每个虚拟机的保证带宽,又允许剩余带宽被全部共享,最小保证和最大利用同时得到满足。增加了带宽限制的虚拟机分配问题并非本文讨论的重点,我们将它作为未来的工作。
根据虚拟机模型(6)对带宽的要求,FairNet策略在VMM中实现了虚拟机带宽分配算法,如图1所示。该算法包括限速器、队列和调度器3种组件,每一个虚拟机都有一个限速器和队列,调度器是每个主机一个。虚拟机v的数据包发送后,首先经过限速器,限速器采用流量限速算法[12-13]限制虚拟机的速度不超过bMv,超出限制的数据包被丢弃,而允许通过的数据包被队列缓冲。调度器按照下式计算虚拟机权重,调度不同的队列,以决定输出的数据包
当使用的调度器为GPS[5]时,能够确保虚拟机v获得不小于的保证带宽。实际系统可以使用加权公平排队(weighted fair queuing,WFQ)[6]等 GPS的近似算法。
图1 虚拟机流量控制算法示意图
FairNet策略在交换机上为每一条链路实现基于租户权重的带宽分配算法。链路上的流量组成远比主机复杂,且带宽往往不足以满足所有租户的需求,因此,算法放弃最小保证。
每一个虚拟机在链路上的权重为
式中:β∈[0,1]。以式(11)取代式(9)计算虚拟机的权重,因为式(9)计算的权重可能会发生变化,而在相关链路上同步权重变化代价很大。这样,一个虚拟机集合I的权重为
考虑链路的一个传输方向,租户t∈T在其上传输了流量,流量的发送端和接收端的虚拟机集合分别为X和Y,权重分别为和,则t的权重为
当 H(x,y)=x+y,算法等价于 PS-L[11]。该形式没有考虑发送端和接收端的带宽需求不平衡所带来的影响。考虑链路带宽无限大的极限情况,每个租户获得的带宽由发送端和接收端带宽需求中较小的那个决定,而需求较大的另一端的剩余带宽需求被浪费了。带宽资源有限时,租户获得的实际带宽应满足式(2)的公平性要求,与极限情况比例一致。因此,H(x,y)应由 min(x,y)决定权重的主要部分。FairNet策略中使用的H(x,y)为
式中:γ≥0,用于调节带宽需求不平衡的影响。
在NS-3[14]仿真器上对不同通信模式进行实验。仿真场景如图2所示,包含2个交换机S0、S1,它们间的链路为L。每一个交换机上连接有若干主机,每一个主机上有一个虚拟机。所有链路带宽均为1Gb/s。图2a是1对多的通信模式,租户A的虚拟机A0向A1传输数据,租户B的虚拟机B0同时向虚拟机Bi(i=1,…,N)传输数据。将图2a的数据传输全部反向,则变为了多对1通信模式,如图2b所示。图2c是多对多的通信模式,租户A的虚拟机AMi(i=1,…,5)向ARi(i=1,…,5)传输数据,租户B的虚拟机BMi(i=1,…,P)向BRj(j=1,…,10-P)传输数据。实验中的通信均采用TCP协议,且不限制单条连接的传输速度,因此,租户A、B的带宽取决于在瓶颈链路L上的竞争情况。
图2 不同通信模式场景示意图
对比算法包括文献[11]归纳或提出的Per-S(即Per-Source)、Per-D(即 Per-Destination)、Per-SD、PS-L、PS-N。所有算法均使用 WFQ[6]作为调度算法。虚拟机的保证带宽和最大带宽分别为0.4Gb/s和1Gb/s,PS-L和PS-N以保证带宽作为虚拟机权重,因此,图2中所有虚拟机的权重均相等。
实验结果如图3所示。1对多和多对1通信模式中,PS-S和PS-D的曲线发生了对调,说明这2种算法不具有对称性;Per-SD、PS-L、PS-N随着N 的增大,租户B的带宽越来越多,最终接近其在L上能达到的最大带宽1Gb/s,相应地,租户A的带宽越来越小,直至为0,这对租户A不公平,而FairNet策略较好地保护了租户A在L上的带宽。多对多模式中,PS-S、PS-D依然不具有对称性;PS-L和PS-N将A、B的带宽维持在1∶1的比例,没有考虑发送端、接收端虚拟机数量的差异;Per-SD、FairNet策略则根据发送端、接收端的情况对租户的带宽分配做了相应的调整。因此,FairNet策略更好地符合了不同通信模式的需求,算法参数γ用于调节接收端、发送端带宽需求不平衡对算法的影响。
接下来将评估租户内部通信变化和虚拟机权重的影响。由于1对多模式每个租户仅有1个发送端,容易观察实验结果,因此实验采用1对多模式。
首先测量租户内部通信变化对算法的影响。在1对多通信模式下,N=6,B1、B2、B3在第4~5s间分别发起与B4、B5、B6的通信。图4是实验结果。PS-L和FairNet策略仅根据链路状态计算租户权重,L上的带宽分配未发生变化;PS-N是以整个网络的状态计算租户权重的,Bi(i=1,…,6)产生流量后分走了一部分权重,导致租户B在L上的权重变小,租户A的带宽增加。一个租户内部通信的变化影响另外一个租户的服务质量,显然是不合理的。
图3 不同通信模式场景的实验结果
图4 租户B内部通信变化对算法的影响
最后,测量虚拟机权重对算法的影响。在1对多通信模式下,N=8,除B0外的虚拟机保证带宽为0.1Gb/s,其他参数不变。实验过程中,将B0的保证带宽从0.1Gb/s增加到0.8Gb/s,实验结果如图5所示。PS-L和PS-N在本场景中实验结果相同,被归并为一条曲线。从实验结果可以得出结论:PS-L/PS-N获得的权重随保证带宽的增加线性增加,FairNet策略与PS-L/PS-N的差距随着B0保证带宽的增加越来越小,只有当发送端、接收端的权重接近时,3种算法的结果才接近。产生此趋势是因为FairNet策略考虑了发送端、接收端带宽需求不平衡的影响,而PS-L/PS-N只是简单地将权重相加。此外,从图5可以看出,β决定了虚拟机带宽中保证带宽外的部分对租户权重的影响。
图5 租户B带宽随虚拟机B0保证带宽的变化趋势
实验结果表明,相比于其他算法,FairNet策略更合理地估计了租户在链路上的权重,能够提供更好的链路公平性。同时,在使用FairNet策略的系统中,租户应该充分估计业务的通信模式和通信需求,合理地选择虚拟机配置,以避免选择不当而造成的资源浪费。
实验采用变形的1对多模式,N=1,不同的是,虚拟机A0和B0位于同一台主机上。A0、A1的保证带宽为0.3Gb/s,B0、B1的保证带宽为0.6Gb/s,L的带宽为10Gb/s。B0以固定的速度发送数据,而A0则尽可能快地发送数据。租户A、B的带宽完全取决于主机上的分配情况。实验结果如图6所示,在B0的发送速度未超过保证带宽之前,带宽得到了保证,而超过0.6Gb/s后,与A0产生竞争。参数α调节虚拟机保证带宽外部分带宽占权重的比重,对实验结果整体趋势影响不大。FairNet策略能够确保虚拟机的保证带宽,同时尽可能地最大化带宽利用率。
图6 租户B带宽与发送速度的关系
图7 小规模场景示意图和实验结果
最后,是一个小规模场景的实验。在该场景中,如图7a所示,租户A的虚拟机Ai和Ai+4(i=1,2,3,4)之间产生双向通信,租户B的虚拟机Bi和Bj(i,j=1,…,8)之间产生双向通信。一个完美的带宽分配策略应该在任何情况下使得A和B获得的带宽相等。实验中,测量了3种配置下的带宽分配情况,3种配置分别为:①所有链路均为1Gb/s;②核心链路10Gb/s,其他链路1Gb/s;③核心、汇聚链路10Gb/s,其他链路1Gb/s。实验结果如图7b、图7c、图7d所示,其中FN-0、FN-1分别代表FairNet(γ=0)和FairNet(γ=1)),PS-N在3种情况下都获得了最好的网络公平性,而FairNet策略仅次于PS-N,优于其他算法。考虑到PS-N利用了整个网络的网络流信息,而FairNet策略仅仅利用了链路的局部信息,这样的结果可以接受。同时,越是上层的链路发生拥塞,对公平性的影响越大,在真实系统中,应该尽量地保障上层交换机链路的容量。
本文主要研究了多租户云的内部网络共享问题,提出一种带宽分配策略FairNet策略,它为虚拟机增加了2个带宽相关的参数,分别是保证带宽和最大带宽,并以此为基础分配带宽。在主机上,FairNet策略通过限速器限制虚拟机的速度不超过最大带宽,通过基于权重的调度器保证虚拟机至少能够获得与其保证带宽参数相等的带宽。在链路上,FairNet策略以发送端、接收端的带宽需求的最小值作为主要部分计算权重,并按照权重分配带宽。实验结果表明,FairNet策略考虑了租户在发送端和接收端带宽需求不平等的影响,能够适应不同的网络通信模式,达到了较好的链路和网络公平性。
[1] LAM V T,RADHAKRISHNAN S,PAN Rong, et al.Netshare and stochastic netshare:predictable bandwidth allocation for data centers [J].ACM SIGCOMM Computer Communication Review,2012,42(3):5-11.
[2] BALLANI H,COSTA P,KARAGIANNIS T,et al.Towards predictable datacenter networks [J].ACM SIGCOMM Computer Communication Review,2011,41(4):242-253.
[3] GUO Chuanxiong,LU Guohan,WANG H J,et al.SecondNet: a data center network virtualization architecture with bandwidth guarantees [C]∥Proceedings of the 6th International Conference on Emerging Networking Experiments and Technologies.New York,USA:ACM,2010:1-12.
[4] XIE Di,DING Ning,HU Y C,et al.The only constant is change: incorporating time-varying network reservations in data centers [J].ACM SIGCOMM Computer Communication Review,2012,42(4):199-210.
[5] PAREKH A K,GALLAGER R G.A generalized processor sharing approach to flow control in integrated services networks:the single-node case[J].IEEE/ACM Transactions on Networking,1993,1(3):344-357.
[6] DEMERS A,KESHAV S,SHENKER S.Analysis and simulation of a fair queueing algorithm [J].ACM SIGCOMM Computer Communication Review,1989,19(4):1-12.
[7] BENNETT J C R,ZHANG Hui.WF2Q:worst-case fair weighted fair queueing [C]∥Proceedings of the 15th Annual Joint Conference of the IEEE Computer and Communications Societies Conference on the Conference on Computer Communications.Washington,DC,USA:IEEE Computer Society,1996:120-128.
[8] SHIEH A,KANDULA S,GREENBERG A,et al.Sharing the data center network [C]∥Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation.Berkeley,CA,USA:USENIX Association,2011:23-23.
[9] KABBANI A,ALIZADEH M,YASUDA M,et al.AF-QCN: approximate fairness with quantized congestion notification for multi-tenanted data centers[C]∥Proceedings of the 18th Annual Symposium on High Performance Interconnects.Washington,DC,USA:IEEE Computer Society,2010:58-65.
[10]RODRIGUES H,SANTOS J R,TURNER Y,et al.Gatekeeper:supporting bandwidth guarantees for multi-tenant datacenter networks[C]∥Proceedings of the 3rd Conference on I/O Virtualization.Berkeley,CA,USA:USENIX Association,2011:6.
[11]POPA L,KUMAR G,CHOWDHURY M,et al.FairCloud:sharing the network in cloud computing[J].ACM SIGCOMM Computer Communication Review,2012,42(4):187-198.
[12]DEVIK M D A.HTB home[EB/OL].(2003-07-12)[2014-02-19].http:∥luxik.cdi.cz/~devik/qos/htb/.
[13]FLOYD S,JACOBSON V.Link-sharing and resource management models for packet networks[J].IEEE/ACM Transactions on Networking,1995,3(4):365-386.
[14] NS-3Consortium.NS-3 [EB/OL].(2013-05-12)[2014-02-19].http:∥www.nsnam.org/.