CN104396187A - 带宽保证和工作保持 - Google Patents

带宽保证和工作保持 Download PDF

Info

Publication number
CN104396187A
CN104396187A CN201280074280.XA CN201280074280A CN104396187A CN 104396187 A CN104396187 A CN 104396187A CN 201280074280 A CN201280074280 A CN 201280074280A CN 104396187 A CN104396187 A CN 104396187A
Authority
CN
China
Prior art keywords
bandwidth
destination
source
communication
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201280074280.XA
Other languages
English (en)
Other versions
CN104396187B (zh
Inventor
卢奇安·波保
巴威·亚拉甘杜拉
苏亚塔·班纳吉
杰弗里·C·莫乌尔
由夫·特纳
约瑟·雷纳托·G·桑多斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104396187A publication Critical patent/CN104396187A/zh
Application granted granted Critical
Publication of CN104396187B publication Critical patent/CN104396187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/528Minimum bandwidth guarantee
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/4555Para-virtualisation, i.e. guest operating system has to be modified
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

根据示例,一种用于带宽保证和工作保持的方法包括:确定被指派给网络中的虚拟机(VM)的VM带宽保证,所述网络包括与目的地VM通信的源VM。所述方法进一步包括:通过基于所述源VM和所述目的地VM之间的有效VM至VM通信在所述目的地VM之间划分被指派给所述源VM的VM带宽保证,来将最小带宽保证指派给所述源VM与所述目的地VM之间的通信。所述方法还包括:基于所指派的最小带宽保证通过处理器将所述网络中的空余带宽容量分配给所述源VM和目的地VM之间的通信。

Description

带宽保证和工作保持
背景技术
在云计算环境中,租户可以预留例如一个或多个虚拟机(VM)以执行应用程序。对于在VM上执行的这种应用程序,租户可以使用诸如中央处理单元(CPU)使用率、存储器分配等信息来确定应用程序性能。租户还可以使用与带宽保证有关的信息来对应用程序性能确定下限。然而,因为云网络由多个租户以最努力的方式共享,所以云供应商不能对每个VM可以获取的带宽精确地提供保证。这种带宽保证信息的缺乏阻碍租户对应用程序性能确定下限。这种带宽保证信息的缺乏还阻碍企业应用程序转移至公共云,因为许多企业应用程序需要可预测的性能保证。
附图说明
本公开的特征通过示例来示出,且不被限制在下面的附图中,附图中相同的附图标记指示相同的元件,其中:
图1示出根据本公开示例的带宽保证和工作保持装置的架构;
图2示出根据本公开示例的用于带宽保证和工作保持装置的保证虚拟机(VM)带宽的软管模型;
图3示出根据本公开示例的用于带宽保证和工作保持装置的保证分割和比率分配的概念模型;
图4示出根据本公开示例的用于带宽保证和工作保持装置的保证分割;
图5示出根据本公开示例的、图2的软管模型在用于带宽保证和工作保持装置的物理拓扑中的实施方式;
图6示出根据本公开示例的、图2的软管模型在用于带宽保证和工作保持装置的物理拓扑中的另一个实施方式;
图7示出根据本公开示例的用于带宽保证和工作保持的方法;以及
图8示出根据本公开示例的计算机***。
具体实施方式
为了简化和示意的目的,本公开通过主要参考示例来描述。在以下描述中,陈述了许多具体细节,以提供对本公开的透彻理解。然而,将容易显而易见的是,本公开可以在没有对这些具体细节的限制的情况下实践。在其他实例中,一些方法和结构未被详细描述以避免不必要地使本公开混淆。
在整篇本公开中,术语“一”和“一个”意在表示特定元件中的至少一个。如这里使用,术语“包括”意味着包括但不限于,术语“包含”意味着包含但不限于。术语“基于”意味着至少部分基于。
云网络可以由预留例如一个或多个虚拟机(VM)以执行应用程序的租户共享。租户可以请求静态带宽预留以执行其应用程序。然而,静态带宽预留导致云网络容量的低效利用。例如,在租户A未完全利用其份额时,租户A的份额不能被另一个租户B使用。
根据示例,描述了带宽保证和工作保持(work conservation)装置及方法。因为数据中心中的流量实际上是突发性的,所以带宽保证和工作保持装置及方法以工作保持的方式提供联网资源的复用,这显著提高了租户的应用程序的性能。以工作保持的方式复用联网资源意味着这种联网资源中的链路仅在对该链路不存在不满意的流量需求时才不被完全利用。例如,应用程序可以在通信流量很低时具有处理阶段,并且在高级别通信流量的情况下具有洗牌(shuffle)阶段。对于这种应用程序的多个同时运行的实例,带宽保证和工作保持装置及方法为作业完成提供提高的效率,这与在被分配静态带宽预留的一个或多个VM上执行的应用程序的每个实例相反。
一般来说,对于诸如云数据中心网络的环境,带宽保证和工作保持装置及方法提供最小带宽保证,其中每个VM被保证最小绝对带宽以用于发送和接收流量。带宽保证和工作保持装置及方法还提供工作保持,因为如果链路L为给定流的拥塞源,则链路L被完全利用。该装置及方法可以被容易地实施和部署而不必修改交换机,并且可以在大规模云数据中心中实施。例如,该装置及方法可以被实施在终端主机服务器进程(例如托管多个虚拟机的管理程序)中、在服务器的网络接口卡中或在边缘交换机中。该装置及方法还可以被实施在实体机之间(例如针对租户获得实体机处的云)。
带宽保证和工作保持装置及方法可以被实施例如在管理程序内,而没有来自交换机的任何支持。VM最小带宽保证可以通过使用软管模型来表示。对于软管模型,租户的每个VM X被认为通过容量等于VM X最小带宽保证的专用链路连接至虚拟交换机。带宽保证还可以使用扩展的分层软管模型来表示。扩展的分层软管模型可以包括由VM形成的组,并且包括组中VM之间的软管模型,并且进一步包括组之间的软管模型。
带宽保证和工作保持装置及方法可以包括保证分割模块,以将VM的最小保证VM带宽划分成VM至VM保证。保证分割模块可以使用例如管理程序中的限制VM对之间的流量的比率限制器。为了计算由这些比率限制器强制实施的比率,保证分割模块可以操作每个管理程序H,以在与VM X通信的VM之间划分由该管理程序H托管的每个VM X的带宽保证。不管网络中其它VM的流量模式如何,通过划分VM的带宽保证,保证分割模块确保每个VM被提供有根据软管模型的绝对带宽保证。带宽保证和工作保持装置及方法可以进一步包括比率分配模块,以通过基于VM至VM保证以最大最小的方式分配空余容量来提供工作保持。为了实现工作保持分配,在不存在拥塞时,比率限制器可以采用比率分配模块来动态增加比率以超过保证分割模块所分配的保证。
带宽保证和工作保持装置及方法提供其中管理程序独立操作的分布式解决方案,而除了流量的正常流动之外不使用复杂的协调。带宽保证和工作保持装置及方法有助于管理程序的独立操作,而无需管理程序之间的复杂协调和中央控制器。带宽保证和工作保持装置及方法还可以以集中的方式应用,例如,通过在中央控制器处应用每个主机做出的决定。带宽保证和工作保持装置及方法的框架使带宽保证的提供与提供工作保持互不相干。这些特征提供工作保持,同时确保每个VM的保证被顾及,而不管网络中的其它VM。
图1示出根据示例的带宽保证和工作保持装置100的架构。参见图1,装置100被描绘为包括保证分割模块101,以通过将VM的最小保证VM带宽划分为VM至VM保证来将最小带宽保证指派给虚拟机(VM)102(即,VMA-X)。比率分配模块103通过基于VM至VM保证以最大最小的方式分配空余容量来提供工作保持。
模块101和103以及在装置100中执行各种其它功能的装置100的其它部件,可以包括存储在计算机可读介质上的机器可读指令。此外或者可替代地,模块101和103以及装置100的其它部件可以包括硬件或机器可读指令和硬件的组合。
参见图1和图2,带宽保证和工作保持装置100可以为每个VM 110(例如,VMA、VMB……VMX)提供软管模型。软管模型保证VM和具有无穷容量的虚拟中央交换机111之间的最小带宽Bwmin。例如,VMA可以通过VMA的具有容量BwminA的专用链路112被保证最小带宽BwminA。类似地,VMB可以被保证最小带宽BwminB,直到VMX被保证最小带宽BwminX。例如根据网络113中其它VM的需求,用于中央交换机111的带宽可以比最小保证带宽Bwmin高。然而,考虑到网络113中足够高的需求,用于中央交换机111的带宽不能比最小保证带宽Bwmin低。最小保证带宽Bwmin还可以使用诸如扩展的分层软管模型之类的其它模型来表示。
参见图1至图3,带宽保证和工作保持装置100可以被模型化为包括保证分割层120和比率分配层121。由保证分割模块101实施的保证分割层120提供带宽保证。由比率分配模块103实施的比率分配层121提供工作保持。保证分割层120和比率分配层121使带宽保证的方面和工作保持的方面互不相干。如以下讨论,比率分配层121基于VM至VM保证和需求估计为流自VM 123的流量122提供工作保持。在所示的示例中,装置100被实施在主机的管理程序124中。例如,保证分割模块101和比率分配模块103针对每个被托管的VM在管理程序124内执行定期的保证分割和比率分配。在一个示例中,保证分割可以较比率分配被执行得较不频繁,因为进出VM X的需求改变时,针对VM X的VM至VM流所分配的保证被更新。然而,当对VM X所使用的任何拥塞链路的需求改变时,针对VM X的相同VM至VM流所分配的比率可以被更新。
参见图3,对于保证分割层120,保证分割模块101针对VM 123的每个源和目的地对计算绝对最小带宽保证。在源VM S和目的地VM D之间计算的保证(即,BS→D)基于图2的软管模型中这两个VM S和VM D的保证并基于VM S和VM D的当前通信模式。每个VM的带宽保证在给定VM的有效VM至VM流的当前组中被划分。为了计算VM S和VM D之间的保证BS→D,可以位于源VM S的管理程序中的保证分割模块101将目的地VM D的管理程序所分配的保证用于VM S→VM D流量(即BD S→D)。为了发送此信息(即,BD S→D的值),保证分割模块101可以使用管理程序之间的控制包。最初,每个流具有源所分配的保证。可替代地,保证可以例如使用管理程序处的封装被承载在数据包的标头中。
保证分割模块101在与VM X通信的其它VM之间划分VM X的带宽保证。例如,如果VM X与一组Q的VM通信,则对于该组Q中的每个VM Y,VM X的管理程序指派带宽保证BX X→Y以用于至VM Y的通信,并指派BX Y→X以用于从VM Y的通信。因此,在进出VM的每个方向中的带宽保证可以不同。分配的带宽保证的总量之和等于在每个方向上的VM X的带宽保证(即Bx),如下:
Y∈QBX X→Y=∑Y∈QBX Y→X=BX   公式(1)
保证分割模块101设置源VM S和目的地VM D之间的通信的带宽保证,如下:
BS→D=min(BS S→D;BD S→D)   公式(2)
对于公式(2),BS S→D和BD S→D分别为指派给VM S和VM D的VM S→VM D通信的保证。图4示出通过VM X和VM Y将保证指派给VM X→VM Y通信的过程。例如,图4示出VM X、VM Y、VM Z和VM T。在130处,VM X的管理程序指派带宽保证BX X→Y以用于至VM Y的通信。在131处,VM Y的管理程序指派带宽保证BY X→Y以用于从VM X至VM Y的通信。在132处,VM X的管理程序指派带宽保证BX X→Z以用于从VM X至VM Z的通信。在133处,VM Y的管理程序指派带宽保证BY T→Y以用于从VM T至VM Y的通信。在134处,基于带宽保证,带宽分割模块101通过确定BX→Y=min(BX X→Y;BY X→Y)来确定从VM X→VM Y的适合的带宽保证。
该分配提供带宽保证,因为在任何链路L上,在VM根据图2中示出的软管模型通信时,用于VM至VM流的总分配带宽保证不超过链路L上的预期流量。具体来说,不管VM X的通信模式如何,VM X的所有VM至VM流的总输入带宽保证小于或等于软管模型中VM X的带宽保证BX。这是因为VM X的带宽保证在VM X的流之间被划分,并且每个VM至VM流接收由源和目的地分配的带宽保证之间的最小带宽保证。这可以如下被表示:
VBV→X=∑Vmin(BY V→X,BV V→X)≤∑VBY V→X=BX   公式(3)
例如,为了以图5的物理拓扑实施图2的软管模型,每个VM应当为它在其接入链路(例如,L1或L2)上的进入和传出带宽提供最小保证。在这种情况下,图2的虚拟交换机111将通过图5的物理交换机143来实施。假定每个服务器托管至多两个VM(即,服务器141和142),由VM Y的管理程序指派的VM至VM保证在链路L1上至多与带宽保证BX竞争。如果BX+BY小于L1的容量并且BZ+BT小于L2的容量,则图2的软管模型的部署在图5所示的拓扑中被保证。参见图6,在另一个示例中,在链路L3、L5和L6上,具有VM X、VM Y、VM Z和VM T的租户的VM至VM流的带宽保证将小于或等于带宽保证BT(在这个示例中,假定BT<BX+BY+BZ)。因此,提供商可以使用租户提供的软管模型来执行准许控制,并且带宽保证和工作保持方法及装置确保遵循软管模型。
为了保证分割模块101在VM X的VM至VM流之间划分VM X的保证,如果VM X和VM Y之间的带宽保证大于VM X和VM Y之间的流量需求,则整个流量被保证,以从VM X安全传送至VM Y。因此,如果VM X的总进入或传出需求小于VM X的保证,则保证分割模块101分配VM X的保证以满足全部需求,这可以如下被表示:
BX X→Y≥DX→Y和BX Y→X≥DY→X   公式(4)
对于公式(4),DX→Y表示从VM X至VM Y的流量需求。然而,如果进出VM X的总需求大于VM X的带宽保证,则需求不能被满足。在这种情况下,BX基于需求以最大最小的方式在不同的VM之间被划分。例如,假定VM X具有100Mbps的带宽保证。进一步,假定VM X与三个其它VM Y、VM Z和VM T通信,并且从VM X至VM Y的需求为20Mbps,而从VM X至VM Z和VM T的需求非常大。在这种情况下,保证分割模块101将20Mbps的保证指派给VM X→VMY通信(即,BX X→Y=20Mbps),并且将40Mbps的保证指派给VM X→VM Z通信和VM X→VM T通信中的每一个。此外,如以下关于比率分配模块103更详细描述的,基于工作保持策略的应用,VM X的带宽可以大于100Mbps,因为VM X→VM Z和VM X→VM T与其它VM竞争可以超过它们的保证的额外带宽。
因此,比率分配模块103监控需求,并且保证分割模块101将期望的带宽保证指派给有界限的VM至VM流,其中剩下的保证由比率分配模块103在该流的剩余部分之间公平地划分。为了估计需求,比率分配模块103可以监控进入和传出队列的到达速率。例如,由于传输协议的低效率,有界限的VM至VM流的保证可以被设置在比其需求稍高的值,以允许该需求增加并避免错分类。如果所有流都是有界限的,则一个VM的带宽保证的未分配部分被比率分配模块103重新分发,以使整个VM带宽保证被分配。
因为保证分割模块101为发送VM和接收VM提供最小带宽保证的使用,因此对于端点之一来说,具体对于发送VM来说,保证可能被浪费。当发送VM的需求不被满足时,发送VM可以考虑为接收VM所指派的保证。例如,如果目的地VM D分配与发送器VM S的保证相比较小的保证(即,BS S→D>BD S→D),并且如果目的地VM D将流量的给定流标记为无界限(即,VM D针对VM S→VM D分配其最大公平的共享),则发送器VM S匹配目的地VM D的保证(即设置BS S →D=BD S→D)。
在划分VM X的带宽保证时,在同一服务器上被搭配有给定VM X的VM被省略。通过将每对VM S和VM D之间的流量比率限制为BS→D,软管模型中每个VM的最小带宽保证被满足。基于最大服务器占有率和最差情况网路利用率计算保证。然而,VM中的许多可以不是有效的,在这种情况下,比率限制可以被增加,而不会负面影响保证。
参见图1和图3,由保证分割模块101计算的两个VM X和VM Y之间的最小带宽(即,BX→Y)被馈送到比率分配层121(即比率分配模块103)内。对于比率分配层121,比率分配模块103控制例如VM X的管理程序内的限制从VM X至VM Y的流量的比率限制器。由比率分配模块103指派的比率限制不下降到最小带宽BX→Y以下,而可以比BX→Y高。在网络不拥塞时,除了所提供的保证之外,比率分配模块103确定任意合适的带宽。比率分配模块103在链路L上共享可用的附加带宽以与在链路L上通信的源和目的地VM对的带宽保证成比例。例如,针对VM X、VM Y、VM Z和VM T,假定最小带宽BX→Y=200Mbps并且BZ→T=100Mbps,在这种情况下,以2:1的比例在VM X→VM Y和VM Z→VM T之间共享大于300Mbps的链路L。例如,如果链路L为1Gbps,则VM X→VM Y接收666Mbps,并且VM Z→VM T接收333Mbps。
比率分配模块103控制每个VM X与每个其它VM Y之间的比率,以利用整个(或者预定部分)可用的网络容量,并且与保证分割模块101提供的带宽保证成比例地在VM至VM流之间共享拥塞链路。因此,比率分配模块103可以使用VM的管理程序内比率限制器实施的加权比率适配,其中VM X和VM Y之间的流的权重(即,带宽保证)为BX→Y(即,保证分割模块101提供的最小带宽保证)。比率分配模块103将从源VM S至目的地VM D的比率限制设置为RS→D,如下:
RS→D=max(BS→D;RW_TCP(BS→D;FS→D))   公式(5)
对于公式(5),RW_TCP为类似于加权传输控制协议(TCP)协议的协议给定的比率,与权重BS→D和给定拥塞反馈FS→D合作。比率分配模块103使用加权比率适配RW_TCP处理,以计算影子(shadow)比率限制。在计算的影子比率比最小带宽保证高时,计算的影子比率用来代替最小带宽保证,因为这种情况指示网络中存在空闲带宽。比率分配模块103可以根据与权重成比例的正反馈(即,缺少拥塞)增加从VM X至VM Y的流量的比率限制,并使用三次函数。根据负反馈(即,丢包),比率分配模块103可以以独立于权重的恒定比例加倍地减少比率限制。因此,如果VM之间的流量流足够长以允许比率分配减少伺机发射器的比率(即,允许负反馈被传送),则比率分配模块103保证每个VM实现其最小软管模型带宽。
关于拥塞反馈,拥塞反馈可以采取多种形式。在一个示例中,拥塞反馈可以由目的地管理程序计数的并返回至专用控制包中的主机管理程序的丢包数表示。在另一个示例中,拥塞反馈可以由交换机执行的显式拥塞通知(ECN)标记表示。被证实有非强制性比率分配程序的交换机支持,例如ECN,可以通过保持缓冲利用率低来减少延迟。
关于进出因特网的流量,如果云通过树根附接到因特网,并且如果在数据中心入口处的网关实施带宽保证和工作保持装置100,则装置100可以被用于为进出因特网的流量提供保证。例如,VM X和因特网之间的带宽保证与指派给VM X的保证直接关联。就这点而言,因特网中的主机可以被视作单个VM,但具有潜在的更高权重(例如,相当于100个内部VM)。
代替软管模型,如果使用与虚拟超额认购集群(VOC)模型类似的模型,则租户的VM组在该组内被指派高带宽保证,并且在该组之间提供较低保证。例如,在可以被提供有带宽保证和工作保持装置100的双重抽象中,租户的VM可以被分组。每个VM X具有两个关联的保证:用于将VM X连接至相同组G中的其它VM的软管的BXinG,以及用于将VM X与所有组中的所有VM连接的软管的BXall(即,图2中单级软管模型中的BX)。在启动新的VM时,租户可以选择带宽值并选择新的VM应该属于哪个组。为了支持类似于VOC模型的抽象,当组G中的VM X与另一个VM Y通信时,托管VM X的管理程序需要知道VM Y是否在组G中,以相应地划分VM X的带宽保证。关于VM Y组成员的信息可以通过用于承载在VM X和VM Y之间所指派的成对带宽保证(即,BX X→Y和BX X→Y)的控制包来发送。如果VM Y在组G中,则保证BX→Y通过划分BXinG+BXall而非BX来分配,因为X可以使用BXinG和BXall与组G中的VM通信。如果VM Y属于不同组,则VM Y与组G中的和VM X通信的所有其它VM竞争保证BXinG+BXall并且与G外部的和VM X通信的其它VM竞争BXall时,保证BX→Y被计算为VM X→VM Y的分配之间的最小值。这个方法考虑到可变大小的组和每个组内异构的VM保证。
只要不超额认购具有保证的任何链路的准入控制标准被维护,带宽保证和工作保持装置及方法就可以被用在任何单路径路由拓扑上。具体地,如果链路L被子组Q的软管模型VM用来发送数据至另一个子组P,则在链路L上预留的带宽被设定为min(GQ,GP),其中GQ为子组Q中VM的保证之和,并且GP为子组P中VM的保证之和。带宽保证和工作保持装置及方法还可以被应用于多路径拓扑,例如胖树拓扑或其它多个根的树拓扑,其中负载平衡在路径之间为均匀的。在这种情况下,L表示其上流量被负载平衡的链路组。例如,对于胖树,L表示给定级别处的可以由接近根节点的一个VM使用的并联链路组。对于在路径之间具有非均匀负载平衡的多路径拓扑,例如随机正则图拓扑,带宽保证和工作保持装置及方法可以使用三个控制层(即,保证分割、路径分割和比率分配)来代替两个控制层。路径分割被连接至数据中心的负载平衡和路由选择,并在多条路径中的两个VM之间划分由保证分割层指派的保证。路径分割的决定基于每条路径的容量、负载和长度。其它层(即保证分割和比率分配)不改变操作,如图3所示。
图7示出用于带宽保证和工作保持的方法200的流程图,该方法200与其结构在上面详细描述的带宽保证和工作保持装置100的示例相对应。结合图1,通过示例和非限制性的方式,方法200可以被实施在带宽保证和工作保持装置100上。方法200可以在其它装置中实践。
参见图7,对于方法200,在框201处,确定指派给网络中VM的VM带宽保证,该网络包括与目的地VM通信的源VM。例如,参见图1,为了将最小带宽保证指派给VM 102,保证分割模块101确定指派给网络中VM的VM带宽保证,该网络包括与目的地VM通信的源VM。
在框202处,通过基于源VM和目的地VM之间的有效VM至VM通信在目的地VM之间划分被指派给源VM的VM带宽保证,来将最小带宽保证指派给源VM与目的地VM之间的通信。例如,参见图1,保证分割模块101通过将VM的最小保证VM带宽划分成VM至VM保证,来将最小带宽保证指派给VM 102(即,VMA-X)。例如,如果VM X与一组Q的VM通信,则对于组Q中的每个VM Y,VM X的管理程序指派带宽保证BX X→Y以用于至VM Y的通信,并指派BX Y→X以用于从VM Y的通信。由VM X的管理程序指派的在VM对之间的最小带宽保证之和等于软管模型中VM X的针对进入VM X的流量以及从VM X传出的流量两者的VM带宽(即,公式(1))。将最小带宽保证指派给源VM与目的地VM之间的通信进一步包括:确定用于从源VM至端点VM的通信的第一最小带宽保证值,其中端点VM为目的地VM中的一个;确定用于从端点VM至源VM的通信的第二最小带宽保证值;从第一和第二最小带宽保证值中选择最小值;并且将该最小值用作从源VM至端点VM的通信的最小带宽保证(即,公式(2))。描述的方法还可以支持异构软管模型,其中VM X的进入带宽保证可以与传出带宽保证不同。例如,VM X可以处理大量数据,而处理的结果可以为相对小量的数据。在这种情况下,进入带宽保证BXincoming可以为很大,例如500Mbps,而传出保证BXoutgoing可以为很小,例如100Mbps。在这种情况下,由VM X的管理程序针对来自VM X的流量指派的VM至VM保证之和与针对VM X的传出保证匹配,而由VM X的管理程序针对进入VM X的流量指派的进入VM至VM保证之和与针对VM X的进入保证匹配。具体地,如果VM X与一组Q的VM通信,则这可以表示为∑Y∈ QBX X→Y=BXoutgoing和∑Y∈QBX Y→X=BXincoming
在框203处,基于所指派的最小带宽保证,将网络中的空余带宽容量分配给源VM和目的地VM之间的通信。进一步基于源VM和目的地VM之间的有效VM至VM通信的需求估计,还将网络中的空余带宽容量分配给源VM和目的地VM之间的通信。例如,参见图1,比率分配模块103通过基于VM至VM保证以最大最小的方式分配空余容量来提供工作保持。网络中的空余带宽容量被指派给源VM和目的地VM之间的有效VM至VM通信,以使整个(或预定)可用的网络容量被利用。此外,网络中的空余带宽容量被指派给源VM和目的地VM之间的有效VM至VM通信,以使全部利用的(即,拥塞的)链路与所指派的最小带宽保证成比例地被共享。
在框204处,托管VM的主机的管理程序被用于指派VM对之间的最小带宽保证,并分配空余带宽容量。例如,参见图1和图3,装置100可以被实施在主机的管理程序124中。
在框205处,最小带宽保证的指派可以定期地被更新,或者例如通过检测有效VM至VM通信之间的需求何时改变被更新。例如,当出入VM X的需求改变时,或者当VM X开始与VM X之前在延长的时间段内没有与其通信的VM通信时,针对VM X的VM至VM流所分配的保证被更新。
在框206处,空余带宽容量的分配可以被定期更新,或者例如通过检测对由源VM使用以用于与目的地VM通信的全部利用链路的需求何时改变被更新。例如,当对VM X所使用的任何拥塞链路的需求改变时,针对VM X的相同VM至VM流所分配的比率可以被更新。
图8示出可以与这里所描述的示例一起使用的计算机***。计算机***表示包括可以位于服务器或另一个计算机***中的部件的通用平台。计算机***可以被用作用于装置100的平台。计算机***可以通过处理器或其它硬件处理电路执行这里所描述的方法、功能和其它过程。这些方法、功能和其它过程可以被具体实现为存储在计算器可读介质上的机器可读指令,计算机可读介质可以为非临时性的,例如硬件存储设备(例如,RAM(随机存取存储器)、ROM(只读存储器)、EPROM(可擦除可编程ROM)、EEPROM(电可擦除可编程ROM)、硬盘驱动器和闪存)。
计算机***包括可以实施或运行机器可读指令的处理器302,机器可读指令执行这里所描述的方法、功能和其它处理中的一些或全部。来自处理器302的命令和数据通过通信总线304传送。计算机***还包括主存储器306和次数据储存器308,主存储器306例如为随机存取存储器(RAM),其中用于处理器302的机器可读指令和数据可以在运行时期间驻留,次数据储存器308可以是非易失性的并且可以存储机器可读指令和数据。存储器和数据储存器是计算机可读介质的示例。存储器306可以包括模块320,模块320包括在运行时期间驻留在存储器306中并由处理器302运行的机器可读指令。模块320可以包括图1所示装置的模块101和103。
计算机***可以包括I/O设备310,例如键盘、鼠标、显示器等。计算机***可以包括用于连接至网络的网络接口312。其它已知的电子部件可以在计算机***中被添加或替换。
这里描述和示出的内容为示例及其一些变体。这里使用的术语、表述和数字仅以示例方式给出并且不意味着限制。在旨在由所附权利要求书及其等同物限定的主题的精神和范围内可以有许多变体,其中所有术语以其最宽泛的合理含义被解释,除非另有规定。

Claims (15)

1.一种用于带宽保证和工作保持的方法,所述方法包括:
确定被指派给网络中的虚拟机(VM)的VM带宽保证,所述网络包括与目的地VM通信的源VM;
通过基于所述源VM和所述目的地VM之间的有效VM至VM通信在所述目的地VM之间划分被指派给所述源VM的VM带宽保证,来将最小带宽保证指派给所述源VM与所述目的地VM之间的通信;以及
基于所指派的最小带宽保证通过处理器将所述网络中的空余带宽容量分配给所述源VM和目的地VM之间的通信。
2.根据权利要求1所述的方法,进一步包括:
进一步基于所述源VM和所述目的地VM之间的有效VM至VM通信的需求估计,将所述网络中的所述空余带宽容量分配给所述源VM和所述目的地VM之间的通信。
3.根据权利要求1所述的方法,其中用于从所述源VM至所述目的地VM的通信的所述最小带宽保证之和等于所述VM带宽保证。
4.根据权利要求1所述的方法,其中用于从所述目的地VM至所述源VM的通信的所述最小带宽保证之和等于所述VM带宽保证。
5.根据权利要求1所述的方法,进一步包括:
使用托管所述VM的主机的管理程序指派所述最小带宽保证并分配所述空余带宽容量。
6.根据权利要求1所述的方法,其中将最小带宽保证指派给所述源VM与所述目的地VM之间的通信进一步包括:
确定用于从所述源VM至端点VM的通信的第一最小带宽保证值,其中所述端点VM为所述目的地VM中的一个;
确定用于从所述端点VM至所述源VM的通信的第二最小带宽保证值;
从所述第一最小带宽保证值和所述第二最小带宽保证值中选择最小值;以及
将所述最小值用作用于从所述源VM至所述端点VM的通信的所述最小带宽保证。
7.根据权利要求1所述的方法,进一步包括:
在所述有效VM至VM通信的需求估计改变时,更新所述最小带宽保证的指派。
8.根据权利要求1所述的方法,进一步包括:
在由所述源VM使用以用于与目的地VM通信的完全利用链路的需求估计改变时,更新所述空余带宽容量的分配。
9.根据权利要求1所述的方法,其中分配所述网络中的空余带宽容量进一步包括:
将所述网络中的所述空余带宽容量指派给所述源VM和所述目的地VM之间的所述有效VM至VM通信,使得整个可用的网络容量被利用。
10.根据权利要求1所述的方法,其中分配所述网络中的空余带宽容量进一步包括:
将所述网络中的所述空余带宽容量指派给所述源VM和所述目的地VM之间的所述有效VM至VM通信,使得完全利用的链路与所指派的最小带宽保证成比例地被共享。
11.一种带宽保证和工作保持装置包括:
存储包括机器可读指令的模块的存储器,所述机器可读指令用以:
确定被指派给网络中的虚拟机(VM)的VM带宽保证,所述网络包括与目的地VM通信的源VM;
通过基于所述源VM和所述目的地VM之间的VM至VM通信在所述目的地VM之间划分被指派给所述源VM的VM带宽保证,来将最小带宽保证指派给所述源VM与所述目的地VM之间的通信;并且
基于所指派的最小带宽保证并且进一步基于所述源VM和所述目的地VM之间的所述VM至VM通信的需求估计,将所述网络中的空余带宽容量分配给所述源VM和目的地VM之间的通信;以及
用于实施所述模块的处理器。
12.根据权利要求11所述的装置,进一步包括机器可读指令以:
确定用于从所述源VM至端点VM的通信的第一最小带宽保证值,其中所述端点VM为所述目的地VM中的一个;
确定用于从所述端点VM至所述源VM的通信的第二最小带宽保证值;
从所述第一最小带宽保证值和所述第二最小带宽保证值中选择最小值;以及
将所述最小值用作用于从所述源VM至所述端点VM的通信的所述最小带宽保证。
13.根据权利要求11所述的装置,进一步包括机器可读指令以:
将所述网络中的所述空余带宽容量指派给所述源VM和所述目的地VM之间的所述VM至VM通信,使得整个可用的网络容量被利用。
14.根据权利要求11所述的装置,进一步包括机器可读指令以:
将所述网络中的所述空余带宽容量指派给所述源VM和所述目的地VM之间的所述VM至VM通信,使得完全利用的链路与所指派的最小带宽保证成比例地被共享。
15.一种非临时性计算机可读介质,在所述介质上存储有用于带宽保证和工作保持的机器可读指令,所述机器可读指令在执行时导致计算机***:
确定被指派给网络中的虚拟机(VM)的VM带宽保证,所述网络包括与目的地VM通信的源VM;
通过基于所述源VM和所述目的地VM之间的VM至VM通信在所述目的地VM之间划分被指派给所述源VM的VM带宽保证,来将最小带宽保证指派给所述源VM与所述目的地VM之间的通信;以及
通过处理器将所述网络中的空余带宽容量分配给所述源VM和目的地VM之间的通信,使得预定可用的网络容量被利用。
CN201280074280.XA 2012-07-31 2012-07-31 带宽保证和工作保持的方法及装置 Active CN104396187B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/048962 WO2014021839A1 (en) 2012-07-31 2012-07-31 Bandwidth guarantee and work conservation

Publications (2)

Publication Number Publication Date
CN104396187A true CN104396187A (zh) 2015-03-04
CN104396187B CN104396187B (zh) 2017-08-25

Family

ID=50028357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280074280.XA Active CN104396187B (zh) 2012-07-31 2012-07-31 带宽保证和工作保持的方法及装置

Country Status (5)

Country Link
US (1) US9794185B2 (zh)
CN (1) CN104396187B (zh)
DE (1) DE112012006642B4 (zh)
GB (1) GB2516206B8 (zh)
WO (1) WO2014021839A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871751A (zh) * 2016-03-25 2016-08-17 中国科学院计算技术研究所 一种数据中心网络带宽保证方法及***

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288146B1 (en) * 2013-05-28 2016-03-15 Google Inc. Reducing batch completion time in a computer network with per-destination max-min fairness
US9307013B1 (en) 2013-05-30 2016-04-05 Google Inc. Reducing batch completion time in a computer network with max-min fairness
WO2014198053A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Fault tolerant and load balanced routing
CN105579991A (zh) * 2013-07-23 2016-05-11 慧与发展有限责任合伙企业 使用优先级进行工作保持的带宽保证
WO2015163877A1 (en) * 2014-04-24 2015-10-29 Hewlett-Packard Development Company, L.P. Placing virtual machines on physical hardware to guarantee bandwidth
US9762502B1 (en) 2014-05-12 2017-09-12 Google Inc. Method and system for validating rate-limiter determination made by untrusted software
US9755978B1 (en) 2014-05-12 2017-09-05 Google Inc. Method and system for enforcing multiple rate limits with limited on-chip buffering
US10469404B1 (en) 2014-05-12 2019-11-05 Google Llc Network multi-level rate limiter
US9529619B2 (en) * 2014-09-30 2016-12-27 Nicira, Inc. Method of distributing network policies of virtual machines in a datacenter
US10230591B2 (en) * 2014-09-30 2019-03-12 Microsoft Technology Licensing, Llc Network resource governance in multi-tenant datacenters
US9575794B2 (en) 2014-09-30 2017-02-21 Nicira, Inc. Methods and systems for controller-based datacenter network sharing
US10097478B2 (en) 2015-01-20 2018-10-09 Microsoft Technology Licensing, Llc Controlling fair bandwidth allocation efficiently
US9923965B2 (en) 2015-06-05 2018-03-20 International Business Machines Corporation Storage mirroring over wide area network circuits with dynamic on-demand capacity
US10216441B2 (en) 2015-11-25 2019-02-26 International Business Machines Corporation Dynamic quality of service for storage I/O port allocation
US10177993B2 (en) 2015-11-25 2019-01-08 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
US9923784B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Data transfer using flexible dynamic elastic network service provider relationships
US9923839B2 (en) * 2015-11-25 2018-03-20 International Business Machines Corporation Configuring resources to exploit elastic network capability
US10057327B2 (en) 2015-11-25 2018-08-21 International Business Machines Corporation Controlled transfer of data over an elastic network
US10581680B2 (en) 2015-11-25 2020-03-03 International Business Machines Corporation Dynamic configuration of network features
US10623330B2 (en) 2016-09-23 2020-04-14 Google Llc Distributed bandwidth allocation and throttling
US11258718B2 (en) * 2019-11-18 2022-02-22 Vmware, Inc. Context-aware rate limiting

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101228737A (zh) * 2004-05-05 2008-07-23 思科技术公司 分级QoS行为模型
CN101369976A (zh) * 2008-09-27 2009-02-18 上海华为技术有限公司 多种服务质量分级接入控制方法、装置和***
US20100054129A1 (en) * 2008-08-27 2010-03-04 Cisco Technology, Inc. Virtual switch quality of service for virtual machines
CN102231697A (zh) * 2011-06-17 2011-11-02 瑞斯康达科技发展股份有限公司 一种报文队列的带宽调度方法、报文上报方法及其装置
US20110296052A1 (en) * 2010-05-28 2011-12-01 Microsoft Corportation Virtual Data Center Allocation with Bandwidth Guarantees

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6046980A (en) * 1996-12-09 2000-04-04 Packeteer, Inc. System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
US7843906B1 (en) * 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
US8433802B2 (en) 2010-01-26 2013-04-30 International Business Machines Corporation System and method for fair and economical resource partitioning using virtual hypervisor
US8477610B2 (en) * 2010-05-31 2013-07-02 Microsoft Corporation Applying policies to schedule network bandwidth among virtual machines
US8630173B2 (en) 2010-11-19 2014-01-14 Cisco Technology, Inc. Dynamic queuing and pinning to improve quality of service on uplinks in a virtualized environment
US8761187B2 (en) * 2011-06-14 2014-06-24 Futurewei Technologies, Inc. System and method for an in-server virtual switch
US8943499B2 (en) * 2012-04-30 2015-01-27 Hewlett-Packard Development Company, L.P. Providing a virtual network topology in a data center

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101228737A (zh) * 2004-05-05 2008-07-23 思科技术公司 分级QoS行为模型
US20100054129A1 (en) * 2008-08-27 2010-03-04 Cisco Technology, Inc. Virtual switch quality of service for virtual machines
CN101369976A (zh) * 2008-09-27 2009-02-18 上海华为技术有限公司 多种服务质量分级接入控制方法、装置和***
US20110296052A1 (en) * 2010-05-28 2011-12-01 Microsoft Corportation Virtual Data Center Allocation with Bandwidth Guarantees
CN102231697A (zh) * 2011-06-17 2011-11-02 瑞斯康达科技发展股份有限公司 一种报文队列的带宽调度方法、报文上报方法及其装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871751A (zh) * 2016-03-25 2016-08-17 中国科学院计算技术研究所 一种数据中心网络带宽保证方法及***

Also Published As

Publication number Publication date
US9794185B2 (en) 2017-10-17
GB2516206A (en) 2015-01-14
GB201420560D0 (en) 2014-12-31
GB2516206B8 (en) 2021-07-07
US20150134830A1 (en) 2015-05-14
WO2014021839A1 (en) 2014-02-06
GB2516206B (en) 2020-07-01
DE112012006642T5 (de) 2015-03-19
CN104396187B (zh) 2017-08-25
DE112012006642B4 (de) 2022-09-08

Similar Documents

Publication Publication Date Title
CN104396187A (zh) 带宽保证和工作保持
Hong et al. Achieving high utilization with software-driven WAN
Ogryczak et al. Fair optimization and networks: A survey
US9705783B2 (en) Techniques for end-to-end network bandwidth optimization using software defined networking
CN107534583B (zh) 在管理节点中实现的方法和相关装置
US8537846B2 (en) Dynamic priority queue level assignment for a network flow
CN102918499B (zh) 用于应用策略以在虚拟机之间调度网络带宽的方法和设备
Guo et al. Falloc: Fair network bandwidth allocation in IaaS datacenters via a bargaining game approach
US10110460B2 (en) Priority assessment of network traffic to conserve bandwidth guarantees in a data center
CN108965132A (zh) 一种选择路径的方法及装置
JP2017504265A (ja) ソフトウェア・デファインド・ネットワークにおけるゾーニングのためのシステムおよび方法
WO2019072162A1 (zh) 虚拟网络映射方法、设备和存储介质
Yang et al. Energy-efficient data center networks planning with virtual machine placement and traffic configuration
CN107204933B (zh) 分布式流量调节方法及装置
KR20160041631A (ko) 서비스 품질 인지 라우팅 제어 장치 및 라우팅 제어 방법
Borylo et al. Latency and energy-aware provisioning of network slices in cloud networks
CN109672621A (zh) 一种为vpn业务选择传输路径的方法和设备
Koushika et al. Load valancing using software defined networking in cloud environment
Patil Load balancing approach for finding best path in SDN
KR20150080183A (ko) 데이터 센터 네트워크의 동적 트래픽 분배 방법 및 장치
Szymanski Low latency energy efficient communications in global-scale cloud computing systems
CN105610712B (zh) 基于软件定义网络架构降低全网数据流转发延迟的方法
Kantarci et al. Minimum outage probability provisioning in an energy-efficient cloud backbone
Asaduzzaman et al. Decentralized management of bi-modal network resources in a distributed stream processing platform
Ghazisaeedi et al. EnergyMap: Energy-efficient embedding of MapReduce-based virtual networks and controlling incast queuing delay

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160905

Address after: American Texas

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Applicant before: Hewlett-Packard Development Company, Limited Liability Partnership

GR01 Patent grant
GR01 Patent grant