CN104679591B - 用于在云环境中进行资源分配的方法和装置 - Google Patents

用于在云环境中进行资源分配的方法和装置 Download PDF

Info

Publication number
CN104679591B
CN104679591B CN201310625416.8A CN201310625416A CN104679591B CN 104679591 B CN104679591 B CN 104679591B CN 201310625416 A CN201310625416 A CN 201310625416A CN 104679591 B CN104679591 B CN 104679591B
Authority
CN
China
Prior art keywords
virtual machine
virtual
resource
key performance
metric parameter
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
Application number
CN201310625416.8A
Other languages
English (en)
Other versions
CN104679591A (zh
Inventor
卢江
贾骥
孟庆海
李啸川
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310625416.8A priority Critical patent/CN104679591B/zh
Priority to US14/488,475 priority patent/US10365955B2/en
Publication of CN104679591A publication Critical patent/CN104679591A/zh
Application granted granted Critical
Publication of CN104679591B publication Critical patent/CN104679591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明的各实施方式提供了用于在云环境中进行资源分配的方法和装置。在本发明的一个实施方式中,提供了一种用于在云环境中进行资源分配的方法,包括:检测云环境内的虚拟系统中的多个虚拟机中的至少第一虚拟机的度量参数;根据度量参数计算关键性能指标,关键性能指标指示至少第一虚拟机的运行状态;以及响应于关键性能指标指示至少第一虚拟机过载,通过云环境来基于关键性能指标在至少第一虚拟机与虚拟系统内部的其他虚拟机之间进行资源再分配。在本发明的一个实施方式中,提供了一种用于在云环境中进行资源分配的装置。采用根据本发明的方法和装置,可以在虚拟系统内部的各个虚拟机之间进行资源分配,进而提高资源的使用效率。

Description

用于在云环境中进行资源分配的方法和装置
技术领域
本发明的各实施方式涉及资源管理,更具体地,涉及用于在云环境中进行资源分配的方法和装置。
背景技术
随着计算机硬件和软件技术的发展,云计算已经能够提供越来越强大的计算能力。在云计算的支持下,云计算的消费者可以利用常规的本地计算设备来调用云环境中的强大计算能力。一方面,云计算消费者不必购买专用的高性能计算设备,另一方面,消费者也不必具针对高性能计算设备执行复杂的设置过程;而是消费者仅需要向云计算的提供者提交简单的资源请求,即可从云计算提供者获取专业服务。
例如,在线销售者可以是云计算消费者的一个典型示例,该在线销售者可能希望建立在线购物网站(虚拟系统),并且将待售商品的名称、型号、照片、功能说明等一系列信息显示在该在线购物网站的页面中。在本发明的上下文中,虚拟系统在逻辑上可以包括云计算环境中的至少一个虚拟机,并且该至少一个虚拟机用于执行云计算消费者期望的功能。
虚拟系统的具体示例例如可以是在线购物网站、在线酒店预订网站、在线机票预订网站,等等。应当注意,在本发明的上下文中,上述每个网站可以是单独的虚拟系统,例如,用于销售护肤品的在线购物网站可以是一个虚拟系统,而用于销售电子设备的在线购物网站可以是另一个虚拟系统。
在传统的云计算环境中,在线销售者可以向云计算环境提供者请求特定数量的资源,用于存储上述信息以及执行其他相关的功能。当在线销售者已经请求的资源不足以支持当前的需求(例如,大量用户访问网站造成网站的服务器过载)时,通常需要向云计算环境请求额外的计算资源,以便缓解服务器中计算资源短缺的状况。
在现有的云计算环境中,一方面,计算资源的总量依赖于云计算环境中的物理计算节点所提供的支持,因而云计算的消费者并不能无限制地向云计算环境请求计算资源;另一方面,云计算的消费者需要按照所请求计算资源的情况进行付费。如果在线销售者按照计算资源的峰值时的需求来请求计算资源,则在购物网站的访问量处于低谷时,将会出现资源浪费的情况。
因而,在计算资源总量受限的云计算环境中,如何确保虚拟系统内的各个虚拟机中应用能够正常运行,并且在虚拟机过载时自适应地调度计算资源,这成为一个亟待解决的问题。
发明内容
因而,期望开发一种能够自适应地调度虚拟系统中的各个虚拟机的计算资源的技术方案,并且还期望该技术方案能够和现有的云计算中的资源分配和资源调度机制相兼容,从而在尽可能充分利用虚拟系统内的现有资源的基础上,提高云计算环境中的资源利用率。
在本发明的一个实施方式中,提供了一种用于在云环境中进行资源分配的方法,包括:检测云环境内的虚拟系统中的多个虚拟机中的至少第一虚拟机的度量参数;根据度量参数计算关键性能指标(Key Performance Indicator,KPI),关键性能指标指示至少第一虚拟机的运行状态;以及响应于关键性能指标指示至少第一虚拟机过载,通过云环境来基于关键性能指标在至少第一虚拟机与虚拟系统内部的其他虚拟机之间进行资源再分配。
在本发明的一个实施方式中,在再分配期间虚拟系统占有的资源总量保持不变。
在本发明的一个实施方式中,度量参数包括以下中的任一项:应用度量参数,指示运行于多个虚拟机中的至少第一虚拟机之上的应用的性能参数;以及硬件度量参数,指示多个虚拟机中的至少第一虚拟机的硬件的性能参数。
在本发明的一个实施方式中,提供了一种用于在云环境中进行资源分配的装置,包括:测量模块,配置用于检测云环境内的虚拟系统中的多个虚拟机中的至少第一虚拟机的度量参数;计算模块,配置用于根据度量参数计算关键性能指标,关键性能指标指示至少第一虚拟机的运行状态;以及再分配模块,配置用于响应于关键性能指标指示至少第一虚拟机过载,通过云环境来基于关键性能指标在至少第一虚拟机与虚拟系统内部的其他虚拟机之间进行资源再分配。
在本发明的一个实施方式中,虚拟系统占有的资源总量保持不变。
在本发明的一个实施方式中,度量参数包括以下中的任一项:应用度量参数,指示运行于多个虚拟机中的至少第一虚拟机之上的应用的性能参数;以及硬件度量参数,指示多个虚拟机中的至少第一虚拟机的硬件的性能参数。
采用本发明的方法和装置,可以实现首先在虚拟系统内部解决计算资源不足的问题,并且在当虚拟系统内部的空闲计算资源不足以满足当前的资源开销时,再向云计算环境请求额外的计算资源。通过使用本发明的方法和装置,可以在虚拟系统内部的各个虚拟机之间自适应地进行资源分配,提高虚拟系统内部的计算资源的使用效率,进而提高整个云计算环境中的计算资源的使用效率。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示意性示出了适于用来实现本发明实施方式的示例性计算机系统/服务器的框图;
图2示意性示出了一个示例性的云计算环境;
图3示意性示出了云计算环境50(图2)提供的一组功能抽象层;
图4示意性示出了根据一个技术方案的资源分配方法的框图;
图5示意性示出了根据本发明一个实施方式的、在云环境中进行资源分配的技术方案的架构图;
图6示意性示出了根据本发明一个实施方式的、在云环境中进行资源分配的方法的流程图;
图7示意性示出了根据本发明一个实施方式的、对应用进行迁移的方法的流程图;
图8A和图8B分别示意性示出了根据本发明一个实施方式的、对应用进行迁移的框图;
图9A、图9B和图9C示意性示出了根据本发明另一实施方式的、对应用进行迁移的框图;以及
图10示意性示出了根据本发明一个实施方式的、在云环境中进行资源分配的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其他类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其他通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,其他硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施方式不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其他资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其他资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理。
在本发明的一个实施方式中,可以在虚拟层62处实现根据本发明的各个实施方式的资源分配方案,以便在云计算环境中的虚拟系统内的多个虚拟机之间自适应地进行资源分配。
图4示意性示出了根据一个技术方案的资源分配方法的框图。在此技术方案中,虚拟系统410包括多个虚拟机,分别为VM-1412、VM-2414、...、以及VM-N416。假设虚拟系统410中分别运行了多个应用,这些应用可以分别被部署在多个虚拟机VM-1412至VM-N416上。具体地,应用可以包括:应用1,运行在VM-1412上并配置用于处理用户对于购物网站访问;应用2,运行在VM-2414上并配置用于处理存储商品相关数据,等等。
在此技术方案中,当应用1因无法处理过量的用户访问而变得过载时,可以向云计算系统的资源池420请求(如箭头A所示)请求额外的计算资源。尽管如图4所示的技术方案可以使得虚拟系统410获得所需计算资源以处理不断增加的用户访问,然而当资源池420中没有额外的计算资源时,该技术方案无法保证虚拟系统410的正常运行。另外,还可能会存在如下情况,尽管虚拟机VM-1412因用户访问量过大而变得过载,然而虚拟机VM-2414上仍然存在大量空闲的计算资源。按照图4所示的技术方案,应用1并不能调用虚拟机VM-2414上的空闲计算资源,即,一旦各个虚拟机的配置已经确定,在虚拟系统410中的各个虚拟机之间并不能进行资源再分配。
针对如图4所示技术方案的不足,期望能够开发出一种可以在云计算环境中的虚拟系统中的多个虚拟机之间自适应地进行资源分配的方法和装置。具体地,图5示意性示出了根据本发明一个实施方式的、在云环境中进行资源分配的技术方案的架构图500。不同于图4所示的向资源池请求额外的计算资源,在图5所示的实施方式中,通过在虚拟机VM-1412、VM-2414、...、以及VM-N416之间进行资源再分配,以便保证虚拟系统410的正常运行。
具体地,在本发明的一个实施方式中,提供了检测云环境内的虚拟系统中的多个虚拟机中的至少第一虚拟机的度量参数;根据度量参数计算关键性能指标,关键性能指标指示至少第一虚拟机的运行状态;以及响应于关键性能指标指示至少第一虚拟机过载,通过云环境来基于关键性能指标在至少第一虚拟机与虚拟系统内部的其他虚拟机之间进行资源再分配。
具体地,图6示意性示出了根据本发明一个实施方式的、在云环境中进行资源分配的方法的流程图600。在步骤S602中,检测云环境内的虚拟系统中的多个虚拟机中的至少第一虚拟机的度量参数(metrics parameter)。在此实施方式中,度量参数是指可以衡量虚拟机的运行状态的参数。可以采集来自虚拟系统中的一个或者多个虚拟机的度量参数。例如,可以实时地监控每个虚拟机的度量参数,或者还可以监控运行状态浮动较大的虚拟机的度量参数。
在步骤S604中,根据度量参数计算关键性能指标,关键性能指标指示至少第一虚拟机的运行状态。在此实施方式中,度量参数可以包括用于评估虚拟机的不同方面的多个参数,例如,可以通过对多个参数进行加权等具体方式,来计算关键性能指标。
在步骤S606中,响应于关键性能指标指示至少第一虚拟机过载,通过云环境来基于关键性能指标在至少第一虚拟机与虚拟系统内部的其他虚拟机之间进行资源再分配。由于关键性能指标可以指示至少第一虚拟机的运行状态,因而可以基于该关键性能指标判断第一虚拟机是否过载,继而从虚拟系统内的其他虚拟机选择计算资源充足的虚拟机,并且在第一虚拟机与该其他虚拟机之间进行资源再分配。
本发明的实施方式中的各个虚拟机并非常规计算环境中的普通虚拟机,而是需要受到云环境的控制中心的统一调度。因而,当关键性能指标指示至少所述第一虚拟机过载时,云环境在虚拟系统内部调整各个虚拟机之间的资源分配,而不是如同现有技术那样由云环境向该第一虚拟机分配额外的资源。应当注意,采用本发明的实施方式所述的技术方案,除了可以在云环境的控制中心的层级提供虚拟机之间的资源分配以外,还可以在云环境内的各个虚拟系统的层级处实现虚拟系统内的资源调度。
应当注意,本发明的上下文中所述的虚拟系统不同于常规的集群。在集群环境中的各个节点是同质的(homogeneous),即各个节点的物理配置以及逻辑配置通常都是相同的。然而,由于云环境的复杂性,云环境中提供计算资源的计算设备在物理上通常具有多样性,例如某些计算资源可能来自于个人计算机,而某些计算资源可能来自于服务器设备;另一方面,各个计算设备上的软件配置也不尽相同。例如,对于上文所述的在线机票预定网站的虚拟系统而言,其中可能会涉及多种类型的计算设备,并且每个计算设备上可以运行多种类型的应用,例如,用于访问航空公司数据库的应用、以及用于管理在线支付的应用等等。由于云环境的复杂性,现有技术中关于集群的资源调度方法并不适合于在云环境中进行资源分配。
在本发明的一个实施方式中,可以计算虚拟系统中的每个虚拟机的关键性能指标,并且根据该指标来选择计算资源充足的其他虚拟机。
在本发明的一个实施方式中,在再分配期间虚拟系统占有的资源总量保持不变。根据本发明的原理,优先考虑在虚拟系统内部的多个虚拟机之间进行资源再分配,当资源再分配不能满足虚拟系统的运行要求时,再向云计算环境请求额外的计算资源。因而,在本发明的资源再分配期间,虚拟系统占有的资源总量保持不变。
本领域技术人员可以自行设计如何实现资源再分配,例如,可以将造成第一虚拟机过载的应用迁移至具有更充足计算资源的其他虚拟机,或者还可以将具有更充足计算资源的其他虚拟机中的空闲计算资源分配给该第一虚拟机,以缓和第一虚拟机的过载状况。
在本发明的一个实施方式中,度量参数包括以下中的任一项:应用度量参数,指示运行于多个虚拟机中的至少第一虚拟机之上的应用的性能参数;以及硬件度量参数,指示多个虚拟机中的至少第一虚拟机的硬件的性能参数。
在本发明的实施方式中,可以从多个方面来衡量虚拟机的性能状态,一方面,可以基于运行于特定虚拟机上的应用的性能来衡量该特定虚拟机的性能状态。例如,在上文参见图4所述的具体示例中,运行在VM-1412上的应用1配置用于处理用户对于购物网站的访问,此时可以将应用1对于用户访问的响应时间作为一个度量参数。当响应时间较快(例如,小于10毫秒时),可以认为VM-1412的运行状态良好;而当响应时间变慢(例如,大于3秒时),则可以认为VM-1412的运行状态已经恶化,并需要进行资源再分配。
另一方面,还可以基于特定虚拟机的各项硬件指标来衡量该特定虚拟机的性能状态。例如,这些硬件指标可以包括但不限于CPU使用率、存储器使用率、CPU温度、I/O响应时间等等。在本发明的一个实施方式中,可以单独地使用应用度量参数、单独地使用硬件度量参数、或者还可以将应用度量参数与硬件度量参数两者相结合。
本领域技术人员可以根据上文所述的原理来设计度量参数的具体计算方式,例如,硬件度量参数可以包括:CPU使用率,以0-1之间的小数来表示(例如,0.9);存储器使用率,以0-1之间的小数来表示(例如,0.5),等。在以硬件指标来衡量度量参数的情况下,可以将CPU使用率与存储器使用率这两项指标加权求和,以便计算关键性能指标。在本发明的一个实施方式中,可以采用如下公式计算关键性能指标:
公式1
其中m表示度量参数的数量,在上文所示的包括CPU使用率与存储器使用率的情况下,m=2;αi表示针对第i个度量参数的权重;pari表示第i个度量参数的数值。在上文所示的示例中,当将用于CPU使用率与存储器使用率的权重分别设置为0.5时,KPI=0.5×0.9+0.5×0.5=0.70。本领域技术人员还可以采用其他公式来计算针对各个虚拟机的关键性能指标。尽管上文中仅仅以硬件度量参数为示例而示出了关键性能指标的计算方式,本领域技术人员可以基于所示出的原理,自行设计基于应用度量参数和/或硬件度量参数来计算关键性能指标的具体算法。
在本发明的一个实施方式中,响应于关键性能指标指示至少第一虚拟机过载,通过云环境来基于关键性能指标在至少第一虚拟机与虚拟系统内部的其他虚拟机之间进行资源再分配包括:基于关键性能指标来从其他虚拟机中选择具有充足空闲资源的第二虚拟机;以及在至少第一虚拟机与第二虚拟机之间进行资源再分配。
在本发明的一个实施方式中,可以采用关键性能指标来评价虚拟机的运行状态,例如,可以定义采用0-1之间的小数来表示虚拟机的工作负载,数值越大表示虚拟机的过载情况越严重,数值越小表示虚拟机的工作负载越小。因而可以基于各个虚拟机的关键性能指标来判断第一虚拟机是否过载,继而选择具有充足空闲资源的第二虚拟机,以便在第一虚拟机与第二虚拟机之间进行资源再分配。
例如,可以定义当关键性能指标大于等于0.6时认为虚拟机过载。在上文的示例中,关键性能指标=0.7≥0.6,因而可以从虚拟系统中的其余虚拟机中选择关键性能指标较低的虚拟机作为第二虚拟机。
在本发明的一个实施方式中,在至少第一虚拟机与第二虚拟机之间进行资源再分配包括:查找使得第一虚拟机过载的应用;以及将应用从至少第一虚拟机迁移至第二虚拟机。
可以基于虚拟机的系统日志或者应用度量参数等来查找使得虚拟机过载的应用,例如,当在如图4所示的VM-1412上分别运行有应用1(用于处理用户对于购物网站访问)以及应用2(用于处理存储商品相关数据)时,可以检测各个应用占用计算资源的高低,进而找到对于虚拟机的工作负载影响最为显著的应用。例如,当用户访问骤增时,可以发现应用1是造成虚拟机过载的应用。继而,可以将应用从至少第一虚拟机迁移至第二虚拟机。在下文中,将具体描述如何迁移应用。
图7示意性示出了根据本发明一个实施方式的、对应用进行迁移的方法的流程图700。在步骤S702中,从源虚拟机向目的虚拟机克隆待迁移的应用,在此的克隆是指将与待克隆应用相关联的全部数据从源虚拟机复制至目的虚拟机。在克隆操作期间,源虚拟机上的应用继续运行(例如在上文所述的应用1的示例中,应用1继续处理已经接收到的对购物网站的访问请求)。
在此实施方式中,可以以克隆操作执行完毕的时间点作为指标,来确定由哪个虚拟机响应于用户的访问请求。具体地,在步骤S704中,在该时间点之前可以由源虚拟机来处理已经接收到的未完成的请求,而在该时间点之后可以由目的虚拟机接收新的请求。上文仅示意性示出了迁移操作的原理,本领域技术人员还可以采用其他方式来确定在迁移操作期间由哪个虚拟机来响应于用户的访问请求。在步骤S706中,关闭源虚拟机中的应用,此时该应用已经被迁移至目的虚拟机,并且由该目的虚拟机接收并处理用户请求。
图8A和图8B分别示意性示出了根据本发明一个实施方式的对应用进行迁移的框图800A和800B。在图8A中,假设应用1810和应用2820运行在虚拟机VM-1212上,应用3830运行在虚拟机VM-2214上,而应用4840运行在虚拟机VM-N216上。已经采用如上文所述的方法确定了应用2820(以阴影示出)是造成虚拟机VM-1212过载的应用,并且期望将该应用2820迁移至具有足够空闲资源的虚拟机VM-N216。
可以采用如上文参见图7所示的方法,来将造成虚拟机VM-1212过载的应用2820迁移至虚拟机VM-N216。由于虚拟机VM-N216具有充足的空闲资源,因而在迁移操作之后各个应用1-应用4都处于正常运行状态。
还可能会存在另一种情况,例如,应用2820需要占用大量计算资源,而虚拟系统中的其他虚拟机目前并不具有足够运行该应用2820的计算资源。应当注意,尽管此时未能找到具有充足计算资源的虚拟机,然而,通过在虚拟系统内部迁移应用,可以调整多个应用在各个虚拟机之间的分布,进而在单一虚拟机处获得足够运行应用2820的计算资源。
图9A、图9B和图9C分别示意性示出了根据本发明另一实施方式的、对应用进行迁移的框图900A、900B和900C。如图9A所示,虚拟机VM-N216上已经运行了应用4840,并且该虚拟机VM-N216的当前空闲资源不足以运行应用2820。此时,可以首先将应用4840迁移至虚拟机VM-2214(如箭头A1所示),继而再将应用2820迁移至虚拟机VM-N216(如箭头A2所示)。
如图9B所示,此时已经将应用4840迁移至虚拟机VM-2214,因而在虚拟机VM-N216中具有足够的资源用于运行应用2820。接着,通过如箭头A2所示的迁移步骤,将应用2820迁移至虚拟机VM-N216。迁移后的状态如图9C所示,此时应用3830和应用4840运行于虚拟机VM-2214,而应用1810和应用2820分别运行于虚拟机VM-1212和虚拟机VM-N216,并且各个应用都处于正常运行状态。
相对于现有的向云计算环境的资源池中请求计算资源的技术方案,如图9A-图9C的迁移过程可以提供更多灵活性,并且提高各个虚拟机中的资源使用效率。
在本发明的一个实施方式中,在至少第一虚拟机与第二虚拟机之间进行资源再分配包括:将第二虚拟机的空闲资源分配给至少第一虚拟机。由于本发明的各个实施方式涉及在一个虚拟系统中的多个虚拟机之间的资源分配,除了如上文的将造成源虚拟机超载的应用迁移至具有充足计算资源的目的虚拟机以外,还可以将其他虚拟机中的空闲资源分配给源虚拟机,以缓和源虚拟机中资源不足的状况。
在本发明的一个实施方式中,进一步包括:在所述再分配之后响应于仍然存在资源不足,向云环境请求附加资源。如果在虚拟系统内部进行资源再分配仍然不能满足需求,则还可以向云计算环境中的资源池请求附加资源。在此步骤中的请求操作可以遵循云计算环境中的资源请求过程,因而不再赘述。
在本发明的一个实施方式中,其中利用以下中的至少一种方式来检测所述度量参数:周期性地;以及响应于虚拟系统中的警报。为了提前预报虚拟系统中可能出现的过载状况,可以周期性地监控各个虚拟机的度量参数;或者,还可以在虚拟系统中出现过载警报的情况下,执行如本发明所述的方法。通过结合两种触发方式,一方面可以基本实时地(例如,每分钟)监控各个虚拟机的运行状态,另一方面还可以在突发警报时及时处理潜在的危险,以避免出现系统崩溃等更严重的故障。
图10示意性示出了根据本发明一个实施方式的在云环境中进行资源分配的装置的框图1000。在本发明的一个实施方式中,提供了一种用于在云环境中进行资源分配的装置,包括:测量模块1010,配置用于检测云环境内的虚拟系统中的多个虚拟机中的至少第一虚拟机的度量参数;计算模块1020,配置用于根据度量参数计算关键性能指标,关键性能指标指示至少第一虚拟机的运行状态;以及再分配模块1030,配置用于响应于关键性能指标指示至少第一虚拟机过载,通过云环境来基于关键性能指标在至少第一虚拟机与虚拟系统内部的其他虚拟机之间进行资源再分配。
在本发明的一个实施方式中,虚拟系统占有的资源总量保持不变。
在本发明的一个实施方式中,度量参数包括以下中的任一项:应用度量参数,指示运行于多个虚拟机中的至少第一虚拟机之上的应用的性能参数;以及硬件度量参数,指示多个虚拟机中的至少第一虚拟机的硬件的性能参数。
在本发明的一个实施方式中,再分配模块包括:选择模块,配置用于基于关键性能指标来从其他虚拟机中选择具有充足空闲资源的第二虚拟机;以及资源再分配模块,配置用于在至少第一虚拟机与第二虚拟机之间进行资源再分配。
在本发明的一个实施方式中,资源再分配模块包括:查找模块,配置用于查找使得第一虚拟机过载的应用;以及迁移模块,配置用于将应用从至少第一虚拟机迁移至第二虚拟机。
在本发明的一个实施方式中,资源再分配包括:资源分配模块,配置用于将第二虚拟机的空闲资源分配给至少第一虚拟机。
在本发明的一个实施方式中,进一步包括:请求模块,配置用于在所述再分配之后响应于仍然存在资源不足,向云环境请求附加资源。
在本发明的一个实施方式中,其中利用以下中的至少一种方式来检测所述度量参数:周期性地;以及响应于虚拟系统中的警报。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。

Claims (8)

1.一种用于在云环境中进行资源分配的方法,包括:
检测所述云环境内的虚拟系统中的多个虚拟机中的至少第一虚拟机的度量参数,其中所述度量参数包括以下中的任一项:
应用度量参数,指示运行于所述多个虚拟机中的至少所述第一虚拟机之上的应用的性能参数;以及
硬件度量参数,指示所述多个虚拟机中的至少所述第一虚拟机的硬件的性能参数;
根据所述度量参数计算关键性能指标,所述关键性能指标指示至少所述第一虚拟机的运行状态,其中通过对所述应用度量参数和所述硬件度量参数进行加权的方式计算所述关键性能指标;
通过所述云环境来基于所述关键性能指标在至少所述第一虚拟机与所述虚拟系统内部的其他虚拟机之间进行资源再分配,包括:
响应于所述关键性能指标指示至少所述第一虚拟机过载,确定造成所述第一虚拟机过载的第一应用;
响应于确定所述虚拟系统中的其他单一虚拟机不具有足够运行所述第一应用的计算资源,通过在虚拟系统内部迁移其他应用调整多个其他应用在所述虚拟系统中的虚拟机之间的分布使得能够在其他单一虚拟机处获得足够运行所述第一应用的计算资源。
2.根据权利要求1所述的方法,其中在所述再分配期间所述虚拟系统占有的资源总量保持不变。
3.根据权利要求1所述的方法,进一步包括:在所述再分配之后响应于仍然存在资源不足,向所述云环境请求附加资源。
4.根据权利要求1所述的方法,其中利用以下中的至少一种方式来检测所述度量参数:
周期性地;以及
响应于所述虚拟系统中的警报。
5.一种用于在云环境中进行资源分配的装置,包括:
测量模块,配置用于检测所述云环境内的虚拟系统中的多个虚拟机中的至少第一虚拟机的度量参数,其中所述度量参数包括以下中的任一项:
应用度量参数,指示运行于所述多个虚拟机中的至少所述第一虚拟机之上的应用的性能参数;以及
硬件度量参数,指示所述多个虚拟机中的至少所述第一虚拟机的硬件的性能参数;
计算模块,配置用于根据所述度量参数计算关键性能指标,所述关键性能指标指示至少所述第一虚拟机的运行状态,其中通过对所述应用度量参数和所述硬件度量参数进行加权的方式计算所述关键性能指标;以及
再分配模块,配置用于响应于所述关键性能指标指示至少所述第一虚拟机过载,通过所述云环境来基于所述关键性能指标在至少所述第一虚拟机与所述虚拟系统内部的其他虚拟机之间进行资源再分配,包括:
响应于所述关键性能指标指示至少所述第一虚拟机过载,确定造成所述第一虚拟机过载的第一应用;
响应于确定所述虚拟系统中的其他单一虚拟机不具有足够运行所述第一应用的计算资源,通过在虚拟系统内部迁移其他应用调整多个其他应用在所述虚拟系统中的虚拟机之间的分布使得能够在其他单一虚拟机处获得足够运行所述第一应用的计算资源。
6.根据权利要求5所述的装置,其中在资源再分配期间所述虚拟系统占有的资源总量保持不变。
7.根据权利要求5所述的装置,进一步包括:
请求模块,配置用于在所述再分配之后响应于仍然存在资源不足,向所述云环境请求附加资源。
8.根据权利要求5所述的装置,其中利用以下中的至少一种方式来检测所述度量参数:
周期性地;以及
响应于所述虚拟系统中的警报。
CN201310625416.8A 2013-11-28 2013-11-28 用于在云环境中进行资源分配的方法和装置 Active CN104679591B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310625416.8A CN104679591B (zh) 2013-11-28 2013-11-28 用于在云环境中进行资源分配的方法和装置
US14/488,475 US10365955B2 (en) 2013-11-28 2014-09-17 Resource allocation in cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310625416.8A CN104679591B (zh) 2013-11-28 2013-11-28 用于在云环境中进行资源分配的方法和装置

Publications (2)

Publication Number Publication Date
CN104679591A CN104679591A (zh) 2015-06-03
CN104679591B true CN104679591B (zh) 2018-05-25

Family

ID=53174631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310625416.8A Active CN104679591B (zh) 2013-11-28 2013-11-28 用于在云环境中进行资源分配的方法和装置

Country Status (2)

Country Link
US (1) US10365955B2 (zh)
CN (1) CN104679591B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642635B2 (en) * 2014-06-07 2020-05-05 Vmware, Inc. Decentralized demand-based virtual machine migration management
CN108207114B (zh) * 2015-08-18 2021-12-21 瑞典爱立信有限公司 用于重新配置虚拟机的技术
US10348637B1 (en) * 2015-12-30 2019-07-09 Cerner Innovation, Inc. System and method for optimizing user-resource allocations to servers based on access patterns
US10698790B1 (en) * 2016-03-31 2020-06-30 EMC IP Holding Company LLC Proactive debugging
US10430249B2 (en) * 2016-11-02 2019-10-01 Red Hat Israel, Ltd. Supporting quality-of-service for virtual machines based on operational events
CN106856510B (zh) * 2017-02-27 2019-08-16 中国联合网络通信集团有限公司 虚拟私有云路由转发调度方法、系统和虚拟路由器
CN107368352B (zh) * 2017-07-26 2020-05-15 苏州浪潮智能科技有限公司 虚拟机资源的管理方法和装置
US20190250946A1 (en) * 2018-02-13 2019-08-15 International Business Machines Corporation Migrating a software container taking into account resource constraints
US10705836B2 (en) * 2018-04-20 2020-07-07 International Business Machines Corporation Mapping components of a non-distributed environment to a distributed environment
CN108804225B (zh) * 2018-05-24 2021-01-01 新华三云计算技术有限公司 一种虚拟机负载调控方法和装置
EP3804381A1 (en) * 2018-06-01 2021-04-14 British Telecommunications public limited company Cellular telecommunications network
US10795715B2 (en) 2018-06-28 2020-10-06 At&T Intellectual Property I, L.P. Cloud oversubscription system
EP3614264B1 (en) * 2018-08-21 2022-12-21 Accenture Global Solutions Limited Performance engineering
US11550606B2 (en) * 2018-09-13 2023-01-10 Intel Corporation Technologies for deploying virtual machines in a virtual network function infrastructure
US11366702B1 (en) * 2019-03-29 2022-06-21 United Services Automobile Association (Usaa) Dynamic allocation of resources
US11121960B2 (en) * 2019-05-30 2021-09-14 International Business Machines Corporation Detecting and managing relocation of network communication endpoints in a distributed computing environment
CN111445101B (zh) * 2020-05-15 2024-08-02 广联达科技股份有限公司 一种云计算资源调度的方法、系统和介质
US20210382798A1 (en) * 2020-06-04 2021-12-09 Servicenow, Inc. Optimizing configuration of cloud instances
US11210138B1 (en) 2020-09-24 2021-12-28 OnScale, Inc. Dynamic resource allocation for computational simulation
US20220261292A1 (en) * 2021-02-18 2022-08-18 Amadeus S.A.S. Device, system and method for assigning portions of a global resource limit to application engines based on relative load
JP2022135352A (ja) * 2021-03-05 2022-09-15 富士通株式会社 改善案提示方法及び改善案提示プログラム
US20230058310A1 (en) * 2021-08-19 2023-02-23 Sterlite Technologies Limited Method and system for deploying intelligent edge cluster model
US20230376345A1 (en) * 2022-05-19 2023-11-23 Red Hat, Inc. Scheduler incorporating thermal awareness
US20240242160A1 (en) * 2023-01-12 2024-07-18 International Business Machines Corporation Resource parity scaling using key performance indicator metrics
CN117675502A (zh) * 2023-12-12 2024-03-08 中航机载系统共性技术有限公司 统一运维管理平台

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986274A (zh) * 2010-11-11 2011-03-16 东软集团股份有限公司 一种私有云环境下资源调配系统及资源调配方法
CN102932279A (zh) * 2012-10-30 2013-02-13 北京邮电大学 一种云环境数据中心多维资源调度系统及方法
US8429276B1 (en) * 2010-10-25 2013-04-23 Juniper Networks, Inc. Dynamic resource allocation in virtual environments

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175679A (en) * 1990-09-28 1992-12-29 Xerox Corporation Control for electronic image processing systems
US7571336B2 (en) * 2005-04-25 2009-08-04 Guided Therapy Systems, L.L.C. Method and system for enhancing safety with medical peripheral device by monitoring if host computer is AC powered
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US8868746B2 (en) * 2009-10-15 2014-10-21 International Business Machines Corporation Allocation of central application resources based on social agreements
GB2475897A (en) * 2009-12-04 2011-06-08 Creme Software Ltd Resource allocation using estimated time to complete jobs in a grid or cloud computing environment
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
US8359223B2 (en) 2010-07-20 2013-01-22 Nec Laboratories America, Inc. Intelligent management of virtualized resources for cloud database systems
CN101938416B (zh) 2010-09-01 2012-08-08 华南理工大学 一种基于动态重配置虚拟资源的云计算资源调度方法
US8713163B2 (en) * 2010-09-17 2014-04-29 Microsoft Corporation Monitoring cloud-runtime operations
US9141420B2 (en) * 2010-11-04 2015-09-22 Alcatel Lucent Overload control in a cloud computing environment
US20120173709A1 (en) 2011-01-05 2012-07-05 Li Li Seamless scaling of enterprise applications
US20120233315A1 (en) 2011-03-11 2012-09-13 Hoffman Jason A Systems and methods for sizing resources in a cloud-based environment
WO2012154307A2 (en) * 2011-03-22 2012-11-15 Dow Global Technologies Llc Improved photovoltaic sheathing element with a flexible connector assembly
US8601483B2 (en) 2011-03-22 2013-12-03 International Business Machines Corporation Forecasting based service for virtual machine reassignment in computing environment
US9766947B2 (en) * 2011-06-24 2017-09-19 At&T Intellectual Property I, L.P. Methods and apparatus to monitor server loads
US9251033B2 (en) 2011-07-07 2016-02-02 Vce Company, Llc Automatic monitoring and just-in-time resource provisioning system
US8832239B2 (en) 2011-09-26 2014-09-09 International Business Machines Corporation System, method and program product for optimizing virtual machine placement and configuration
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
US9052935B1 (en) * 2012-11-27 2015-06-09 Symantec Corporation Systems and methods for managing affinity rules in virtual-machine environments
US9548884B2 (en) * 2012-12-10 2017-01-17 Alcatel Lucent Method and apparatus for providing a unified resource view of multiple virtual machines
US9164786B2 (en) * 2013-04-30 2015-10-20 Splunk Inc. Determining performance states of parent components in a virtual-machine environment based on performance states of related child components during a time period

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429276B1 (en) * 2010-10-25 2013-04-23 Juniper Networks, Inc. Dynamic resource allocation in virtual environments
CN101986274A (zh) * 2010-11-11 2011-03-16 东软集团股份有限公司 一种私有云环境下资源调配系统及资源调配方法
CN102932279A (zh) * 2012-10-30 2013-02-13 北京邮电大学 一种云环境数据中心多维资源调度系统及方法

Also Published As

Publication number Publication date
US20150143367A1 (en) 2015-05-21
US10365955B2 (en) 2019-07-30
CN104679591A (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
CN104679591B (zh) 用于在云环境中进行资源分配的方法和装置
CN103814358B (zh) 服务器群内的虚拟机放置
CN103970607B (zh) 使用等价集合来计算优化虚拟机分配的方法和装置
CN103999049B (zh) 用于预测虚拟机需求的方法和装置
CN106020715B (zh) 存储池容量管理
CN104580349B (zh) 安全云管理代理
CN104660669B (zh) 针对应用模式组件从多个主机选择一个主机的方法和系统
CN103365725B (zh) 在多个云之间动态分配工作负荷部署单元的方法和系统
CN102759979B (zh) 一种虚拟机能耗估计方法及装置
CN103180823B (zh) 用于有助于部署和执行软件产品的计算机实现的方法和设备
CN103547994B (zh) 用于容量管理和灾难恢复的跨云计算的方法和系统
CN103425529B (zh) 基于资源利用在网络计算环境间迁移虚拟机的系统及方法
CN103399796B (zh) 利用存储负载信息来平衡集群虚拟机
CN103455486B (zh) 安置数据库的方法和系统
CN104731658B (zh) 供应和合并共享资源以最大化资源可用性的方法和系统
CN109643312A (zh) 托管查询服务
CN104216662B (zh) 用于跨远程复制关系的卷布置的方法和系统
CN107851106A (zh) 用于关系数据库即服务的自动需求驱动的资源缩放
CN108090225A (zh) 数据库实例的运行方法、装置、系统及计算机可读存储介质
CN105843703A (zh) 将系统管理员动作提取到提供系统问题解决方案的工作流
CN103930863A (zh) 可轻松云化的应用的基于发现的标识和迁移
CN103238138A (zh) 用于云环境中的分区部署/重部署的网络接口
CN103259742B (zh) 在联网计算环境中进行基于活动的虚拟机可用性控制的方法与系统
CN104657411B (zh) 用于信息技术资源管理的方法和系统
CN106066812A (zh) 基于应用的历史信息管理资源

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant