CN104412234A - 优化虚拟机的放置 - Google Patents

优化虚拟机的放置 Download PDF

Info

Publication number
CN104412234A
CN104412234A CN201280074366.2A CN201280074366A CN104412234A CN 104412234 A CN104412234 A CN 104412234A CN 201280074366 A CN201280074366 A CN 201280074366A CN 104412234 A CN104412234 A CN 104412234A
Authority
CN
China
Prior art keywords
virtual machine
cloud computing
computing system
request
workload request
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.)
Pending
Application number
CN201280074366.2A
Other languages
English (en)
Inventor
S.P.苏拉吉马特
V.R.拉姆特克
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 CN104412234A publication Critical patent/CN104412234A/zh
Pending legal-status Critical Current

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/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
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/829Topology based

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

提供了一种识别用于云计算环境中的放置的虚拟机的方法,其中所述云计算环境包括多个云计算系统。所述虚拟机的工作量请求被分离成固定工作量请求和灵活工作量请求。在所述云计算环境中选择最佳的云计算系统来执行所述虚拟机的固定工作量请求和/或灵活工作量请求。

Description

优化虚拟机的放置
背景技术
近年来云计算已经变得非常流行。一般而言,云计算涉及作为服务而不是产品的计算的交付,由此共享资源(软件、存储资源等等)作为服务被提供给计算装置。资源在网络上被共享,该网络一般是因特网。在云计算成功背后的关键原因之一是称为虚拟化的技术。虚拟化允许创建资源的虚拟版,例如操作系统、硬件平台、存储资源等等,其可以例如在不同客户端之间被共享。多个虚拟机可以被创建在主机装置或服务器上。
附图说明
为了更好地理解该解决方案,现在将参考附图完全借助实例来描述实施例,在附图中:
图1说明了根据实例的用于优化云计算系统中的虚拟机的放置的系统。
图2示出根据实例的用于优化虚拟机的放置的计算机系统的框图。
图3示出根据实例的优化云计算系统中的虚拟机的放置的方法的流程图。
图4说明了根据实例的用于优化云计算系统中的虚拟机的放置的系统。
图5示出根据实例的优化主机计算机系统中的虚拟机的放置的方法的流程图。
图6说明了根据实例当所有工作量在公共主机计算机系统上并行运行时五个虚拟机(VM)的工作量和总和的高峰值。
图7说明了根据实例当五个虚拟机(VM)的工作量被安排在多个时间段内时所述五个虚拟机的总和的高峰值。
具体实施方式
虚拟机(VM)是一种类似物理机地执行程序的机器的软件实施方式。虚拟机可以用于执行多种任务。这些任务中的一些可以包括例如将多个操作系统同时托管(hosting)在物理机上,在多个平台上测试新应用,以及服务器整合。由于多个虚拟机可以被托管在物理服务器上,除了其他的好处之外,它还引起较低成本的硬件采集、维护、能量和冷却系统使用。
考虑到由虚拟机提供的优点,终端用户(例如企业)越来越多地通过私有云部署模型和/或混合云部署模型在他们的组织中部署虚拟机。在私有云部署模型中,它是托管(终端用户的)虚拟机的终端用户的云计算系统(私有云)。另一方面,在混合云部署模型(混合云)中,终端用户的云计算系统连接到(多个)公共云计算系统(一般由云服务提供商提供),其使得终端用户能够将其虚拟机托管在它自己的云计算系统中(私有云)和/或(多个)公共云计算系统。由此,在混合部署模型中,诸如虚拟机的资源可以容易地从一个部署系统移动到另一个部署系统。
由于多个云服务提供商可以是混合云的一部分,因此每个服务提供商可以以它自己的条件和成本提供服务。例如,每个云服务提供商可以根据多个因素对托管虚拟机不同地收费,例如虚拟机需要被托管的持续时间、用于托管虚拟机的底层平台以及虚拟机需要被运行所处的时间。例如,(多个)云服务提供商可以对于在周末期间的非高峰时间运行虚拟机提供不同的价格。这些价格可能比当对于云资源的要求可能较高时 高峰时间或工作日收费更便宜。如果人考虑云服务提供商的数目和他们的对于运行虚拟机的差别定价模型,那么对于终端用户识别满足其要求(例如,成本优化、服务水平协议、策略、安全性、资源要求等等)的最佳云服务提供商来说可能是有挑战性的。
而且,在典型虚拟环境中(例如,在数据中心中),存在两类工作量。第一类是“固定工作量”。这些是在某些已知时间段(例如每天的特定时间或每周的特定日子等等)期间需要被执行和/或可用的时间敏感过程。例如,大多数与交易应用相关的过程可以构成“固定工作量”,因为需要使它们在证券交易所允许对客户交易的时间期间可用。第二类是“灵活工作量”。这些是在给定的最后期限之前的任何时间灵活执行的时间不敏感。例如,与应用(例如,交易应用)相关的数据备份可以安排在用户偏好的时间。目前,前述类型的工作量的安排由组织的商业或IT策略驱动。因此,存在优化与这两类工作量相关的资源使用的机会。
本解决方案的实施例提供用于优化云计算系统中的虚拟机的放置的方法和系统。具体地,所述实施例提供一种以优化终端用户的成本并满足它的其他要求的方式放置虚拟机的解决方案。
图1说明了根据实施例的用于优化云计算系统中的虚拟机的放置的系统100。参考图1,系统100包括通过计算机网络126连接的云计算系统112、114、116,主机计算机系统118、120、122和用户计算机系统124的网络。计算机网络126可以包括例如电线、无线通信链路或光纤电缆的连接。在一个实施方式中,计算机网络126是因特网。然而,在其他实施方式中,它可以是内部网、局域网(LAN)、广域网(WAN)等等。
客户端计算系统112、114和116可以包括各种计算资源。这些计算资源可以是硬件资源、软件资源或其任何组合。硬件资源可以包括计算机系统、计算机服务器、工作站、或任何其他计算机装置。软件资源可以包括操作系统软件(机器可执行的指令)、固件和/或应用软件。客户端计算系统112、114和116可以由不同云服务提供商提供。例如,客户端计算系统112可以由云服务提供商A提供,客户端计算系统114可以由云服务提供商B提供,以及客户端计算系统116可以由云服务提供商C提供。在另一实例中,两个或更多个客户端计算系统可以由一个云服务提供商提供。例如,客户端计算系统114和116可以由云服务提供商A提供。
在一个实例中,云计算系统112、114、和116将计算资源提供给主机计算机系统118、120、122并针对它们的计算资源的具体使用向主机计算机系统118、120、122收费。例如,计算资源可以包括虚拟机、虚拟服务器、存储资源、负载平衡器、防火墙等等。一般而言,云计算系统112、114、和116可以构成“公共云”。
主机计算机系统118、120和122可以例如是计算机服务器、台式计算机、笔记本计算机、平板计算机、移动电话、个人数字助理(PDA)等等。主机计算机系统118、120和122可以包括用于执行机器可读指令的处理器和用于存储机器可读指令的存储器(存储介质)。主机计算机系统118、120和122通过计算机网络126通信地耦合到云计算系统122、114和116以及用户计算机系统124。
在一个实例中,主机计算机系统118、120和122可以包括(多个)虚拟机(VM),其可以是通过称为管理程序的程序或者通过使多个VM能够共享主机的计算资源的任何其他技术被创建的。在所示实例中,主机计算机系统118包括虚拟机1和2(VM1和VM2),主机计算机系统120包括虚拟机3和4(VM3和VM4),以及主机计算机系统122包括虚拟机5(VM5)。在一个实例中,主机计算机系统118、120和122在终端用户的控制和管理之下来形成“私有云”。
用户计算机系统124可以例如是计算机服务器、个人计算机、台式计算机、笔记本计算机、平板计算机、移动电话、个人数字助理(PDA)等等。
在一个实施方式中,用户计算机系统124可以包括虚拟机管理模块126。在图1的实例说明中,虚拟机管理模块126存在于用户计算机系统124上。然而,在其他实例中,虚拟机管理模块126可以存在于另一计算机系统(例如主机计算机系统118、120和122)上。在另一实施方式中,虚拟机管理模块126可以作为多于一个的计算机系统之间的分布式程序(机器可读指令)存在。例如,虚拟管理模块的部件或功能可以分布在用户计算机系统124以及主机计算机系统118、120和122之间。
在一个实施方式中,识别用于云计算环境中放置的虚拟机,其中云计算环境包括多个云计算系统,将虚拟机的工作量请求分离成固定工作量请求和灵活工作量请求,以及选择云计算环境中的最佳云计算系统来执行虚拟机的固定工作量请求和/或灵活工作量请求。
虽然在图1中说明了有限数目的云计算系统112、114、116和主机计算机系统118、120、122,但是一些实施例打算包括任何适当数目的云计算系统112、114、116和主机计算机系统118、120、122。
为了清楚起见,如该文档中所用的术语“模块”可以意指包括软件部件、硬件部件或其组合。举例来说,模块可以包括诸如软件部件、进程、任务、协同例程、函数、属性、过程、驱动程序、固件、数据、数据库、数据结构、专用集成电路(ASIC)和其他计算装置的部件。该模块可以驻留在易失性或非易失性存储介质上并且被配置用于与计算机系统的处理器交互。进一步地,系统100可以包括另外的客户端计算机系统、计算机服务器和其他装置。
图2示出根据实例的用于优化虚拟机的放置的计算机系统的框图。
计算机系统202可以是计算机服务器、台式计算机、笔记本计算机、平板计算机、移动电话、个人数字助理(PDA)等等。
计算机系统202可以包括处理器204、存储器206、虚拟机管理模块208、输入装置210、显示装置212和通信接口214。计算系统202的各部件可以通过系统总线216耦合在一起。
处理器204可以包括任何类型的解释和执行指令的处理器、微处理器或处理逻辑。
存储器206可以包括随机存取存储器(RAM)或另一类型的动态存储装置,其可以非临时性地存储信息和指令以便由处理器204执行。例如,存储器206可以是SDRAM (同步DRAM)、DDR (双倍数据速率SDRAM)、Rambus DRAM (RDRAM)、Rambus RAM等等,或者是储存存储介质,例如软盘、硬盘、CD-ROM、DVD、笔式驱动器等等。存储器206可以包括当由处理器204执行时实施虚拟机管理模块208的指令。
虚拟机管理模块208可以以计算机程序产品的形式被实施,所述计算机程序产品包括计算机可执行指令,例如程序代码,其可以在任何适当的计算环境上结合适当的操作系统(例如微软Windows、Linux 或UNIX操作系统)运行。在本解决方案范围内的实施例还可以包括包含用于承载或具有存储在其上的计算机可执行指令或数据结构的计算机可读介质的程序产品。这种计算机可读介质可以是任何能够由通用或专用计算机访问的可用介质。举例来说,这种计算机可读介质可以包括RAM、ROM、EPROM、EEPROM、CD-ROM、磁盘存储或其他存储装置,或任何其他介质,其可用于承载或存储计算机可执行指令形式的所需的程序代码并且其可以由通用或专用计算机访问。
在一个实施方式中,虚拟机管理模块208可以从另一计算机可读介质(例如数据存储装置)或者从另一装置通过通信接口216被读入存储器206中。
输入装置210可以包括键盘、鼠标、触摸屏或其他输入装置。显示装置212可以包括液晶显示器(LCD)、发光二极管(LED)显示器、等离子体显示面板、电视机、计算机监视器等等。
通信接口214可以包括任何类似收发器的机构,其使得计算装置202能够与其他装置和/或系统通过通信链路进行通信。通信接口214可以是软件程序、硬件、固件或其任何组合。通信接口214可以通过使用物理和无线通信链路中的任一个或两者提供通信。为了提供一些非限制性实例,通信接口214可以是以太网卡、调制解调器、集成服务数字网络(“ISDN”)卡等等。
应当认识到,图2中所描绘的系统部件仅用于说明目的并且实际的部件可以根据针对本解决方案的实施所部署的计算系统和架构来改变。上面描述的各种部件可以托管在单个计算系统上或多个计算机系统上,包括通过合适的手段连接在一起的服务器。
图3示出根据实例的优化云计算系统中的虚拟机的放置的方法的流程图。如图3所示,在框312处,选择(多个)候选虚拟机,其可以被潜在地放置在云计算系统(私有的和/或公共的)中。在一个实例中,由用户例如通过编译能够移动到云的虚拟机列表来选择(多个)候选虚拟机。在另一个实例中,(多个)候选虚拟机基于预先定义的策略被识别。预先定义的策略的一些非限制性例子可以包括:(a)企业策略:虚拟机属于特定的企业服务(例如,培训和开发,因为将其移动到云可能不怎么影响企业)和/或(b)信息技术(IT)策略:所有虚拟机具有超过40%的处理器利用率。
在一个实例中,(多个)候选虚拟机在用户的控制之下。例如,(多个)候选虚拟机可以是由用户管理的私有云的一部分。
在一个实例中,可能被潜在地放置在云计算系统中的(多个)候选虚拟机基于它的/它们的在时间段期间的利用被识别。如果虚拟机仅针对某一时间段有效而在剩余时间期间是无效的,那么它可能作为用于在云中放置的候选虚拟机合适。是“有效的”暗示该虚拟机正在处理任务或工作量。“无效的”暗示该虚拟机在该时间段期间相对空闲。
在一个实例中,基于“有效/无效”标准选择用于在云计算系统中放置的(多个)虚拟机是在最初的一组候选虚拟机已经基于用户身份或基于策略的选择被识别之后来执行的。
在框314处,已经被识别用于在云计算系统中放置的(多个)虚拟机的工作量请求被分析并被分离成两类:固定工作量请求和灵活工作量请求。固定工作量请求是在某些已知时间段(例如每天的特定时间或每周的特定日子等等)期间需要被执行和/或可用的时间敏感过程。另一方面,灵活工作量请求是在给定的最后期限之前任何时间灵活执行的时间不敏感过程。在另一个实例中,虚拟机的工作量分类可以包括多于两类。
在框316,云计算环境被分析以识别并选择(多个)最佳云计算系统用来执行在框312处识别的(多个)虚拟机的固定工作量请求和灵活工作量请求。在一个实例中,云计算环境包括多个云计算系统。云计算系统可以由单个云服务提供商或者多个云服务提供商提供。
而且,在一个实例中,云计算环境可以被分析以识别单个云计算系统或多个云计算系统来执行(多个)虚拟机的固定工作量请求和灵活工作量请求。假如单个最佳云计算系统被识别,虚拟机的固定工作量请求和灵活工作量请求都将由相同的云计算系统处理。假如多个最佳云计算系统被识别,虚拟机的固定工作量请求和灵活工作量请求可以由云计算环境的不同的云计算系统处理。
在一个实例中,用于选择最佳云计算系统来执行虚拟机的固定工作量请求或灵活工作量请求的基础是执行这些请求的成本。提供用于执行固定工作量请求或灵活工作量请求的最低成本的云计算系统被选择。由此,在一个实例中,假如存在多个云服务提供商,每个服务提供商提供它自己的云计算系统,那么提供用于运行虚拟机的固定工作量请求或灵活工作量请求的最低成本的云服务提供商被选择用于虚拟机的放置(或托管)。
在另一个实例中,选择云计算系统的替换的或另外的基础包括识别满足终端用户的服务水平协议(SLA)的云服务提供商。在又一个实例中,选择云计算系统的替换的或另外的基础包括识别满足将被托管的虚拟机的资源要求的云服务提供商。
在一个实例中,虚拟机的固定工作量请求被移动到云计算系统,如果移动的成本小于在终端用户的资源处(例如,在用户的私有云中)执行这些请求的成本的话。
在一个实例中,虚拟机的灵活工作量请求被移动到云计算系统,如果移动的成本小于在终端用户的资源处(例如,在用户的私有云中)执行这些请求的成本的话。另外,对于虚拟机的灵活工作量请求,多个云计算系统可以被选择用于基于例如成本、SLA和其他要求来执行这些请求。在这种情况下,每个云计算系统可以部分地执行灵活工作量请求直到它的最佳性(例如最低成本)对于终端用户耗尽。为了提供实例(图4中示出),考虑其中三个云计算系统A、B和C(来自一样多的云服务提供商,即云提供商A、云提供商B和云提供商C)被选择用于执行虚拟机(VM“X”)的灵活工作量请求的情境,其中灵活工作量请求需要在下午9点和12点之间被执行。如果成本是用于选择云计算系统的基础,那么让我们假定云计算系统A在下午10点和11点之间提供(托管虚拟机的)最低成本,云计算系统B在下午9点和10点之间提供最低成本,以及云计算系统C在下午11点和12点之间提供最低成本。在这种情况下,云计算系统B将被首先选择,因为当虚拟机的灵活工作量请求需要开始时云计算系统B在下午9点和10点之间提供最低成本,然后云计算系统A将被选择,因为它在下午10点和11点之间提供最低成本,并且最后云计算系统C将被选择,因为它在下午11点和12点之间提供最低成本。
如较早提到的,成本可能不是用于选择用来执行虚拟机的固定工作量请求或灵活工作量请求的云计算系统的唯一标准,还可以存在替换的或另外的因素,其可以包括例如(仅作为例子)终端用户的资源需求和SLA要求。
在替换实施例中,被识别为具有固定工作量请求和灵活工作量请求的虚拟机可以被合并在用户的资源基础架构内。例如,在虚拟化数据中心的情况下,如果存在运行固定工作量请求和灵活工作量请求两者的多个虚拟机,那么多个虚拟机的灵活工作量请求可以以优化资源利用(例如,主机服务器使用)的方式被聚合,由此为用户提供成本降低和其他好处。
在用户终端(例如在终端用户的私有云或虚拟化的数据中心中)的资源使用优化可以如下发生(图5中示出)。在框512处,可以潜在地一起聚合在单个主机上的候选虚拟机被选择。在一个实例中,候选虚拟机由用户选择。在另一个实例中,候选虚拟机基于预先定义的策略被识别。预先定义的策略的一些非限制性例子可以包括:(a)企业策略:虚拟机属于特定的企业服务(例如,培训和开发,因为将其移动到云可能不怎么影响企业)和/或(b)信息技术(IT)策略:所有虚拟机具有超过40%的处理器利用率。在另一个实例中,候选虚拟机基于它们的在时间段期间的利用被识别。如果虚拟机仅针对某一时间段有效而在剩余时间期间是无效的,那么它可能作为针对在主机计算机系统上的聚合的候选虚拟机合适。是“有效的”暗示该虚拟机正在处理任务或工作量。“无效的”暗示该虚拟机在该时间段期间相对空闲。
接下来,已经被选择用于合并的虚拟机的工作量请求被分析并被分离成两类:固定工作量请求和灵活工作量请求。固定工作量请求是在某些已知时间段(例如每天的特定时间或每周的特定日子等等)期间需要被执行和/或可用的时间敏感过程。另一方面,灵活工作量请求是在给定的最后期限之前任何时间灵活执行的时间不敏感过程。
在框514处,用于执行灵活工作量请求的当前时间段被确定用于每个所选的虚拟机。在框516处,用于执行灵活工作量请求的新的时间段被确定用于每个所选的虚拟机以便最小化主机计算机系统上的执行负载。在一个实例中,用于执行灵活工作量请求的新时间段通过针对主机计算机系统的容量对虚拟机的利用痕迹执行总和的高峰分析(PoS)来被确定。如果虚拟机以使得它们的利用时间段随时间变动的方式被放置,则实现在主机计算机系统上的较低资源利用。下面的段落描述一种方法,该方法能用于确定虚拟机在主机计算机系统上的放置的最佳序列使得它们的遍及主机的利用是均匀的。为了说明该方法,让我们考虑五个虚拟机(VM1、VM2、 VM3、VM4和VM5)的实例,其中每个虚拟机具有独立的灵活工作量折回(workload retrace)序列,如图6所示。该方法发现如果所有五个VM都被放置在一起则指示最大负载的‘总和的高峰’或PoS值将被放在主机上。如果所有五个VM的灵活工作量请求在主机计算机系统上被并行执行,那么图1中的‘总和的高峰’或POS部分指示在主机上的最大负载将是20GHz。下面描述的方法识别执行多个虚拟机的工作量请求的最佳序列使得在主机计算机系统上的峰值VM负载在被定义的时间段内是最小的。
该方法开始于为每个虚拟机创建利用段(阶段1)。这通过对所有五个虚拟机分析利用痕迹来完成。基于图6,用于每个虚拟机的利用段在表1中说明。
接下来,将索引位置分配给五个虚拟机中的每一个(阶段2)。基于虚拟机的平均段值的升序值将索引位置分配给虚拟机。基于表1的平均段值在表2中示出。基于虚拟机中的每一个的平均段值将位置索引分配给该虚拟机。
然后,从N×N矩阵的第一列获得VM放置序列数字(阶段3)。创建N×N矩阵,其中N表示将被分析的VM的计数。在创建该矩阵之后,从该矩阵的第一列提取索引值。仅考虑其中列中的第一索引等于0的列。
接下来,每一行的索引序列被扩展以获得可能的VM放置序列(阶段4)。
通过将每一列的序列集的值以1递增来获得在每一行的VM放置序列。当一列中的所有索引值都等于最大段计数或者所有行都被标记了符号'x'时停止为行创建新的列。
为了提供实例,对于行2 列1,值是 [0][0][0][2][0]。
● 通过将索引值递增1获得相同行的第二列值,即 [1][1][1][3][1]。
● 类似地,通过将索引值递增1获得相同行的第三列值。在后面的列生成中用符号'x'代替其值等于最大段计数的位置。所获得的序列是[2][2][2][x][2]。
● 类似地,相同行的第四列值是 [3][3][3][x][3]。
● 没有产生第五列值,因为现在所有索引值与最大段计数是相同的。
在下一阶段(阶段5),计算对于每一列的总和的高峰值(阶段4)。使用来自表4的位置索引计算对于VM利用的总和的高峰值。
位置索引映射表4中的序列的每个元素。为了提供实例,基于行2和列1以及表1中的序列:
表5中所示的对于索引序列的总和的高峰值是5。类似地,在该方法的第一阶段期间在所构造的矩阵中(表4)计算对于所有索引序列的总和的高峰值。POS值被示为针对每个单元值用“=”符号分开。应当注意,具有'x'的任何索引值不被分析考虑。
随后,选择一行使得对于该行的POS值在所有行之间是最小的(阶段6)。
基于在阶段5中构造的表6,针对每一行计算在所有列之间的最小POS值(表7)。
a. 基于表7的分析,获得下一行作为具有最小POS为10的那行。
接下来,解释所选行的序列以识别VM放置(阶段7)。解释来自阶段4的结果VM放置序列(表8)涉及所选行的列1的分析。
关于所选行的第一列的VM放置是[0][1][2][0][0]或者关于VM(表9)被定义如下:
VM1的第0个数据索引与VM4的第1个数据索引对齐,
VM4的第1个数据索引与VM5的第2个数据索引对齐,
VM5的第2个数据索引与VM2的第0个数据索引对齐,
VM2的第0个数据索引与VM3的第0个数据索引对齐。
如图6中所示,与图5中所示的20 Ghz相比,由前述方法得到的总VM放置负载处于10 Ghz的峰值。换句话说,在新的时间段内虚拟机的总和的高峰(PoS)值低于当前时间段内虚拟机的总和的高峰(PoS)值。因此,如果在不同的时间段内安排虚拟机在主机上执行则实现主机上的较低资源利用。由此,如果实施了工作量的最佳安排,则所述实施例提供明显的好处(就资源使用而言)。
应当认识到,图1中所描绘的系统部件仅用于说明目的并且实际的部件可以根据针对本解决方案的实施所部署的计算系统和架构来改变。上面描述的各种部件可以托管在单个计算系统上或多个计算机系统上,包括通过合适的手段连接在一起的服务器。
应当认识到,在本解决方案的范围内的实施例可以以计算机程序产品的形式被实施,所述计算机程序产品包括计算机可执行指令,例如程序代码,其可以在任何适当的计算环境上结合适当的操作系统(例如微软Windows、Linux或UNIX操作系统)运行。在本解决方案范围内的实施例还可以包括包含用于承载或具有存储在其上的计算机可执行指令或数据结构的计算机可读介质的程序产品。这种计算机可读介质可以是任何能够由通用或专用计算机访问的可用介质。举例来说,这种计算机可读介质可以包括RAM、ROM、EPROM、EEPROM、CD-ROM、磁盘存储或其他存储装置,或任何其他介质,其可用于承载或存储计算机可执行指令形式的所需的程序代码或者其可以由通用或专用计算机访问。
应当注意到,本解决方案的上述实施例仅用于说明目的。尽管已经结合本解决方案的具体实施例描述了该解决方案,但是在实质上不脱离这里描述的主题的教导和优点的情况下,许多修改是可以的。在不脱离本解决方案的精神的情况下可以进行其他替换、修改和改变。

Claims (15)

1. 一种用于优化虚拟机的放置的方法,包括:
识别用于在云计算环境中放置的虚拟机,其中所述云计算环境包括多个云计算系统;
将所述虚拟机的工作量请求分离成固定工作量请求和灵活工作量请求;以及
选择所述云计算环境中的最佳云计算系统用于执行所述虚拟机的固定工作量请求和/或灵活工作量请求。
2. 根据权利要求1所述的方法,其中选择最佳云计算系统包括在多个云服务提供商之间识别最低成本云计算系统。
3. 根据权利要求1所述的方法,其中选择最佳云服务提供商包括识别满足服务水平协议(SLA)的云计算系统。
4. 根据权利要求1所述的方法,其中选择最佳云计算系统包括识别满足所述虚拟机的资源要求的云计算系统。
5. 根据权利要求1所述的方法,其中选择最佳云计算系统包括在所述多个云计算系统之间比较放置所述虚拟机的成本。
6. 根据权利要求1所述的方法,其中用于在云计算环境中放置的所述虚拟机是基于预先定义的策略或者由用户识别的。
7. 一种优化虚拟机的放置的方法,包括:
选择用于在主机计算机系统上放置的虚拟机;
确定当前时间段用于为每个所述虚拟机执行灵活工作量请求;以及
确定新的时间段用于为每个所述虚拟机执行灵活工作量请求以便最小化所述主机计算机系统上的执行负载。
8. 根据权利要求7所述的方法,其中选择用于在主机计算机系统上放置的虚拟机包括确定所述虚拟机是否执行灵活工作量请求。
9. 根据权利要求7所述的方法,其中确定新的时间段用于为每个所述虚拟机执行灵活工作量请求包括确定在所述新的时间段内的所述虚拟机的总和的高峰(PoS)值。
10. 根据权利要求9所述的方法,其中在所述新的时间段内的所述虚拟机的总和的高峰(PoS)值低于用于为每个所述虚拟机执行灵活工作量请求的当前时间段内的所述虚拟机的总和的高峰(PoS)值。
11. 一种计算系统,包括:
处理器;
耦合到所述处理器的非临时性存储器,所述存储器包括虚拟机管理模块,其当被所述处理器执行时使得所述处理器:
识别用于在云计算环境中放置的虚拟机,其中所述云计算环境包括多个云计算系统;
将所述虚拟机的工作量请求分离成固定工作量请求和灵活工作量请求;以及
选择所述云计算环境中的最佳云计算系统用于执行所述虚拟机的固定工作量请求和/或灵活工作量请求。
12. 根据权利要求11所述的系统,其中所述最佳云计算系统是混合云计算系统。
13. 根据权利要求11所述的系统,其中所述多个云计算系统由不同的云服务提供商托管。
14. 根据权利要求11所述的系统,其中用于执行所述虚拟机的固定工作量请求和灵活工作量请求的最佳云计算系统是不同的。
15. 一种非临时性计算机可读介质,所述非临时性计算机可读介质包括机器可执行的指令,所述机器可执行的指令当被计算机系统执行时使得该计算机系统:
识别用于在云计算环境中放置的虚拟机,其中所述云计算环境包括多个云计算系统;
将所述虚拟机的工作量请求分离成固定工作量请求和灵活工作量请求;以及
选择所述云计算环境中的最佳云计算系统用于执行所述虚拟机的固定工作量请求和/或灵活工作量请求。
CN201280074366.2A 2012-06-29 2012-06-29 优化虚拟机的放置 Pending CN104412234A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IN2012/000465 WO2014002102A1 (en) 2012-06-29 2012-06-29 Optimizing placement of virtual machines

Publications (1)

Publication Number Publication Date
CN104412234A true CN104412234A (zh) 2015-03-11

Family

ID=49782366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280074366.2A Pending CN104412234A (zh) 2012-06-29 2012-06-29 优化虚拟机的放置

Country Status (4)

Country Link
US (1) US20150143366A1 (zh)
EP (1) EP2867771A4 (zh)
CN (1) CN104412234A (zh)
WO (1) WO2014002102A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354960B2 (en) 2010-12-27 2016-05-31 Red Hat, Inc. Assigning virtual machines to business application service groups based on ranking of the virtual machines
US9727440B2 (en) 2007-06-22 2017-08-08 Red Hat, Inc. Automatic simulation of virtual machine performance
US9569330B2 (en) 2007-06-22 2017-02-14 Red Hat, Inc. Performing dependency analysis on nodes of a business application service group
US9495152B2 (en) * 2007-06-22 2016-11-15 Red Hat, Inc. Automatic baselining of business application service groups comprised of virtual machines
US9678803B2 (en) 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US11386371B2 (en) * 2009-06-26 2022-07-12 Turbonomic, Inc. Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system
US10346775B1 (en) * 2015-11-16 2019-07-09 Turbonomic, Inc. Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system
US8793684B2 (en) * 2011-03-16 2014-07-29 International Business Machines Corporation Optimized deployment and replication of virtual machines
CN103649910A (zh) * 2011-07-11 2014-03-19 惠普发展公司,有限责任合伙企业 虚拟机放置
EP2709006A1 (en) * 2012-09-14 2014-03-19 Alcatel Lucent Peripheral interface for residential IaaS
KR20140098919A (ko) * 2013-01-31 2014-08-11 한국전자통신연구원 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법 및 서비스 게이트웨이
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US10623243B2 (en) * 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
US9716738B2 (en) * 2014-05-13 2017-07-25 International Business Machines Corporation Deploying a portion of a streaming application to one or more virtual machines according to cost
US9606826B2 (en) * 2014-08-21 2017-03-28 International Business Machines Corporation Selecting virtual machines to be migrated to public cloud during cloud bursting based on resource usage and scaling policies
US9823941B2 (en) 2015-04-30 2017-11-21 International Business Machines Corporation Optimized placement of virtual machines on physical hosts based on user configured placement policies
US9678783B2 (en) * 2015-10-14 2017-06-13 International Business Machines Corporation Temporal dynamic virtual machine policies
US10171300B2 (en) 2015-11-02 2019-01-01 International Business Machines Corporation Automatic redistribution of virtual machines as a growing neural gas
WO2017117583A1 (en) * 2015-12-30 2017-07-06 Icloudpatent.Com Limited Direct network connections using cloud instance for multipoint meeting service
US10705882B2 (en) * 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US10620987B2 (en) 2018-07-27 2020-04-14 At&T Intellectual Property I, L.P. Increasing blade utilization in a dynamic virtual environment
US10778772B2 (en) * 2019-01-23 2020-09-15 Hewlett Packard Enterprise Development Lp Cloud platform or cloud provider selection
US11481259B2 (en) * 2020-01-07 2022-10-25 International Business Machines Corporation Distributing computation workloads based on calculated compute gravity within differing computing paradigms

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158286A1 (en) * 2007-12-18 2009-06-18 International Business Machines Corporation Facility for scheduling the execution of jobs based on logic predicates
US20100131649A1 (en) * 2008-11-26 2010-05-27 James Michael Ferris Systems and methods for embedding a cloud-based resource request in a specification language wrapper
US20110154353A1 (en) * 2009-12-22 2011-06-23 Bmc Software, Inc. Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
US20110270968A1 (en) * 2010-04-30 2011-11-03 Salsburg Michael A Decision support system for moving computing workloads to public clouds
US20110302578A1 (en) * 2010-06-04 2011-12-08 International Business Machines Corporation System and method for virtual machine multiplexing for resource provisioning in compute clouds
WO2012048014A3 (en) * 2010-10-05 2012-06-07 Unisys Corporation Automatic selection of secondary backend computing devices for virtual machine image replication

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205414A1 (en) * 1999-07-26 2004-10-14 Roselli Drew Schaffer Fault-tolerance framework for an extendable computer architecture
US20060294238A1 (en) * 2002-12-16 2006-12-28 Naik Vijay K Policy-based hierarchical management of shared resources in a grid environment
US7802256B2 (en) 2005-06-27 2010-09-21 Microsoft Corporation Class scheduler for increasing the probability of processor access by time-sensitive processes
US9405585B2 (en) * 2007-04-30 2016-08-02 International Business Machines Corporation Management of heterogeneous workloads
WO2009055368A2 (en) * 2007-10-21 2009-04-30 Citrix Systems, Inc. Systems and methods to adaptively load balance user sessions to reduce energy consumption
US20100115095A1 (en) * 2008-10-31 2010-05-06 Xiaoyun Zhu Automatically managing resources among nodes
US10025627B2 (en) * 2008-11-26 2018-07-17 Red Hat, Inc. On-demand cloud computing environments
US9600344B2 (en) * 2009-01-21 2017-03-21 International Business Machines Corporation Proportional resizing of a logical partition based on a degree of performance difference between threads for high-performance computing on non-dedicated clusters
TWI488661B (zh) * 2009-07-08 2015-06-21 Univ Nat Taiwan 崩解抑制病毒細菌感染增殖之物質及方法
US8533711B2 (en) 2009-11-30 2013-09-10 Red Hat Israel, Ltd. Method and system for adjusting a selection algorithm for selecting a candidate host with a highest memory sharing history value with a target virtual machine from amongst a set of host machines that have a standard deviation of memory sharing history with the virtual machine below a threshold amount
WO2011091056A1 (en) * 2010-01-19 2011-07-28 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US8364820B2 (en) * 2010-06-01 2013-01-29 Cisco Technology Inc. Data center resource usage and cost determination

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158286A1 (en) * 2007-12-18 2009-06-18 International Business Machines Corporation Facility for scheduling the execution of jobs based on logic predicates
US20100131649A1 (en) * 2008-11-26 2010-05-27 James Michael Ferris Systems and methods for embedding a cloud-based resource request in a specification language wrapper
US20110154353A1 (en) * 2009-12-22 2011-06-23 Bmc Software, Inc. Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
US20110270968A1 (en) * 2010-04-30 2011-11-03 Salsburg Michael A Decision support system for moving computing workloads to public clouds
US20110302578A1 (en) * 2010-06-04 2011-12-08 International Business Machines Corporation System and method for virtual machine multiplexing for resource provisioning in compute clouds
WO2012048014A3 (en) * 2010-10-05 2012-06-07 Unisys Corporation Automatic selection of secondary backend computing devices for virtual machine image replication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ORATHAI SUKWONG等: ""SageShift: Managing SLAs for Highly Consolidated Cloud"", 《2012 PROCEEDINGS IEEE INFOCOM》 *

Also Published As

Publication number Publication date
EP2867771A1 (en) 2015-05-06
WO2014002102A1 (en) 2014-01-03
US20150143366A1 (en) 2015-05-21
EP2867771A4 (en) 2016-06-29

Similar Documents

Publication Publication Date Title
CN104412234A (zh) 优化虚拟机的放置
Ferreto et al. Server consolidation with migration control for virtualized data centers
US8402140B2 (en) Methods and apparatus for coordinated energy management in virtualized data centers
US20150051942A1 (en) Smart cloud workload balancer
Ben-Yehuda et al. Expert: Pareto-efficient task replication on grids and a cloud
CN104424013A (zh) 在计算环境中部署虚拟机的方法和设备
Singh et al. Energy based efficient resource scheduling: a step towards green computing
Heidari et al. Quality of Service (QoS)-driven resource provisioning for large-scale graph processing in cloud computing environments: Graph Processing-as-a-Service (GPaaS)
CN109614227A (zh) 任务资源调配方法、装置、电子设备及计算机可读介质
Liu et al. Towards intelligent data placement for scientific workflows in collaborative cloud environment
Prabhakaran et al. Cost-benefit Analysis of Public Clouds for offloading in-house HPC Jobs
Babuji et al. Cloud Kotta: Enabling secure and scalable data analytics in the cloud
Chu et al. Cost-efficient and resilient job life-cycle management on hybrid clouds
Lawrance et al. Efficient Qos based resource scheduling using PAPRIKA method for cloud computing
Xu et al. Fault tolerance and quality of service aware virtual machine scheduling algorithm in cloud data centers
Adrian et al. Analysis of K-means algorithm for VM allocation in cloud computing
US20060149611A1 (en) Peer to peer resource negotiation and coordination to satisfy a service level objective
Papadopoulos et al. Virtual machine migration in cloud infrastructures: Problem formalization and policies proposal
Zolfaghari et al. A multi-class workflow ensemble management system using on-demand and spot instances in cloud
Lee et al. A hierarchical scheduling strategy for the composition services architecture based on cloud computing
Wang et al. A dynamic programming-based approach for cloud instance type selection and optimisation
Moens et al. Allocating resources for customizable multi-tenant applications in clouds using dynamic feature placement
Awasare et al. Survey and comparative study on resource allocation strategies in cloud computing environment
Li et al. An online service provisioning strategy for container-based cloud brokers
Genez et al. A flexible scheduler for workflow ensembles

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: 20170122

Address after: American Texas

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Applicant before: Hewlett-Packard Development Company, L.P.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150311