CN103649916B - 虚拟机在数据中心中的分配 - Google Patents
虚拟机在数据中心中的分配 Download PDFInfo
- Publication number
- CN103649916B CN103649916B CN201180072216.3A CN201180072216A CN103649916B CN 103649916 B CN103649916 B CN 103649916B CN 201180072216 A CN201180072216 A CN 201180072216A CN 103649916 B CN103649916 B CN 103649916B
- Authority
- CN
- China
- Prior art keywords
- network
- virtual machine
- main frame
- network load
- profile
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种操作包括通过网络耦合的多个主机在内的数据中心的方法,所述主机能够被配置为运行多个虚拟机,所述方法包括:采集指示网络负载的网络负载信息;基于所采集的网络负载信息,确定虚拟机之一在主机之一处的目标分配;以及基于所确定的目标分配,在一个主机处分配一个虚拟机。
Description
技术领域
本发明涉及操作数据中心的方法。更具体地,本发明涉及确定多个虚拟机之一至多个主机之一的目标分配。本发明还涉及数据中心实体、包括对数据中心实体的处理单元进行配置的指令代码在内的程序,并涉及在至少一个数据中心中使用的系统。
背景技术
数据中心是通过网络彼此链接以共同提供计算能力的计算机的集合。在数据中心(或等同地,云计算)的上下文中,计算机被称为主机。主机可以是独立的计算机(如个人计算机)或所谓“服务器刀片”,所述服务器刀片通常是大量安装在公共装配架上使得多个这样的服务器刀片彼此相邻布置的单板计算机。数据中心可以位于一个位置(如房间或建筑物)处,但也可以分布在多个位置,使得不同房间、建筑物和位置处的主机充当一个数据中心。
在利用虚拟化的数据中心或云计算环境中,所谓虚拟机(VM)是基本资源容器,以向运行在这样的虚拟机上的操作系统(OS)提供资源。可以像实际物理机器的资源一样使用虚拟机的资源。
实际上,多个VM可以共处一处地运行在一个物理机器(即一个主机)上。相应地,这些共处一处的VM共享其主机的CPU、存储器和硬件设备。由通常被称为“超级监督者”的软件实例管理对物理硬件的访问。在超级监督者的帮助下,VM可以在运行时间内移至联网数据中心中的其他主机,这被称为VM的(实况)迁移。换言之,可以在运行状态下重定位VM而不打扰其运行应用。
现有方案如VMware(TM)DRS(参照http://www.vmware.com/products/drs/)以考虑硬件资源需求(例如CPU或存储器)的策略提供VM在主机上的自动布置。为了使资源使用尽可能保持平衡,通常或多或少均等地在整个数据中心上布置VM。此外,如果主机的资源需求(CPU或存储器)在运行时间内发生改变且被另一VM/主机映射更好地满足,则可以激活可将VM从一个主机移至另一主机的动态重定位。
然而,VM不应被视为独立的处理实体,这是由于多个VM可以彼此通信以执行一些公共任务。例如,一个VM可以运行web服务器应用,而另一个VM可以运行内容服务器应用。Web服务器可以控制对内容服务器所处理的内容的访问。因此,两个服务器之间(即两个相应的VM之间)会存在大量数据交换。
现有分配/重定位方案的问题在于它们未考虑VM间的通信关系和网络负载。它们仅评估本地指示符(例如CPU负载、存储器使用等)并且独立观察每个主机。这导致对数据中心中可用网络资源的低效使用。遵循以上示例,分别运行web服务器和内容服务器的VM的分配对网络负载、网络和数据中心性能以及能量消耗具有显著影响。
相应地,需要改进的在数据中心的主机上分配虚拟机的机制。因此,本发明的目的是提供改进的操作数据中心的方法、改进的数据中心实体、改进的包括对数据中心实体的处理单元进行配置的指令代码在内的程序、以及改进的在至少一个数据中心中使用的系统。
发明内容
上述目的由独立权利要求的内容满足。其他优选实施例定义于从属权利要求。
根据本发明的一方面,提供了一种操作包括由网络耦合的多个主机在内的数据中心的方法,所述主机能够被配置为运行多个虚拟机,所述方法包括:采集指示网络负载的网络负载信息;基于所采集的网络负载信息,确定虚拟机之一在主机之一处的目标分配;以及基于所确定的目标分配,在一个主机处分配一个虚拟机。
根据本发明的另一方面,提供了一种包括处理单元的数据中心实体,所述处理单元被配置为:基于网络负载信息,产生网络负载简档,所述网络负载信息指示耦合多个主机的网络的负载;以及基于网络负载简档确定虚拟机在主机之一处的目标分配。
根据本发明的另一方面,提供了一种包括指令代码的程序,所述代码对根据本发明实施例之一的数据中心实体的处理单元进行配置。
根据本发明的又一方面,提供了一种在包括通过网络耦合的多个主机在内的至少一个数据中心中使用的系统,所述系统包括根据本发明实施例之一的数据中心实体以及被配置为采集所述网络负载信息的至少一个采集实体。
附图说明
下面将参照附图来描述为了更好的理解发明构思而给出的且不应视为限制本发明的本发明的实施例,附图中:
图1示出了数据中心的基本配置的示意图;
图2示出了运行一个或更多个虚拟机的主机的基本配置的示意图;
图3A至3C示出了根据本发明实施例的数据中心的配置的示意图;
图4示出了本发明的方法实施例的流程图;
图5示出了根据本发明实施例的数据中心实体的示意图;以及
图6示出了所谓“S曲线”的示意图。
具体实施方式
参考图1和2示出和解释数据中心和构成主机的基本配置。在数据中心中,多个主机10由网络40彼此耦合。网络40允许主机10和其他外部实体(如控制和管理实体)、内部网络和/或因特网之间的数据交换。
下面具体参照图2,一个主机10可以运行一个或更多个虚拟机(VM)。相应地,共处一处的VM110-1...n共享主机10的物理资源100,例如,主机的CPU、存储器和硬件资源。对物理资源100的访问受资源管理实例101控制,资源管理实例101通常实现为软件并被称为“超级监督者”。如已解释的,资源管理实例101允许将VM110-1...n移至联网数据中心中的其他主机。
每个VM110-1...n运行操作系统(OS)120-1...n。进而,至少一个应用131-1...n运行于相应的OS120-1...n上。如通常那样,许多多于一个的应用131-1...n可以运行在VM110-1...n的OS120-1...n上。应用131-1...n的示例包括服务器应用、处理应用、计算应用以及办公应用(如文字处理、电子表格计算以及数据库应用)。此外,可以植入将于以下更详细地描述的简档创建器功能和/或简档评估器功能作为这样的应用。
图3A示出了根据本发明实施例的数据中心的配置的示意图。在该配置中,数据中心包括区域401、402和403。这些区域均包括分配通过区域网络网络41、42、43耦合的主机10、10’和10”。这些区域网络41、42、43进而彼此耦合,以交换数据。因此,在某种意义下,组合的区域网络41、42和43可以构成本发明其他实施例意义下的“该”网络。
区域401、402和403的概念考虑了数据中心能够通过引入子实体(如区域)来组织和/或管理数据中心以及数据中心可以在空间上分布的可能。就后者而言,数据中心无需局限于单个房间、建筑物或位置:区域网络41、42、43可以仅耦合数据中心的位于相同公共位置的主机子群。此时,两个区域网络41、42、43之间的链路可以提供在区域401、402和403之间提供通信,从而形成一个数据中心,尽管构成主机分布并分散在各个位置。
图3B示出了根据本发明另一实施例的数据中心的配置的示意图。根据该实施例,引入了自动创建和评估虚拟机的网络通信简档的概念。最重要的,当网络是在不同区域401、402和403中和之间具有不同性能能力的异构环境时,这可以实现VM在主机上的最佳映射。
图3B示出了已结合图3A引入的数据中心的一些初始情况/配置。该示例配置为:至少5个虚拟机110-1至110-5运行在分别位于不同区域401、402和403中的主机10、10’和10”上。为了清楚起见,省略了对操作系统和应用的描述。然而,应理解虚拟机110-1至110-5运行至少一个OS,至少一个OS进而运行至少一个应用(参见图2)。
根据该实施例,提供VM110-1至110-5的分布式运行时间环境,以创建和评估其VM的网络通信简档,以便找到VM至区域401、402和403或者至这些区域的特定主机的最佳映射。具体地,首先,区域401、402和403可以不同的性能能力(关于网络性能和负载能力)为特征。如此时说明的,VM110-1至110-5的这样的分布式运行时间环境会导致对通信资源(即网络和/或区域网络)的更有效的使用,从而提高系统和数据中心整体的性能。
为了以上目的,引入了若干逻辑功能和拓扑。首先,针对耦合至相应区域网络41、42和43的每个区域401、402和403实现简档创建器功能51、51’、51”。所述简档创建器功能51、51’、51”观察属于相应主机和/或区域的VM的网络数据流。例如,简档创建器功能51采集运行在主机10上的虚拟机101-1和101-2的网络数据流的信息。通过经由区域网络41将简档创建器功能51链接至主机10,使这成为可能。
简档创建器功能51(正如其他简档创建器功能51’和51”一样)采集与网络数据流有关的信息,包括相应数据目的地及其吞吐量的信息。所述信息可以例如保持为与数据流有关的每秒字节或分组的图。简档创建器功能51还可以采集与资源101(如CPU负载和存储器使用)的使用有关的VM的附加负载指示符。如此采集的信息使得能够动态创建VM通信和负载简档,所述VM通信和负载简档构成所采集的信息的摘要,适于稍后转发、处理和评估。这些通信和负载简档的产生可由简档创建器功能51、51’和51”针对运行在一个特定网络区域的主机上的所有虚拟机或仅针对有限和/或所选数目的主机/区域实现。
其次,在还耦合至相应区域网络41、42和43的每个区域401、402和403中实现简档评估器功能61、61’、61”。所述简档评估器功能61、61’、61”执行对简档创建器功能51、51’和51”所提供的简档的评估,以决定重定位一个或更多个VMs110-1至110-5是否导致更好的整体网络性能。为此,简档评估器功能61、61’、61”可以考虑它们负责的区域(例如,针对功能61”,区域403)中的可用最大资源。
对于所述评估和决定过程,简档评估器功能61、61’、61”可以评估来自其他简档评估器功能61、61’、61”的简档或与其他简档评估器功能61、61’、61”交换简档。通过区域网络41、42和43以及这些网络之间的相应网络链路4所实现的评估接口414,使这成为可能。作为结果,简档评估器功能61、61’、61”不限于其当前负责的相应的主机,而可以考虑所有可用网络区域和主机用于评估并用于将VM110-1...5重定位为目标分配的可能重定位。换言之,简档评估器功能61、61’、61”协作以通过协作评估和确定过程来找到数据中心中的最优VM分配。所述协作可受被选为主功能的功能之一影响,从而采集所有简档并在最高级实例的意义下确定对重定位和/或特定分配的任何需要。
对于每个网络区域401、402和403,存在至少一个主机10、10’和10”。此外,每个网络区域401、402和403具有相关联的一个简档创建器功能51、51’和51”以及一个简档评估器功能61、61’、61”。注意,单个主机可由网络区域表示,并且功能51、61、51’、61’、51”和61”也可在与其负责区域(即,其采集和/或评估简档的区域)不同的另一区域中实现。
实际上,来自或去往区域内VM的所有网络业务可由相关联的简档创建器功能51、51’和51”监视。可以“直接”在每个VM的网络接口上或“间接”在承载区域401、402、403的所有VM的聚合业务的链路上实现这样的监视。优选地,可以在分离的硬件上实现简档创建器功能51、51’和51”以及简档评估器功能61、61’、61”,以避免在分析网络业务负载时主机本身的任何减速。此外,就VM110-1…5的标识而言,其可以依赖于它们相应的网络地址,或者优选地依赖于它们的MAC地址,所述MAC地址是通常在一个网络环境中唯一的伪硬件地址。
除了已经引入的评估接口414,还可以实现其他接口,以采集和传送通信简档数据。总共可以涉及如以下说明的4个接口:
由简档创建器功能51、51’和51”使用采集接口411,以采集负载测量、网络流目的地或应考虑用于简档创建的其他数据。采集接口411的精确实现可依赖于所采用的数据源的类型,例如,被实现为应用并运行在VM的OS上的数据采集器例程或在较低协议层上实现的获取例程。接口411的功能侧可以请求数字值,如,每秒发送/接收的分组或字节、目的地和源IP地址、CPU负载和存储器使用。
传送接口413提供从简档创建器功能51、51’和51”向网络区域的相应简档评估器功能61、61’、61”发送虚拟机的简档数据。例如,在网络区域401中,简档创建器功能51经由传送接口413向相应的简档评估器功能61发送简档数据。
已引入评估接口414作为允许简档评估器功能61、61’、61”彼此联系以协作评估VM简档并决定是否应触发VM重定位的接口。
此外,指令接口412服务用于联系超级监督者101’、101”和101”,以例如发起和实现VM110-1...5从一个主机到另一个主机的重定位。如果简档评估器功能61、61’、61”已决定将VM移至另一主机,使用接口412联系VM的对应超级监督者并请求其移动。作为示例,可以通过经由相应的指令接口412’和412”指示超级监督者101’和101”来实现VM110-5从主机10’到主机10”的重定位(参见图3C)。
根据本发明的实施例,VM通信和负载简档可以基于能够在系统中不同部分上测量或从系统中不同部分请求的值:分别在VM内或在其操作系统中,在测量或数据采集软件(例如运行在VM的OS上的应用)的帮助下;在超级监督者上,通过安装测量或数据采集软件和/或从超级监督者提供的接口读取数据;以及在网络的节点(网络节点)上,通过将业务镜像至专门的测量/分析器节点和/或从网络节点(例如交换机)提供的接口读取数据。
从这些源,可以采集以下数据:VM通过网络每秒发送的字节和分组;VM的网络流端点的目的地和源地址;CPU最大性能(MHz)和当前系统负载(百分比);存储器最大量(MB)和当前使用(百分比);其他值(例如硬盘I/O使用等)。
通过周期性(例如每3秒)测量这些数据,可以创建包含如以下信息的网络简档:当前网络负载;通过与先前值(例如,对于短期趋势,最后10秒;对于长期趋势,10分钟)比较的网络负载趋势/预测;活动网络流的数目;具有通信伙伴(图节点)、网络流(图链路)、作为链路权重的网络负载强度(作为具有趋势的三元组)的图;当前CPU负载;以及当前存储器使用。
简档数据可由简档评估器功能61、61’、61”读取,而特定事件也可以被配置为令简档创建器功能51、51’和51”向简档评估器功能61,61’,61”异步地通知特定事件,如剧烈的值改变。换言之,上述图可以连续或间隔地与预定阈值比较,以标识事件。此外,通过将VM的最后的简档序列与其存储的历史简档比较,模式识别算法可以通过识别先前观察的系统行为预测VM的未来行为。该可以给出附加信息,以更好的进行VM重定位/分配决定。
一般地,简档评估器功能61、61’、61”独立或协作地评估VM简档可以追求多个目标,包括:通过使具有高网络负载的VM组共处于高性能区域来使网络性能最优;以及通过跟踪硬件资源可用性(例如CPU、存储器等)来确保区域资源不过载。
与图3B所示的情形相比,当操作图3C所示的数据中心时,可以满足以上目标中的至少一个。图3B作为示例示出了稍许次优的初始状态(配置),而本发明的实施例通过图3C所示的简档评估和相应的分配导致优化的结果。
示例情形示出了3个网络区域401、402和403,其中,假设这些区域具有不同的网络性能特性(区域401:低;区域402:中;区域403:高)。假设5个VM110-1...5具有不同的网络负载简档。例如,在VM110-1和110-2之间,存在小网络负载;在VM110-2和110-3之间以及在VM110-5和110-3之间,存在重网络负载;在VM110-2和110-5之间以及在VM110-3和110-4之间,存在中网络负载。
通过采集和评估VM通信简档,三个网络区域401、402、403的简档采集器和评估器功能51、61、51’、61’、51”和61”能够标识强通信伙伴(110-2、110-3、110-5)并使它们共处于可以是能够(或优化的用于)处理高网络负载的特殊高性能区域的网络区域403中。此外,为了不超过区域403的资源,VM110-4移至区域402。
具体地,评估过程可由以下步骤组成:检查VM简档并标识具有强网络吞吐量(值超过对应配置变量、预定阈值)的VM简档;对于每个VM,检查是否存在流入其他网络区域的强数据流;如果是,检测是否存在超过相对最大值(值超过对应配置变量、预定阈值)的区域,例如,VM的总网络流数据的至少60%被发送至单个区域;如果是,标识该区域的简档评估器功能;向简档评估器功能通知可能的重定位候选及其当前硬件资源需求(CPU和存储器);如果远程区域中没有足够的资源可用,远程简档评估器功能可以检查是否可以将具有低网络活动性的机器移走,以为重定位候选腾出更多资源;如果可以提供足够的资源,本地简档评估器功能开始评估重定位代价函数;如果代价函数返回正的结果,联系超级监督者并触发VM的移动。
图6示出了上述代价函数的示例,作为评估可能支持或劝阻VM重定位的因子的函数。图6所示的代价函数8针对网络负载81(例如当前负载/最大负载=300Mbit/s/1000Mbit/s=0.3)示出了0至1范围内的值82。还可以考虑重定位动作的移动代价。下表示出了支持(正权重)或劝阻(负权重)VM重定位的因子的列表。对因子的评估可以涉及非线性评估函数。例如,S-曲线函数可能更适于特定因子。
代价函数可以被评估为加权因子的和:每个因子通过将简档变量除以其参考值(参见下表)来计算,生成范围[0...1]内的结果。此后,可以进一步用评估函数对因子进行评估(参见图6),仍生成[0...1]之间的结果。最后,将结果与因子的权重相乘,并取为评估函数的被加数。
此外,可以将预定义属性分配给虚拟机,所述属性可由简档创建器(功能)读取并还由简档评估器(功能)在代价函数中评估:这些因子可以是标记(值=0或1)或属性范围。可如上述代价函数中的简档因子那样,对它们进行评估和求和。
如果代价函数给出正的结果,将VM重定位至其他网络区域可以改进系统性能。下一步是联系超级监督者并触发重定位。一般地,针对每个网络区域,可以用独立的代价函数来评估其细节。
图4示出了本发明的方法实施例的流程图。根据该实施例,该方法用于操作数据中心,并且至少包括以下步骤:采集S10指示网络负载的网络负载信息;基于所采集的网络负载信息,确定S20虚拟机之一在主机之一处的目标分配;以及基于所确定的目标分配,在一个主机处分配S30一个虚拟机。
作为可选步骤,可以在步骤S21确定在步骤S20中确定的目标分配是否与当前位置匹配。如果是(即“是”),可能不必重新定位,从而方法继续采集网络负载信息和/或确定VM的目标分配,即返回至步骤S10或S20。如果在步骤S20确定目标分配与当前位置不匹配(即“否”),分配/重定位变为必要,并且方法继续步骤S30。在每个情况下,可以连续或间隔地执行方法,从而方法在步骤S21(情况“是”)或步骤S30后返回步骤S10或S20。
图5示出了根据本发明实施例的数据中心实体的示意图。相应地,数据中心实体7包括处理单元70、存储器71和通信接口72。在所述存储器71中,可以存储代码,以配置处理单元70基于网络负载信息产生网络负载简档,并基于网络负载简档确定虚拟机在主机之一处的目标分配,所述网络负载信息指示耦合多个主机的网络的负载。为此,数据中心实体7包括用于经由网络40与数据中心的其他实体和/或主机交换数据的通信接口72。
根据本发明的其他实施例,还可以使用简档评估功能来确定VM的网络和计算活动性。如果活动性指示符(如CPU使用和网络负载)在预定义时间内处于预定义阈值以下,VM可被视为未使用/空闲。如果期望VM的高能效操作,简档评估器可以要求相应的超级监督者将该机器中止。可以通过现有的LAN上唤醒机制或通过预定义定时器触发恢复该机器。
根据本发明的其他实施例,所有当前超级监督者可以提供外部管理软件的接口。这些接口可用于触发动作(如重定位虚拟机)。作为输入,它们需要虚拟机的ID以及VM应移动至的目的地。可以在超级监督者的帮助下通过VM的网络地址找到ID。
根据本发明的其他实施例,所公开的简档机制可用于动态标识具有高网络负载的机器及其通信伙伴。采用时间模式识别算法,其也可用于根据先前的观测(例如夜间调度的系统备份)了解和预测系统间的通信行为。
本发明的实施例可以允许提高计算环境中虚拟机的系统性能,在所述计算环境中,可以使用具有不同网络性能特性的区域。该不一定需要特殊的高性能网络基础设施。此外,允许虚拟机共处一处的常规主机是(例如通过使得共处一处的VM能够在它们主机的内部高速系统总线上通信)提供更高网络性能的区域。因此,即使在主机间具有同构网络基础设施的数据中心中,也存在许多高性能网络区域,并且可用于提供高虚拟机间的总体网络性能。
与传统VM调度器形成对比,本发明提供了一种从网络性能角度找到VM的最佳布置(分配)的方法。这对于机器的网络负载非均等分布和/或在运行时间内改变的分布式系统可能尤其有利。这些系统的示例是:电信核心网,其中,由于系统亲缘性(与其他节点组(例如BSC和HLR)相比特定节点组(例如MSC和HLR)需要更频繁地通信)和/或由于用户亲缘性(与其它用户相比,特定用户更频繁地在特定组内通信(例如由于地理位置、空间和/或时间事件(如社会事件、体育活动)或紧急情况(如地震)))可以发现多个节点间的异质的通信亲缘性;在分布式系统中,其中,节点表现出与其他节点的通信亲缘性,如:需要在其他节点的帮助下(例如从变化的大数据源)更新其记录的数据库;创建其他节点的系统备份的备份服务器;提供位于另一系统(例如文件或流传输服务器)上的文件或流的web服务器。
一般来说,传统方案不考虑异构网络情形,其中,网络的一些区域比其他区域提供更高的性能。还可以想到网络由具有不同硬件能力的两个或更多个区域组成,例如,区域A装备了标准的1Gbit/s硬件,而区域B具有40Gbit/s高速硬件。为了最优地利用硬件能力,应将具有高网络负载的VM移入区域B。此外,VM共处一个主机上意味着将它们置于提供更高网络性能的(虚拟)区域中。然而,真实或虚拟高性能区域是否可用无关紧要。
测量已表明:与通过网络(其具有特定的硬性限制,例如1Gbit/s)连接的VM相比,共处一处的VM之间的网络I/O性能可以高得多并且更加稳定。内部系统总线上更快速的通信可以解释该效果。该效果的影响可以取决于内部和外部总线速度之间的差异。
为了找到提供网络数据流最佳性能的VM/主机映射,创建和评估VM的网络通信简档,以找到可以受益于共处一处的通信组。
通过说明前述实施例,可以看到VM的布置对运行于VM内的系统或应用的网络性能具有重大影响。如果通信密集的VM置于相同的主机上,它们可以受益于前述共处一处的机器的网络性能增益。
虽然描述了详细实施例,这些实施例仅用于提供对独立权利要求所限定的本发明的更好的理解,而不应视为限制性的。
Claims (17)
1.一种用于操作包括通过网络耦合的多个主机在内的数据中心的方法,所述主机能够被配置为运行多个虚拟机,所述方法包括:
-采集指示耦合所述多个主机的网络的负载的网络负载信息;
-基于所采集的网络负载信息来创建所述多个虚拟机中的虚拟机的网络负载简档,并存储所述网络负载简档;
-基于对所述网络负载简档的评估,确定所述多个虚拟机之中的一个虚拟机在主机之中的一个主机处的目标分配,其中所述评估包括:通过将所述一个虚拟机的最后的网络负载简档序列与所存储的历史网络负载简档进行比较,利用模式识别算法通过识别先前观察的系统行为来预测所述一个虚拟机的未来行为;以及
-基于所确定的目标分配,在所述一个主机处分配所述一个虚拟机。
2.根据权利要求1所述的方法,还包括:在数据中心中定义至少一个通信组,所述通信组包括至少一个主机。
3.根据权利要求2所述的方法,其中,所述通信组包括网络中的区域,所述区域耦合所述数据中心的一组主机。
4.根据权利要求2或3所述的方法,还包括:
-评估网络负载简档,以确定所述目标分配。
5.根据权利要求4所述的方法,其中,针对所述至少一个通信组中的每一个通信组,产生所述网络负载简档。
6.根据权利要求5所述的方法,其中,存在至少两个通信组,所述方法还包括:
-从每个通信组协作地采集多个网络负载简档;以及
-基于多个网络负载简档,确定目标分配。
7.根据权利要求1至3中任一项所述的方法,其中,确定目标分配包括:考虑数据中心的可用资源。
8.根据权利要求7所述的方法,还包括:采集用于考虑数据中心的可用资源的附加负载指示符信息。
9.根据权利要求1至3中任一项所述的方法,其中,确定目标分配包括:计算和评估代价函数。
10.一种在包括通过网络耦合的多个主机在内的数据中心中操作的数据中心实体设备,所述主机能够被配置为运行多个虚拟机,所述数据中心实体设备包括:
通信接口;
处理单元;和
存储器,所述存储器存储代码,所述代码在由处理单元执行时,使所述处理单元执行以下操作:
-基于所采集的网络负载信息来创建所述多个虚拟机中的虚拟机的网络负载简档,并存储所述网络负载简档,所述网络负载信息指示耦合多个主机的网络的负载;以及
-基于对所述网络负载简档的评估,确定所述多个虚拟机之中的一个虚拟机在主机之中的一个主机处的目标分配,其中所述评估包括:通过将所述一个虚拟机的最后的网络负载简档序列与所存储的历史网络负载简档进行比较,利用模式识别算法通过识别先前观察的系统行为来预测所述一个虚拟机的未来行为;以及
-基于所确定的目标分配,在所述一个主机处分配所述一个虚拟机。
11.根据权利要求10所述的数据中心实体设备,其中所述存储器中存储的代码在由处理单元执行时,还使所述处理单元执行以下操作:从多个主机之一接收用于产生所述网络负载简档的所述网络负载信息。
12.根据权利要求10或11所述的数据中心实体设备,其中所述存储器中存储的代码在由处理单元执行时,还使所述处理单元执行以下操作:从所述网络的网络节点接收用于产生所述网络负载简档的所述网络负载信息。
13.根据权利要求10或11所述的数据中心实体设备,其中所述存储器中存储的代码在由处理单元执行时,还使所述处理单元执行以下操作:与另一数据中心实体交换所述网络负载简档。
14.根据权利要求10或11所述的数据中心实体设备,其中所述存储器中存储的代码在由处理单元执行时,还使所述处理单元执行以下操作:考虑数据中心的可用资源。
15.根据权利要求14所述的数据中心实体设备,其中所述存储器中存储的代码在由处理单元执行时,还使所述处理单元执行以下操作:采集用于考虑数据中心的可用资源的附加负载指示符信息。
16.根据权利要求10或11所述的数据中心实体设备,其中所述存储器中存储的代码在由处理单元执行时,还使所述处理单元执行以下操作:计算和评估代价函数。
17.一种在包括通过网络耦合的多个主机在内的至少一个数据中心中使用的系统,所述系统包括:根据权利要求10至16中任一项所述的数据中心实体设备;以及被配置为采集所述网络负载信息的至少一个采集实体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2011/057756 WO2012155947A1 (en) | 2011-05-13 | 2011-05-13 | Allocation of virtual machines in datacenters |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103649916A CN103649916A (zh) | 2014-03-19 |
CN103649916B true CN103649916B (zh) | 2018-03-02 |
Family
ID=44314950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180072216.3A Active CN103649916B (zh) | 2011-05-13 | 2011-05-13 | 虚拟机在数据中心中的分配 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9807159B2 (zh) |
EP (1) | EP2707795A1 (zh) |
CN (1) | CN103649916B (zh) |
WO (1) | WO2012155947A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9575781B1 (en) * | 2011-05-23 | 2017-02-21 | Open Invention Network Llc | Automatic determination of a virtual machine's dependencies on storage virtualization |
EP2811412A4 (en) * | 2012-06-25 | 2016-03-09 | Hitachi Ltd | COMPUTER SYSTEM AND METHOD FOR MIGRATION OF APPLICATION PROGRAM EXECUTION ENVIRONMENT |
JP5377775B1 (ja) * | 2012-09-21 | 2013-12-25 | 株式会社東芝 | システム管理装置、ネットワークシステム、システム管理方法およびプログラム |
US9537775B2 (en) | 2013-09-23 | 2017-01-03 | Oracle International Corporation | Methods, systems, and computer readable media for diameter load and overload information and virtualization |
US9838483B2 (en) | 2013-11-21 | 2017-12-05 | Oracle International Corporation | Methods, systems, and computer readable media for a network function virtualization information concentrator |
US11388082B2 (en) | 2013-11-27 | 2022-07-12 | Oracle International Corporation | Methods, systems, and computer readable media for diameter routing using software defined network (SDN) functionality |
US10587471B1 (en) * | 2013-12-17 | 2020-03-10 | Amazon Technologies, Inc. | Criterion-based computing instance activation |
US20150215228A1 (en) * | 2014-01-28 | 2015-07-30 | Oracle International Corporation | Methods, systems, and computer readable media for a cloud-based virtualization orchestrator |
US20150263894A1 (en) * | 2014-03-14 | 2015-09-17 | Avni Networks Inc. | Method and apparatus to migrate applications and network services onto any cloud |
US9680708B2 (en) | 2014-03-14 | 2017-06-13 | Veritas Technologies | Method and apparatus for cloud resource delivery |
US10375161B1 (en) * | 2014-04-09 | 2019-08-06 | VCE IP Holding Company LLC | Distributed computing task management system and method |
CN105471938B (zh) * | 2014-08-19 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 服务器负载管理方法及装置 |
US9672068B2 (en) * | 2014-10-09 | 2017-06-06 | Vmware, Inc. | Virtual machine scheduling using optimum power-consumption profile |
US9794155B2 (en) * | 2014-12-19 | 2017-10-17 | Tube Incorporated | System and method for coordinating client-side inference of mobile network loading and capacity |
US9917729B2 (en) | 2015-04-21 | 2018-03-13 | Oracle International Corporation | Methods, systems, and computer readable media for multi-layer orchestration in software defined networks (SDNs) |
US9886176B2 (en) * | 2015-05-21 | 2018-02-06 | International Business Machines Corporation | Placement of virtual machines on physical hosts based on collocation rules |
WO2017070963A1 (zh) * | 2015-10-31 | 2017-05-04 | 华为技术有限公司 | 一种虚拟资源的部署方法、装置及系统 |
US10552229B2 (en) * | 2016-11-10 | 2020-02-04 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Systems and methods for determining placement of computing workloads within a network |
US10423455B2 (en) | 2017-02-03 | 2019-09-24 | Microsoft Technology Licensing, Llc | Method for deploying virtual machines in cloud computing systems based on predicted lifetime |
US10942760B2 (en) | 2017-02-03 | 2021-03-09 | Microsoft Technology Licensing, Llc | Predictive rightsizing for virtual machines in cloud computing systems |
US10296367B2 (en) | 2017-02-03 | 2019-05-21 | Microsoft Technology Licensing, Llc | Resource management for virtual machines in cloud computing systems |
US10768963B2 (en) | 2017-07-31 | 2020-09-08 | Hewlett Packard Enterprise Development Lp | Virtual network functions allocation in a datacenter based on extinction factor |
US11657391B1 (en) | 2019-05-24 | 2023-05-23 | Hiro Systems Pbc | System and method for invoking smart contracts |
US10699269B1 (en) * | 2019-05-24 | 2020-06-30 | Blockstack Pbc | System and method for smart contract publishing |
US11513815B1 (en) | 2019-05-24 | 2022-11-29 | Hiro Systems Pbc | Defining data storage within smart contracts |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101449258A (zh) * | 2006-05-18 | 2009-06-03 | 微软公司 | 基于工作负载表征将虚拟机部署到主机 |
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415708B2 (en) * | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
US8145760B2 (en) * | 2006-07-24 | 2012-03-27 | Northwestern University | Methods and systems for automatic inference and adaptation of virtualized computing environments |
US9405585B2 (en) * | 2007-04-30 | 2016-08-02 | International Business Machines Corporation | Management of heterogeneous workloads |
US8102781B2 (en) | 2008-07-31 | 2012-01-24 | Cisco Technology, Inc. | Dynamic distribution of virtual machines in a communication network |
US7904540B2 (en) * | 2009-03-24 | 2011-03-08 | International Business Machines Corporation | System and method for deploying virtual machines in a computing environment |
US8719415B1 (en) * | 2010-06-28 | 2014-05-06 | Amazon Technologies, Inc. | Use of temporarily available computing nodes for dynamic scaling of a cluster |
-
2011
- 2011-05-13 CN CN201180072216.3A patent/CN103649916B/zh active Active
- 2011-05-13 US US14/119,600 patent/US9807159B2/en active Active
- 2011-05-13 WO PCT/EP2011/057756 patent/WO2012155947A1/en active Application Filing
- 2011-05-13 EP EP11719561.0A patent/EP2707795A1/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101449258A (zh) * | 2006-05-18 | 2009-06-03 | 微软公司 | 基于工作负载表征将虚拟机部署到主机 |
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2707795A1 (en) | 2014-03-19 |
WO2012155947A1 (en) | 2012-11-22 |
CN103649916A (zh) | 2014-03-19 |
US9807159B2 (en) | 2017-10-31 |
US20140215076A1 (en) | 2014-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103649916B (zh) | 虚拟机在数据中心中的分配 | |
Tseng et al. | A lightweight autoscaling mechanism for fog computing in industrial applications | |
Ala’Anzy et al. | Load balancing and server consolidation in cloud computing environments: a meta-study | |
US20190319881A1 (en) | Traffic management based on past traffic arrival patterns | |
EP3161632B1 (en) | Integrated global resource allocation and load balancing | |
CN102724277B (zh) | 虚拟机热迁移和部署的方法、服务器及集群系统 | |
Ferdaus et al. | An algorithm for network and data-aware placement of multi-tier applications in cloud data centers | |
Pascual et al. | Towards a greener cloud infrastructure management using optimized placement policies | |
Tripathi et al. | Modified dragonfly algorithm for optimal virtual machine placement in cloud computing | |
Sedaghat et al. | Decentralized cloud datacenter reconsolidation through emergent and topology-aware behavior | |
Gkatzikis et al. | Mobiles on cloud nine: Efficient task migration policies for cloud computing systems | |
Mahmoudi et al. | SDN-DVFS: an enhanced QoS-aware load-balancing method in software defined networks | |
Chang et al. | Adaptive replication for mobile edge computing | |
Venkata Krishna et al. | A Lion‐Whale optimization‐based migration of virtual machines for data centers in cloud computing | |
Garg et al. | Optimal virtual machine scheduling in virtualized cloud environment using VIKOR method | |
Devi et al. | A graph-based mathematical model for an efficient load balancing and fault tolerance in cloud computing | |
Khodayarseresht et al. | A multi-objective cloud energy optimizer algorithm for federated environments | |
Djennane et al. | Energy-efficient algorithm for load balancing and VMs reassignment in data centers | |
Liu et al. | Towards deadline guaranteed cloud storage services | |
Tarighi et al. | Performance improvement of virtualized cluster computing system using TOPSIS algorithm | |
Guo et al. | Radar: Reliable resource scheduling for composable/disaggregated data centers | |
El-Zoghdy et al. | A threshold-based load balancing algorithm for grid computing systems | |
Jumnal et al. | Cluster-based optimal VM placement using crow search algorithm for cloud data centres | |
Oliveira et al. | Enhancing modular application placement in a hierarchical fog computing: A latency and communication cost-sensitive approach | |
Zou et al. | Load-based controlling scheme of virtual machine migration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |