CN106502765B - 一种适用于云数据中心的虚拟机放置方法 - Google Patents

一种适用于云数据中心的虚拟机放置方法 Download PDF

Info

Publication number
CN106502765B
CN106502765B CN201610976424.0A CN201610976424A CN106502765B CN 106502765 B CN106502765 B CN 106502765B CN 201610976424 A CN201610976424 A CN 201610976424A CN 106502765 B CN106502765 B CN 106502765B
Authority
CN
China
Prior art keywords
virtual machine
physical
machine
available
image file
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
CN201610976424.0A
Other languages
English (en)
Other versions
CN106502765A (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.)
HUNAN CREATOR INFORMATION TECHNOLOGIES Co.,Ltd.
Original Assignee
Central South University
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 Central South University filed Critical Central South University
Priority to CN201610976424.0A priority Critical patent/CN106502765B/zh
Publication of CN106502765A publication Critical patent/CN106502765A/zh
Application granted granted Critical
Publication of CN106502765B publication Critical patent/CN106502765B/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/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/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/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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

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 And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种适用于云数据中心的虚拟机放置方法,在云数据中心批量置备虚拟机时,首先按可用计算资源量降序排列可用物理机,然后在满足资源约束的情况下,通过计算镜像文件之间的相似度挑选出所需传输数据块数最少的一组虚拟机来依次填充每台物理机,直到所有虚拟机被放置完成。本发明在减少批量置备虚拟机的网络流量的同时,还使用尽可能少的物理机来装载虚拟机,从而缩短置备时间、提高云数据中心物理计算资源的利用率。

Description

一种适用于云数据中心的虚拟机放置方法
技术领域
本发明涉及一种适用于云数据中心的虚拟机放置方法。
背景技术
目前云计算逐步走出了新兴技术的阶段,越来越多的用户正在投入云计算服务的怀抱,从而使得在一个时间段内需要置备给用户使用的虚拟机数目也时时刻刻在增长。置备虚拟机是指将处于不可用或是即将不可用的虚拟机的镜像文件、快照、存储文件等从源端传输到可用的目的物理机,并将其启动为运行态的虚拟机实例的过程。虚拟机置备被分为静态置备与动态置备两类,前者主要涉及虚拟机对物理资源的一次性需求,后者则通过VM热迁移来动态平衡云数据中心的负载。本发明主要解决虚拟机静态置备中的问题。
目前在虚拟机置备问题上,人们主要关注于如何从能耗、工作负载、虚拟机对网络带宽的占用、安全等多个角度及层面来充分利用云数据中心里的物理资源。在一般情况下,该问题可被规约为装箱问题。与此同时,虚拟机静态置备过程中面临的另一个关键问题是目前静态置备虚拟机的速度较慢,从发起置备申请到虚拟机可以运行的时间间隔往往长达数分钟甚至数十分钟。在这其中,将大量虚拟机镜像文件数据通过网络从存储端传输至物理计算结点是目前云计算环境下虚拟机置备耗时较长的主要原因。因此人们试图通过减少需要传输的镜像文件数据量来缩短虚拟机的置备时间并从而降低置备过程中的网络负载。
研究发现虚拟机镜像文件之间存在很高的内容相似性。这种相似性已经被利用在设计虚拟机镜像的传输系统上,通过把虚拟机镜像文件按特定大小划分为小块存储,在往同一台物理机上同时传输多个虚拟机镜像文件时,这些文件之间完全一样的数据块只需传输一份,各自不同的数据块再单独传送,从而减少传输虚拟机镜像文件时的数据量。在此基础上,以最小化静态置备虚拟机时的虚拟机镜像文件数据传输量为目标来设计虚拟机放置算法,可以进一步利用虚拟机镜像文件内容之间的相似性。当利用虚拟机镜像文件相似性来部署虚拟机镜像时,目前已有放置算法是计算所有可用物理机上已储存的属于该虚拟机镜像文件的数据块数目,然后选出数目值最大的作为目标主机,该类方法被称作Greedy-Cache。
而另一方面,由于云环境中提高效率、降低运营成本的主要方式是尽可能压榨对物理资源的使用,所以在通常情况下设计一个虚拟机放置方法的时候需要着重考虑虚拟机打包问题,即在数目尽可能少的物理机上放置数目给定的一批虚拟机。Greedy-Cache方法仅考虑了减少置备时传输数据量的问题,忽略了对虚拟机的打包,这使得在使用Greedy-Cache方法置备虚拟机时所占用的物理机数目会比较多。在实际环境中,最小化静态置备虚拟机时的镜像文件数据传输量与最小化物理机使用数目这两个优化目标之间存在一定程度上的相互约束,在绝大多数情况下不能同时达到。
因此,尽可能少的占用物理机同时又尽可能的减少所需传输的虚拟机镜像文件数据流量是在云数据中心批量置备虚拟机过程中亟待解决的问题。
发明内容
本发明所解决的技术问题是,针对云数据中心批量部署虚拟机时传输数据量过大和保证较小传输量时没有考虑占用物理机数目等问题,提供了一种适用于云数据中心的虚拟机放置方法,利用虚拟机镜像文件之间相似性来减少批量置备虚拟机时所需传输的数据量,同时尽可能减少物理机的占用数目。
本发明为解决上述技术问题所提供的技术方案为:
一种适用于云数据中心的虚拟机放置方法,包括以下步骤:
步骤一:输入待置备的虚拟机列表与云数据中心中可用的物理机列表;初始化每台可用的物理机的资源使用阈值为α;0<α<1;
步骤二:将云数据中心中所有可用的物理机按可用计算能力降序排列,形成队列PQ={PM_1,PM_2,…,PM_r,…,PM_R};其中PM_r表示队列PQ中排第r位的物理机;
步骤三:将所有待置备的虚拟机按操作系统类型分为T类,记为V={V1,V2,…,Vt,…,VT},其中Vt表示V中第t类的虚拟机集合;
步骤四:判断V中所有分类的虚拟机集合是否都为空:如果是,则结束;否则选择队列PQ中排第一位的物理机PM_1,并计算V中每类虚拟机与PM_1上本地可用镜像数据之间的相似度s,然后将所有分类的虚拟机集合按s降序排列,构成队列VQ={VC_1,VC_2,...,VC_t,…,VC_T},其中VC_t表示VQ中排第t位的虚拟机集合;
步骤五:计算VQ中排第一位的虚拟机集合VC_1对PM_1的资源需求比β;判断β是否大于等于α,若是,则跳转步骤六;否则,判断VC_1在VQ中的排位是否已经被降序至末尾过,如果否,则将VC_1在VQ中的排位降至末尾并对新的VC_1重复步骤五,如果是,跳转步骤六;
步骤六:从VC_1中迭代选取尽可能多的虚拟机放置于PM_1上;每放置一台虚拟机后,则将其从VC_1和对应的V中虚拟机分类中删除;若VC_1为空或PM_1无法放下VC_1中任何虚拟机,则从VQ中移除VC_1,VQ队列长度减1,并跳转步骤七;否则重复步骤六;
步骤七:判断VQ是否为空,如果是,则将PM_1从PQ中删除,PQ队列长度减1,并跳转至步骤四;如果否,则重复步骤六。
所述步骤一中,输入的待置备虚拟机列表至少描述了每台虚拟机需要的镜像文件名称和需求的物理资源种类以及数量,输入的物理机列表至少描述了每台物理机存储的可用的镜像文件数据块和当前可用的物理资源种类以及数量。
所述步骤二中,物理机的可用计算能力c的计算方式如下:
上式中,l是该物理机上当前可用的物理资源种类数,prk指其可用的第k种物理资源数量。
所述步骤三中,所有待置备的虚拟机按以下操作系统类型分类:MicrosoftWindows Server 2012、Microsoft Windows Server 2008、Microsoft Windows 7、Microsoft Windows XP、CentOS、Red Hat Linux、Red Hat Enterprise Linux、Debian、Gentoo、SUSE、SUSE Enterprise Linux、FreeBSD、Fedora、Ubuntu、用户自定义操作系统类型;其中用户自定义操作系统类型为用户按特殊要求自行添加的一个或多个操作系统类型。
所述步骤四中,一类虚拟机与PM_1上本地可用镜像数据之间的相似度s计算公式如下:
在上式中,Di为该类虚拟机集合中的第i个虚拟机需要的镜像文件所包含的数据块集合,m为该类虚拟机集合中的虚拟机数量,C为PM_1上存储的可用的镜像文件数据块集合;指D1,D2,…,Di,…,Dm的并集,符号“\”是差集运算符,|·|为求某个集合的势,即该集合内元素的个数。
所述步骤五中,一类虚拟机集合VC_1对PM_1的资源需求比β计算公式如下:
在上式中,vrik表示VC_1中第i台虚拟机对第k种物理资源的需求量,l为PM_1中当前可用的物理资源的种类数,n是VC_1中的虚拟机数量。
所述步骤六中,从VC_1中迭代选取尽可能多的虚拟机放置于PM_1上的过程具体如下:
在第i轮迭代中,根据以下条件确定集合Qi
在上式中,U=VC_1,Ti是在第i轮迭代时已放入PM_1上的虚拟机集合,初始化 表述在第i轮迭代中,虚拟机vm∈U\Ti需要的镜像文件所包含的数据块集合中数据块的数目;Qi表示属于集合U\Ti的所有虚拟机中,需要的镜像文件所包含的数据块集合中数据块的数目最小的虚拟机集合;
随后,从Qi中随机选取一个虚拟机VMi,令Ti+1=Ti∪{VMi};
若VMi需求的每一种物理资源的资源数量vrk对PM_1所能提供的对应物理资源数量prk都满足prk-vrk≥0,则将VMi放置于PM_1上,并令prk=prk-vrk,然后进入下一轮迭代;否则终止迭代;
在第i轮迭代结束时,将第i+1轮迭代中虚拟机vm∈U\Ti+1需要的镜像文件所包含的数据块集合变更为其中N(VMi)代表i轮迭代中所选虚拟机VMi需要的镜像文件所包含的数据块集合。
所述步骤一中,始化每台可用的物理机的资源使用阈值α=0.25。
本发明基于以下原理大大减少了批量置备虚拟机时的数据传输量:
每个镜像文件被分割为若干个64KB大小的数据块存储在云数据中心的中央镜像池里。若一个数据块被包含于多个镜像文件内时,该数据块只需要存储一份,以节省存储空间。当往一台物理机上同时传输多个镜像文件时,它们之间相同的数据块只需要被传输一次。当某个镜像文件包含的全部数据块被传输到物理机上时,这些数据块则被整合还原为完整的能启动的虚拟机的原镜像文件。
有益效果:
本发明在云数据中心批量置备虚拟机时,首先按可用计算资源量降序排列可用物理机,然后在满足资源约束的情况下,通过计算镜像文件之间的相似度挑选出所需传输数据块数最少的一组虚拟机来依次填充每台物理机,直到所有虚拟机被放置完成。本发明通过综合考虑虚拟机镜像文件之间的相似度以及最小化物理机占用数量的要求,大幅度减少了批量置备虚拟机时的数据传输量,同时对物理机的使用量也接近传统虚拟机打包算法;缩短虚拟机的置备时间、提高了物理计算资源的利用率。
下面结合附图对本发明作进一步的说明。
附图说明
图1为本发明的流程图。
图2展示了当数据中心里所有物理机空载(即不运行任何虚拟机)且无本地可用虚拟机镜像文件数据块时,采用不同放置方法来批量部署虚拟机所需传输的流量。图2(a)至图2(d)描述了4批不同虚拟机置备请求在划分为多种不同工作负载后再置备时需传输的数据量。其中本发明被命名为Balance-Placement。
图3展示了当数据中心里所有物理机空载且无本地可用虚拟机镜像文件数据块时,采用不同放置方法来批量部署虚拟机所占用的物理机数目。图3(a)至图3(d)描述了4批不同虚拟机置备请求在划分为不同工作负载后来置备时占用的物理机数目。其中本发明被命名为Balance-Placement,Greedy-Pack为OpenStack系统采用的虚拟机放置算法。
图4展示了当数据中心里所有物理机初始化为空载且无本地可用虚拟机镜像文件数据块时,采用不同放置方法来按顺序批量部署10组虚拟机置备请求时所需传输的数据量与占用的物理机数目。图4(a)中分别描述了置备10组虚拟机时所需传输的数据量,图4(b)分别描述了置备10组虚拟机时所占用的物理机数量。其中本发明被命名为Balance-Placement,Greedy-Pack为OpenStack系统采用的虚拟机放置算法。
具体实施方式
以下结合附图对本发明进行进一步具体说明。
参见图1,图1为本发明的流程图。本发明公开了一种适用于云数据中心的虚拟机放置方法,包括以下步骤:
步骤一:输入待置备的虚拟机列表与云数据中心中可用的物理机列表;输入的待置备虚拟机列表至少描述了每台虚拟机需要的镜像文件名称和需求的物理资源种类以及数量,输入的物理机列表至少描述了每台物理机存储的可用的镜像文件数据块和当前可用的物理资源种类以及数量。初始化每台可用的物理机的资源使用阈值为α,0<α<1;;本实施例中通过实验得到每台物理机的资源使用阈值α均为0.25。
步骤二:将云数据中心中所有可用的物理机按可用计算能力降序排列,形成队列PQ={PM_1,PM_2,…,PM_r,…,PM_R};其中PM_r表示队列PQ中排第r位的物理机;物理机的可用计算能力c的计算方式如下:
上式中,l是该物理机上当前可用的物理资源种类数,prk指其可用的第k种物理资源数量。
步骤三:将所有待置备的虚拟机按操作系统类型分为T类,记为V={V1,V2,…,Vt,…,VT},其中Vt表示V中第t类的虚拟机集合;操作系统类型包括:Microsoft WindowsServer 2012、Microsoft Windows Server 2008、Microsoft Windows 7、MicrosoftWindows XP、CentOS、Red Hat Linux、Red Hat Enterprise Linux、Debian、Gentoo、SUSE、SUSE Enterprise Linux、FreeBSD、Fedora、Ubuntu、用户自定义操作系统类型;其中用户自定义操作系统类型为用户按特殊要求自行添加的一个或多个操作系统类型。
步骤四:判断V中所有分类的虚拟机集合是否都为空:如果是,则结束;否则选择队列PQ中排第一位的物理机PM_1,并计算V中每类虚拟机与PM_1上本地可用镜像数据之间的相似度s,然后将所有分类的虚拟机集合按s降序排列,构成队列VQ={VC_1,VC_2,...,VC_t,…,VC_T},其中VC_t表示VQ中排第t位的虚拟机集合;其中,一类虚拟机与PM_1上本地可用镜像数据之间的相似度s计算公式如下:
在上式中,Di为该类虚拟机集合中的第i个虚拟机需要的镜像文件所包含的数据块集合,m为该类虚拟机集合中的虚拟机数量,C为PM_1上存储的可用的镜像文件数据块集合;指D1,D2,…,Di,…,Dm的并集,符号“\”是差集运算符,|·|为求某个集合的势,即该集合内元素的个数。
步骤五:计算VQ中排第一位的虚拟机集合VC_1对PM_1的资源需求比β;判断β是否大于等于α,若是,则跳转步骤六;否则,判断VC_1在VQ中的排位是否已经被降序至末尾过,如果否,则将VC_1在VQ中的排位降至末尾并对新的VC_1重复步骤五,如果是,跳转步骤六;其中,一类虚拟机集合VC_1对PM_1的资源需求比β计算公式如下:
在上式中,vrik表示VC_1中第i台虚拟机对第k种物理资源的需求量,l为PM_1中当前可用的物理资源的种类数,n是VC_1中的虚拟机数量。
步骤六:从VC_1中迭代选取尽可能多的虚拟机放置于PM_1上;每放置一台虚拟机后,则将其从VC_1和对应的V中虚拟机分类中删除;若VC_1为空或PM_1无法放下VC_1中任何虚拟机,则从VQ中移除VC_1,VQ队列长度减1,并跳转步骤七;否则重复步骤六;
从VC_1中迭代选取尽可能多的虚拟机放置于PM_1上的过程具体如下:
在第i轮迭代中,根据以下条件确定集合Qi
在上式中,U=VC_1,Ti是在第i轮迭代时已放入PM_1上的虚拟机集合,初始化 表述在第i轮迭代中,虚拟机vm∈U\Ti需要的镜像文件所包含的数据块集合中数据块的数目;Qi表示属于集合U\Ti的所有虚拟机中,需要的镜像文件所包含的数据块集合中数据块的数目最小的虚拟机集合;
随后,从Qi中随机选取一个虚拟机VMi,令Ti+1=Ti∪{VMi};
若VMi需求的每一种物理资源的资源数量vrk对PM_1所能提供的对应物理资源数量prk都满足prk-vrk≥0,则将VMi放置于PM_1上,并令prk=prk-vrk,然后进入下一轮迭代;否则终止迭代;
在第i轮迭代结束时,将第i+1轮迭代中虚拟机vm∈U\Ti+1需要的镜像文件所包含的数据块集合变更为其中N(VMi)代表i轮迭代中所选虚拟机VMi需要的镜像文件所包含的数据块集合。
步骤七:判断VQ是否为空,如果是,则将PM_1从PQ中删除,PQ队列长度减1,并跳转至步骤四;如果否,则重复步骤六。
为验证本发明的有效性,本实施例中通过Matlab仿真平台来实现本发明,并进行了性能测试。
在性能测试中,设计了两种场景来对比Greedy-Cache、Greedy-Pack和本发明Balance-Placement所需要传输的数据量和需要占用的物理机数目:1)场景1:,将一批含有400个虚拟机的置备请求划分为若干种规模不同的小批次进行处理,将这些虚拟机置备于初始化为空(每台物理机上没有运行任何虚拟机,每台物理机上未保存有任何的块)的物理数据中心上,然后最后查看其总的传输数据量以及占用的物理机数目;2)场景2:10批含有400个虚拟机的置备请求按发起的先后顺序被置备于初始化为空的物理数据中心上,在每批置备请求的间隙随机关闭若干正在运行的虚拟机,与该虚拟机相关的本地可用数据块也被删除,并且被占用的物理资源被释放,分别查看每批次置备请求所耗费的传输数据量和占用的物理机数目。
建立一个有着160个不同镜像文件的镜像池,每个镜像文件包含大约在20000个数据块左右(±4000个块),所有的镜像文件一共包含超过70万个不同的数据块。数据中心含有200台物理机,每台物理机上最大可用内存计算资源为100单位,最小可用内存计算资源为0单位。用户发起的虚拟机请求对内存资源的需求分为小中大三类,分别为5单位、10单位和20单位。
在场景1中,按照幂率分布随机生成四组虚拟机置备请求,每组置备请求均需置备400台虚拟机。每组置备请求被分别划分为1台虚拟机、50台虚拟机、100台虚拟机、200台虚拟机、400台虚拟机一小组进行置备。图2和图3分别展示这4组虚拟机置备请求在这几种方法下需传输的数据块数量和占用的物理机数目。通过图2可以看出,随着每批次中虚拟机数目的增加,Balance-Placement产生的需被传输数据块数量逐渐减少,而Greedy-Cache则基本保持不变。当虚拟机以400个为一整批部署时,Balance-Placement的结果大约为Greedy-Cache的一半左右。通过图3可以看出,三种虚拟机放置方法所占用的物理机数量处于同一数量级。
在场景2中,就每轮置备400个虚拟机所需传输的数据块数量而言,Balance-Placement比Greedy-Cache要少15%至30%,同时就每轮所占用的物理机数目而言,Balance-Placement比Greedy-Cache要少10%至25%,且与只考虑虚拟机装箱问题的Greedy-Cache处于同一数量级。
通过以上两个场景的对比可以看出,Balance-Placement能用接近或等于Greedy-Cache结果的物理机数目来置备大批量的虚拟机,并且置备过程中需传输的数据量也大大优于已有的基于虚拟机镜像文件相似性的Greedy-Cache。

Claims (6)

1.一种适用于云数据中心的虚拟机放置方法,其特征在于,包括以下步骤:
步骤一:输入待置备的虚拟机列表与云数据中心中可用的物理机列表;初始化每台可用的物理机的资源使用阈值为α;0<α<1;
步骤二:将云数据中心中所有可用的物理机按可用计算能力降序排列,形成队列PQ={PM_1,PM_2,…,PM_r,…,PM_R};其中PM_r表示队列PQ中排第r位的物理机;
步骤三:将所有待置备的虚拟机按操作系统类型分为T类,记为V={V1,V2,…,Vt,…,VT},其中Vt表示V中第t类的虚拟机集合;
步骤四:判断V中所有分类的虚拟机集合是否都为空:如果是,则结束;否则选择队列PQ中排第一位的物理机PM_1,并计算V中每类虚拟机与PM_1上本地可用镜像数据之间的相似度s,然后将所有分类的虚拟机集合按s降序排列,构成队列VQ={VC_1,VC_2,...,VC_t,…,VC_T},其中VC_t表示VQ中排第t位的虚拟机集合;
步骤五:计算VQ中排第一位的虚拟机集合VC_1对PM_1的资源需求比β;判断β是否大于等于α,若是,则跳转步骤六;否则,判断VC_1在VQ中的排位是否已经被降序至末尾过,如果否,则将VC_1在VQ中的排位降至末尾并对新的VC_1重复步骤五,如果是,跳转步骤六;
步骤六:从VC_1中迭代选取尽可能多的虚拟机放置于PM_1上;每放置一台虚拟机后,则将其从VC_1和对应的V中虚拟机分类中删除;若VC_1为空或PM_1无法放下VC_1中任何虚拟机,则从VQ中移除VC_1,VQ队列长度减1,并跳转步骤七;否则重复步骤六;
步骤七:判断VQ是否为空,如果是,则将PM_1从PQ中删除,PQ队列长度减1,并跳转至步骤四;如果否,则重复步骤六;
所述步骤四中,一类虚拟机与PM_1上本地可用镜像数据之间的相似度s计算公式如下:
在上式中,Di为该类虚拟机集合中的第i个虚拟机需要的镜像文件所包含的数据块集合,m为该类虚拟机集合中的虚拟机数量,C为PM_1上存储的可用的镜像文件数据块集合;指D1,D2,…,Di,…,Dm的并集,符号“\”是差集运算符,|·|为求某个集合的势,即该集合内元素的个数;
所述步骤六中,从VC_1中迭代选取尽可能多的虚拟机放置于PM_1上的过程具体如下:
在第i轮迭代中,根据以下条件确定集合Qi
在上式中,U=VC_1,Ti是在第i轮迭代时已放入PM_1上的虚拟机集合,初始化 表述在第i轮迭代中,虚拟机vm∈U\Ti需要的镜像文件所包含的数据块集合中数据块的数目;记Nvw为属于集合U\Ti的所有虚拟机中,需要的镜像文件所包含的数据块集合中数据块的数目最小值;Qi表示属于集合U\Ti的所有虚拟机中,需要的镜像文件所包含的数据块集合中数据块的数目为Nvw的虚拟机集合;
随后,从Qi中随机选取一个虚拟机VMi,令Ti+1=Ti∪{VMi};
若VMi需求的每一种物理资源的资源数量vrk对PM_1所能提供的对应物理资源数量prk都满足prk-vrk≥0,则将VMi放置于PM_1上,并令prk=prk-vrk,然后进入下一轮迭代;否则终止迭代;
在第i轮迭代结束时,将第i+1轮迭代中虚拟机vm∈U\Ti+1需要的镜像文件所包含的数据块集合变更为其中N(VMi)代表i轮迭代中所选虚拟机VMi需要的镜像文件所包含的数据块集合。
2.根据权利要求1所述的适用于云数据中心的虚拟机放置方法,其特征在于,所述步骤一中,输入的待置备虚拟机列表至少描述了每台虚拟机需要的镜像文件名称和需求的物理资源种类以及数量,输入的物理机列表至少描述了每台物理机存储的可用的镜像文件数据块和当前可用的物理资源种类以及数量。
3.根据权利要求1所述的适用于云数据中心的虚拟机放置方法,其特征在于,所述步骤二中,物理机的可用计算能力c的计算方式如下:
上式中,l是该物理机上当前可用的物理资源种类数,prk指其可用的第k种物理资源数量。
4.根据权利要求1所述的适用于云数据中心的虚拟机放置方法,其特征在于,所述步骤三中,所有待置备的虚拟机按以下操作系统类型分类:Microsoft Windows Server 2012、Microsoft Windows Server 2008、Microsoft Windows 7、Microsoft Windows XP、CentOS、Red Hat Linux、Red Hat Enterprise Linux、Debian、Gentoo、SUSE、SUSEEnterprise Linux、FreeBSD、Fedora、Ubuntu、用户自定义操作系统类型;其中用户自定义操作系统类型为用户按特殊要求自行添加的一个或多个操作系统类型。
5.根据权利要求1所述的适用于云数据中心的虚拟机放置方法,其特征在于,所述步骤五中,一类虚拟机集合VC_1对PM_1的资源需求比β计算公式如下:
在上式中,vrik表示VC_1中第i台虚拟机对第k种物理资源的需求量,l为PM_1中当前可用的物理资源的种类数,n是VC_1中的虚拟机数量,c是PM_1的可用计算能力。
6.根据权利要求1~5中任一项所述的适用于云数据中心的虚拟机放置方法,其特征在于,所述步骤一中,始化每台可用的物理机的资源使用阈值α=0.25。
CN201610976424.0A 2016-11-07 2016-11-07 一种适用于云数据中心的虚拟机放置方法 Active CN106502765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610976424.0A CN106502765B (zh) 2016-11-07 2016-11-07 一种适用于云数据中心的虚拟机放置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610976424.0A CN106502765B (zh) 2016-11-07 2016-11-07 一种适用于云数据中心的虚拟机放置方法

Publications (2)

Publication Number Publication Date
CN106502765A CN106502765A (zh) 2017-03-15
CN106502765B true CN106502765B (zh) 2019-03-22

Family

ID=58323859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610976424.0A Active CN106502765B (zh) 2016-11-07 2016-11-07 一种适用于云数据中心的虚拟机放置方法

Country Status (1)

Country Link
CN (1) CN106502765B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483573A (zh) * 2017-08-08 2017-12-15 郑州云海信息技术有限公司 云平台中镜像文件的传输方法和装置
CN108572868A (zh) * 2017-09-25 2018-09-25 北京金山云网络技术有限公司 一种物理主机选择方法、装置、设备及可读存储介质
CN107528742B (zh) * 2017-09-28 2020-06-12 南京航空航天大学 一种面向云数据中心网络优化的虚拟机部署方法
CN108073443B (zh) * 2017-12-08 2021-10-26 中南大学 云数据中心里基于共享内存页面的虚拟机选择与放置方法
CN107967168B (zh) * 2017-12-08 2021-11-12 中南大学 一种云数据中心里基于共享内存页面的虚拟机整合方法
CN113312064B (zh) * 2021-06-01 2024-03-26 中国民航信息网络股份有限公司 物理机的安装配置方法、装置以及计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631405B2 (en) * 2010-02-26 2014-01-14 Red Hat Israel, Ltd. Identification and placement of new virtual machines based on similarity of software configurations with hosted virtual machines
US8806484B2 (en) * 2011-04-18 2014-08-12 Vmware, Inc. Host selection for virtual machine placement
CN105373451A (zh) * 2015-12-07 2016-03-02 中国联合网络通信集团有限公司 一种虚拟机放置的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631405B2 (en) * 2010-02-26 2014-01-14 Red Hat Israel, Ltd. Identification and placement of new virtual machines based on similarity of software configurations with hosted virtual machines
US8806484B2 (en) * 2011-04-18 2014-08-12 Vmware, Inc. Host selection for virtual machine placement
CN105373451A (zh) * 2015-12-07 2016-03-02 中国联合网络通信集团有限公司 一种虚拟机放置的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Leveraging content similarity among VMI files to allocate virtual machines in cloud;Huixi Li等;《Future Generation Computer Systems》;20171018;528-542
云数据中心虚拟机管理研究综述;何嘉等;《电子科技大学学报》;20160130;第45卷(第1期);107-112
基于负载高峰特征的虚拟机放置算法;徐思尧等;《软件学报》;20160715;第27卷(第7期);1876-1887

Also Published As

Publication number Publication date
CN106502765A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
CN106502765B (zh) 一种适用于云数据中心的虚拟机放置方法
CN110134495B (zh) 一种容器跨主机在线迁移方法、存储介质及终端设备
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
CN104519119B (zh) 用于节流在虚拟化的云计算环境中同时运行并且共享相同资源集合的多个异构迁移会话的方法及系统
CN106534318B (zh) 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法
CN103970607A (zh) 使用等价集合来计算优化虚拟机分配的方法和装置
CN104881322B (zh) 一种基于装箱模型的集群资源调度方法及装置
CN105577727A (zh) 一种云计算虚拟机管理平台系统
CN104572251B (zh) 虚拟机部署方法和装置
CN106775493B (zh) 一种存储控制器及io请求处理方法
US20220164208A1 (en) Coordinated container scheduling for improved resource allocation in virtual computing environment
CN114416352A (zh) 算力资源分配方法、装置、电子设备及储存介质
CN108205461A (zh) 一种混合部署的虚拟化平台及部署方法
CN105847385B (zh) 一种基于运行时长的云计算平台虚拟机调度方法
CN109189552A (zh) 虚拟网络功能扩容与缩容方法及系统
CN109032788A (zh) 预留资源池动态调度方法、装置、计算机设备及存储介质
CN106775987A (zh) 一种在IaaS云中安全提高资源效率的虚拟机调度方法
CN107395708A (zh) 一种处理下载请求的方法和装置
CN111290858B (zh) 输入输出资源管理方法、装置、计算机设备和存储介质
Zhiyong et al. An improved container cloud resource scheduling strategy
CN115981843A (zh) 云边协同电力系统中任务调度方法、装置和计算机设备
CN106325972A (zh) 一种虚拟机管理方法及网络设备
CN106919450A (zh) 资源调整方法和装置
EP3550421B1 (en) Storage controller and io request processing method
Arif et al. Accelerating performance of gpu-based workloads using cxl

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200525

Address after: 410000 No. 678 Qingshan Road, Yuelu District, Changsha City, Hunan Province

Patentee after: HUNAN CREATOR INFORMATION TECHNOLOGIES Co.,Ltd.

Address before: Yuelu District City, Hunan province 410083 Changsha Lushan Road No. 932

Patentee before: CENTRAL SOUTH University

TR01 Transfer of patent right