CN114546637A - 一种类型有限的虚拟机分配方法 - Google Patents

一种类型有限的虚拟机分配方法 Download PDF

Info

Publication number
CN114546637A
CN114546637A CN202210045738.4A CN202210045738A CN114546637A CN 114546637 A CN114546637 A CN 114546637A CN 202210045738 A CN202210045738 A CN 202210045738A CN 114546637 A CN114546637 A CN 114546637A
Authority
CN
China
Prior art keywords
virtual machine
machine
type
virtual
types
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
CN202210045738.4A
Other languages
English (en)
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.)
East China Normal University
Original Assignee
East China Normal 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 East China Normal University filed Critical East China Normal University
Priority to CN202210045738.4A priority Critical patent/CN114546637A/zh
Publication of CN114546637A publication Critical patent/CN114546637A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种类型有限的虚拟机分配方法,所述方法包括以下步骤:分别获取虚拟机及其类型信息和物理机及其规格信息;对获取的虚拟机按照类型进行预组合得到组合后的虚拟机序列;根据物理机规格将组合后的虚拟机序列通过预定策略进行物理机分配。结合虚拟机的类型以及物理机的规格分析,制定了虚拟机的组合策略以及装箱策略,并确定了不同策略的应用顺序。在预处理阶段,通过对不同类型虚拟机的预先组合,一方面减少了虚拟机的数量,另一方面会更有利于后续的装箱。在装箱阶段,我们通过对虚拟机类型的分析,给出了简单实用的装箱策略,从而在兼顾运行时间的同时,保证了装箱的效率。

Description

一种类型有限的虚拟机分配方法
技术领域
本发明涉及虚拟机分配技术领域,尤其涉及一种类型有限的虚拟机分配方法。
背景技术
虚拟机(Virtual Machine,简称vm)指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***,一般的虚拟机实际使用的硬件所在的计算机称为物理机(Physical Machine,简称pm)。随着计算机技术的不断发展,云服务逐渐成为了各大科技公司的重要产品,通过整合更多的资源,一方面提高了资源的使用率,降低了能源消耗,另一方面从长远来看也是更经济、方便的用户选择,这符合绿色低碳经济的发展要求。云虚拟机则是云服务中的一项基本服务,它为用户提供了基本的计算和存储需求。云服务中的一个基本问题是——虚拟机该如何分配到物理机中,在满足物理机的硬件要求下,最小化使用的物理机的数量。
发明内容
鉴于目前虚拟机分配领域存在的上述不足,本发明提供一种类型有限的虚拟机分配方法,能够通过对不同类型虚拟机的预先组合,通过对虚拟机类型的分析,给出了简单实用的装箱策略,从而在兼顾运行时间的同时,保证了装箱的效率。
为达到上述目的,本发明的实施例采用如下技术方案:
一种类型有限的虚拟机分配方法,所述方法包括以下步骤:
分别获取虚拟机及其类型信息和物理机及其规格信息;
对获取的虚拟机按照类型进行预组合得到组合后的虚拟机序列;
根据物理机规格将组合后的虚拟机序列通过预定策略进行物理机分配。
依照本发明的一个方面,所述对获取的虚拟机按照类型进行预组合得到组合后的虚拟机序列包括:根据虚拟机的类型将虚拟机分为多个类型集合。
依照本发明的一个方面,所述预定策略包括:第一策略、第二策略和第三策略。
依照本发明的一个方面,所述第一策略包括:将物理机规格划分为分别与每种类型虚拟机一一对应的多个部分,分别用于各自对应类型虚拟机的装入。
依照本发明的一个方面,所述第二策略包括:将物理机规格划分为多个部分与处于两端的多种类型虚拟机一一对应,分别用于各自对应类型虚拟机的装入。
依照本发明的一个方面,所述第三策略包括:对每一种类型的虚拟机,按照CPU的降序对每个虚拟机装入物理机中;具体装法是,若当前的物理机序列的最后一个使用的物理机可以装入当前虚拟机则将其装入,否则就将其放入下一个空的物理机中。
依照本发明的一个方面,所述通过预定策略进行物理机分配包括:依次采用第一策略、第二策略和第三策略将虚拟机装入物理机中。
依照本发明的一个方面,所述类型有限的虚拟机分配方法包括:第一阶段,进行虚拟机类型的预组合;第二阶段,采用第一策略将虚拟机装入物理机;第三阶段,采用第二策略将虚拟机装入物理机;第四阶段,采用第三策略将虚拟机装入物理机。
依照本发明的一个方面,所述类型有限的虚拟机分配方法的时间复杂度为第一阶段、第二阶段、第三阶段和第四阶段的时间复杂度之和。
依照本发明的一个方面,所述物理机和虚拟机CPU类型的个数为预先给定的值。
本发明实施的优点:结合虚拟机的类型以及物理机的规格分析,制定了虚拟机的组合策略以及装箱策略,并确定了不同策略的应用顺序。针对典型的云端虚拟机的分配场景,提出了一种基于箱子类型预处理和组合装箱的线性时间算法。在预处理阶段,通过对不同类型虚拟机的预先组合,一方面减少了虚拟机的数量,另一方面会更有利于后续的装箱。在装箱阶段,我们通过对虚拟机类型的分析,给出了简单实用的装箱策略,从而在兼顾运行时间的同时,保证了装箱的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述的类型有限的虚拟机分配方法示意图。
图2为本发明实施例所述的PACKING-VM流程示意图;
图3为本发明实施例所述的COLLECT-VMS流程示意图;
图4为本发明实施例所述的ENLARGE-VM流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种类型有限的虚拟机分配方法,所述方法包括以下步骤:
步骤S1:分别获取虚拟机及其类型信息和物理机及其规格信息;
本实施例中,只考虑vm和pm的计算核心(cpu)大小和内存(mem)大小这两方面的因素。给定n个虚拟机的请求序列L=Ln=(vm1,…,vmn),令vmi的cpu大小为ci,mem大小为mi,物理机pm的规格统一,其cpu大小为C,mem大小为M。在实际问题中ci,mi,C,M一般均为2的幂,例如一般的各大云服务提供商提供的vm规格有1核2G,2核2G,2核4G,2核8G等等。从cpu和men的比值看,一般的pm的规格为M=2C,而vm的mi=ci·2s,其中0≤s≤S,S为常数表示mem/cpu的类型数量。从cpu大小看ci=2t,0≤t≤T,T为常数表示cpu的类型个数。pm的mem要容纳最大的vm的mem的,即2C=M≥2S·2T=2S+T,log2C≥S+T-1。对给定的Ln,求最小的pm数量,使得Ln的请求被满足。
C为pm的cpu的物理规格,由实际机器参数确定。S,T为vm的类型规格数量,由云服务提供商确定。而Ln为vm的实际请求序列,由用户请求确定。本文中,考虑C,S,T为事先指定的常数,Ln为输入的vm装箱问题和算法,明显地S*T为vm的类型数量。
本实施例的假设条件如下。
·ci,mi,C,M均为2的幂。
·取M=2C,即研究一般的应用场景。
·取S=2。根据各个云服务厂商的产品观察到,一般地vm的mem/cpu主要是1,2,4。
·取T=log2C-2≥0。由于1+T=S+T-1≤lgC,但若T+1=log2C,则当pm装入ci=2T=C/2,mi=2S+T=2T+2=2C的vmi后,剩余cpu为2T=C/2,剩余mem为0,因此这样必然造成cpu的浪费,因此取T=log2C-2更合适,即C=2T+2
表格1不同类型的虚拟机vm类型和规格
Figure BDA0003472240290000041
定义vmi的类型为(t,s)当且仅当ci=2t且mi/ci=2s,为了方便同时称vmi的规格为[2t,2t+s],本实例中的vm的类型和规格已列在表格1中,定义#(L,t,s)为L中(t,s)型vm的数量。在分配虚拟机的过程中,一个pm可以接收新的vm时,称此pm为打开的,否则称其为关闭的。
步骤S2:对获取的虚拟机按照类型进行预组合得到组合后的虚拟机序列;
在本实施例中,任意两个虚拟机vmi和虚拟机vmj满足
Figure BDA0003472240290000042
且i≠j时,此问题退化为一维的情形,此时将vmi按照cpu的大小顺序,采用Next Fit算法即可获得最优的虚拟机分配结果。
进一步地,若对所有的vmi都有
Figure BDA0003472240290000043
时,上述方法还可保证除最后一个pm外,其余的pm的cpu和mem全部用满。当
Figure BDA0003472240290000044
时,所有pm都会浪费至少一半的mem资源,当
Figure BDA0003472240290000045
时,所有pm都会浪费至少一半的cpu资源。
Figure BDA0003472240290000046
时pm资源利用率最高是因为
Figure BDA0003472240290000047
因此,对于给定的Ln,
Figure BDA0003472240290000048
的vm越多越有利于提升pm的利用率,减少使用的pm数量,即(*,1)型的vm越多越好。
当Ln给定时,如何产生更多的(*,1)型的vm?我们有如下观察。
令某个pm装入的vm的下标集合为K,令K1={i|mi=ci},K2={i|mi=2ci},K3={i|mi=4ci},显然K=K1∪K2∪K3,令
Figure BDA0003472240290000053
Figure BDA0003472240290000055
若此pm的cpu和mem均装满,那么必有x=2z。这是因为C=x+y+z,M=x+2y+4z和M=2C。
即一个pm不浪费资源时,类型为(*,0)的vm贡献的cpu是类型(*,2)的2倍。例如,2个(T,0)型,1个(T,1)和1个(T,2)的vm刚好装满一个pm。更普遍的规律是,2个(t,0)型,1个(t,1)和1个(t,2)的vm的cpu和mem大小与1个(t+2,1)型的vm的cpu和mem大小相等,即
2·2t+2t+2t=2t+2且2·2t+2t+1+2t+2=2t+3
例,2个规格为[16,16],1个规格为[16,32],1个规格为[16,64]的vm刚好相当于一个规格为[64,128]的vm。
因此,通过(*,0),(*,1)和(*,2)型的vm组合,相当于将若干cpu小的vm组成了一个cpu大的vm,或者理解为扩充了某个小的vm,这是一种对vm的预处理。
步骤S3:根据物理机规格将组合后的虚拟机序列通过预定策略进行物理机分配。
本实施例中,下面给出了组合后的vm装入pm的几种方法:
第一策略,即211策略:将1个pm的规格[C,2C]分成三部分,即
Figure BDA0003472240290000051
分别用于(*,0),(*,1)和(*,2)型的vm的装入,对每种类型的vm来说,其分配的空间都能装入最大规格的vm的,且空间与vm的mem/cpu比例相同,这就退化为了一维的情形。此时pm的cpu和mem的利用率理论上可以达到100%。
第二策略,即301策略:将1个pm的规格[C,2C]分成三部分,即
Figure BDA0003472240290000052
第一、三部分分别用于(*,0)和(*,2)型的vm的装入,对每种类型的vm来说,像211策略一样,退化为了一维的情形。此时pm的cpu的利用率理论上可达100%,而mem将浪费至少2T+3-3·2T-2T+2=2T的空间,即mem利用率最多为87.5%。
第三策略,即Next Fit策略:对(*,0),(*,1),(*,2)每一种类型的vm,按照cpu(即ci)的降序对每个vmi装入pm中,具体装法是若当前的pm序列的最后一个使用的pmj可以装入vmi则将其装入,否则就将其放入空的pmj+1中。也就是当前pm不可装时,就装入下一个新的pm中。
以上三种策略是按照我们介绍的顺序进行使用的。
在本实施例中,所述类型有限的虚拟机分配方法具体通过如下步骤实现:
首先,为了提升pm的资源利用率,采用了预先组合的方法将规格小的vm组成类型为(*,1)的虚拟机集合,并将这个集合看成是一个vm进行后边的装入。其次,为了减小使用的pm数量,依次采用211策略,301策略,Next Fit策略将vm装入pm中。数值实验反应了此算法的最终效率。称如下算法为PACKING-VM。
如图2所示,该方法主要包括以下步骤:
输入:vm的序列L和pm的cpu容量C。
S101、创建一个pm的序列PM用于放置vm,并令参数T=log2C-2。
S102、计算(*0)型的vm的cpu之和C0和采用211策略可以装的pm的数量n0
S103、计算(*1)型的vm的cpu之和C1和采用211策略可以装的pm的数量n1
S104、计算(*2)型的vm的cpu之和C2和采用211策略可以装的pm的数量n2
S105、令迭代变量t=T。
S106、如果t≥0转到S107,否则转到S113。
S107、令迭代变量x=#(L,t,1),其中#(L,t,1)为L中(t,1)型的vm的数量。
S108、如果x≥1转到S109,否则转到S112。
S109、如果n1≥min(n0,n2)转到S113,否则转到S110。
S110、选择一个(t,1)型的vmi,执行ENLARGE-VM(vmi,L)。
S111、更新C0,n0,C1,n1,C2,n2,且x=x-1,转到S108。
S112、t=t-1,转到S106。
S113、令当前可用的PM的下标j=1,开始将vm装入PM中。
S114、执行
Figure BDA0003472240290000061
S115、执行
Figure BDA0003472240290000062
S116、执行
Figure BDA0003472240290000071
S117、如果Q0=Φ或Q1=Φ或Q2=Φ则转到S119,否则转到S118。
S118、将Q0,Q1,Q2中的vm装入PM[j]中,L=L-Q0-Q1-Q2,j=j+1,转到S114。
S119、执行
Figure BDA0003472240290000072
S120、执行
Figure BDA0003472240290000073
S121、如果Q0=Φ或Q2=Φ则转到S123,否则转到S122。
S122、将Q0,Q2中的vm装入PM[j]中,L=L-Q0-Q2,j=j+1,转到S119。
S123、令迭代变量s=2。
S124、如果s≥0则转到S125,否则转到S136。
S125、令迭代变量t=T。
S126、如果t≥0则转到S127,否则转到S135。
S127、令x=#(L,t,s),即L中(t,s)型vm的数量。
S128、如果x≥0则转到S129,否则转到S134。
S129、选择一个(t,s)型的vmi
S130、如果vmi可以放入PM[j]中则转到S132,否则转到S131。
S131、j=j+1。
S132、将vmi放入PM[j]中。
S133、x=x-1,转到S128。
S134、t=t-1,转到S126。
S135、s=s-1,转到S124。
S136、返回j。
其中,COLLECT-VMS是从L的(*,s)型的vm中收集若干个vm放入Q中,使得
Figure BDA0003472240290000074
如图3所示,函数具体步骤如下:
输入:待收集的cpu之和c,待收集的vm的类型s,vm序列L。
S101、令Q=Φ,
Figure BDA0003472240290000075
S102、如果t≥0则转到S103,否则转到S106。
S103、令
Figure BDA0003472240290000076
即需要的(t,s)型的vm数量。
S104、将k个(t,s)型的vm放入Q中。
S105、更新c=c-k*2t,t=t-1,转到S102。
S106、如果c=0,则转到S108,否则转到S107。
S107、Q=Φ。
S108、返回Q。
其中,ENLARGE-VM是利用211策略将(*,0),(*,1),(*,2)型的vm扩充为一个新的vm,这是对vm的预先组合,如图4所示,函数具体步骤如下:
输入:待扩充的某个vmi,vm的序列L。
S101、令Q0=COLLECT-VMS(2ci,0,L)。
S102、令Q2=COLLECT-VMS(ci,2,L)。
S103、如果ci>2T-2或Q0=Φ或Q2=Φ则转到S107,否则转到S104。
S104、L=L-Q0-Q2
S105、ci=4*ci,mi=4*mi
S106、执行ENLARGE-VM(vmi,L)。
S107、返回。
PACKING-VM算法分为四个阶段。
第一阶段是vm的预组合阶段,对应于S101到S112,本阶段通过采用211策略,将(*,0)和(*,1)和(*,2)型的vm进行了预先的组合,增加了(*,1)型vm的cpu之和,这有助于后续的vm的装入。
第二阶段是采用211策略装入vm的阶段,对应于S113到S118。即将一个pm的规格[C,2C]分为
Figure BDA0003472240290000081
三部分,分别装入(*,0)和(*,1)和(*,2)三种类型的vm。
第三阶段是采用301策略装入vm的阶段,对应于S119到S122。即将一个pm的规格[C,2C]分为
Figure BDA0003472240290000082
三部分,第一、三部分分别装入(*,0)和(*,2)两种类型的vm。
第四阶段是采用Next Fit策略装入vm的阶段,对应于S123到S136。即对每种(t,s)型的每个vmi分配pm。这里采用了最简单的Next Fit策略,当最后一个打开的pm不能装入vmi时,就打开一个新的pm将vmi装入。
关于PACKING-VM的时间复杂度分析如下。首先COLLECT-VMS的时间复杂度为O(log2c)。令ENLARGE-VM的时间复杂度为T(ci),则有如下关系。
Figure BDA0003472240290000091
其中ci为输入vmi的cpu,据此,可以分析出T(ci)=O(T2)。因此,PACKING-VM的时间复杂度为O(nT2)+O(nT)+O(nT)+O(n)=O(nT2),这四部分分别对应了四个阶段的时间复杂度。
下面是PACKING-VM的数值实验结果,这里取C=28,则T=6。令参数n'为每种(t,s)型的vm的数量上界,即初始生成的L中#(L,t,s)=Random[0,n'],随机函数使用C++标准函数库的rand()函数实现。那么
Figure BDA0003472240290000092
我们对n'=100,1000,10000的条件进行了数值实验。实现语言为C++,测试机器为Intel Celeron 1005M 1.9GHz,12GBRAM,实验结果如下。这里定义
Figure BDA0003472240290000093
Figure BDA0003472240290000094
显然lb1和lb2为pm数量的下界。我们用#pm表示算法PACKING-VM使用的pm数量,并令
Figure BDA0003472240290000095
其表示了算法PACKING-VM的装箱效率。
表格2算法PACKING-VM的结果
Figure BDA0003472240290000096
对每个n'的取值,做了1000次实验,其中最好的ρ列在bestcase中,最坏的ρ列在worstcase中,平均的ρ列在averagecase中。
显然,当(*,1)型的vm较少时,PACKING-VM装箱效率会有所下降,因此我们限制原始L中(*,1)型的vm数量不超过
Figure BDA0003472240290000098
的情形下,重复了上述实验,实验结果如下。
表格3(*,1)型vm不超过
Figure BDA0003472240290000097
时的结果
Figure BDA0003472240290000101
从上述实验中,我们发现PACKING-VM很好的利用了不同类型的vm,对vm进行预组合并结合多种装箱策略的效果,结合其线性时间性(因T会提前给定,所以nT2是vm数量n的线性函数),我们认为PACKING-VM是适用于典型场景的一种高效算法。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种类型有限的虚拟机分配方法,其特征在于,所述方法包括以下步骤:
分别获取虚拟机及其类型信息和物理机及其规格信息;
对获取的虚拟机按照类型进行预组合得到组合后的虚拟机序列;
根据物理机规格将组合后的虚拟机序列通过预定策略进行物理机分配。
2.根据权利要求1所述的类型有限的虚拟机分配方法,其特征在于,所述对获取的虚拟机按照类型进行预组合得到组合后的虚拟机序列包括:根据虚拟机的类型将虚拟机分为多个类型集合。
3.根据权利要求1所述的类型有限的虚拟机分配方法,其特征在于,所述预定策略包括:第一策略、第二策略和第三策略。
4.根据权利要求3所述的类型有限的虚拟机分配方法,其特征在于,所述第一策略包括:将物理机规格划分为分别与每种类型虚拟机一一对应的多个部分,分别用于各自对应类型虚拟机的装入。
5.根据权利要求3所述的类型有限的虚拟机分配方法,其特征在于,所述第二策略包括:将物理机规格划分为多个部分与处于两端的多种类型虚拟机一一对应,分别用于各自对应类型虚拟机的装入。
6.根据权利要求3所述的类型有限的虚拟机分配方法,其特征在于,所述第三策略包括:对每一种类型的虚拟机,按照CPU的降序对每个虚拟机装入物理机中;具体装法是,若当前的物理机序列的最后一个使用的物理机可以装入当前虚拟机则将其装入,否则就将其放入下一个空的物理机中。
7.根据权利要求3所述的类型有限的虚拟机分配方法,其特征在于,所述通过预定策略进行物理机分配包括:依次采用第一策略、第二策略和第三策略将虚拟机装入物理机中。
8.根据权利要求7所述的类型有限的虚拟机分配方法,其特征在于,所述类型有限的虚拟机分配方法包括:第一阶段,进行虚拟机类型的预组合;第二阶段,采用第一策略将虚拟机装入物理机;第三阶段,采用第二策略将虚拟机装入物理机;第四阶段,采用第三策略将虚拟机装入物理机。
9.根据权利要求8所述的类型有限的虚拟机分配方法,其特征在于,所述类型有限的虚拟机分配方法的时间复杂度为第一阶段、第二阶段、第三阶段和第四阶段的时间复杂度之和。
10.根据权利要求9所述的类型有限的虚拟机分配方法,其特征在于,所述物理机和虚拟机CPU类型为预先给定的值。
CN202210045738.4A 2022-01-16 2022-01-16 一种类型有限的虚拟机分配方法 Pending CN114546637A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210045738.4A CN114546637A (zh) 2022-01-16 2022-01-16 一种类型有限的虚拟机分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210045738.4A CN114546637A (zh) 2022-01-16 2022-01-16 一种类型有限的虚拟机分配方法

Publications (1)

Publication Number Publication Date
CN114546637A true CN114546637A (zh) 2022-05-27

Family

ID=81671772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210045738.4A Pending CN114546637A (zh) 2022-01-16 2022-01-16 一种类型有限的虚拟机分配方法

Country Status (1)

Country Link
CN (1) CN114546637A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103576827A (zh) * 2012-07-25 2014-02-12 田文洪 一种云计算数据中心在线节能调度的方法和装置
CN106155782A (zh) * 2015-04-09 2016-11-23 联想(北京)有限公司 虚拟机迁移方法及装置
US20170003977A1 (en) * 2015-07-03 2017-01-05 Fujitsu Limited Boot control program, boot control method, and boot control device
CN108108224A (zh) * 2017-12-05 2018-06-01 西南交通大学 基于蚁群优化算法的云数据中心中虚拟机放置方法
CN111078365A (zh) * 2019-12-20 2020-04-28 中天宽带技术有限公司 一种虚拟数据中心的映射方法及相关装置
CN111143039A (zh) * 2020-01-02 2020-05-12 安超云软件有限公司 一种虚拟机的调度方法、装置及计算机存储介质
CN111324422A (zh) * 2020-02-24 2020-06-23 武汉轻工大学 多目标虚拟机部署方法、装置、设备及存储介质
US20210342654A1 (en) * 2020-04-29 2021-11-04 Microsoft Technology Licensing, Llc. Machine-generated examples of command-line commands with parameter values

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103576827A (zh) * 2012-07-25 2014-02-12 田文洪 一种云计算数据中心在线节能调度的方法和装置
CN106155782A (zh) * 2015-04-09 2016-11-23 联想(北京)有限公司 虚拟机迁移方法及装置
US20170003977A1 (en) * 2015-07-03 2017-01-05 Fujitsu Limited Boot control program, boot control method, and boot control device
CN108108224A (zh) * 2017-12-05 2018-06-01 西南交通大学 基于蚁群优化算法的云数据中心中虚拟机放置方法
CN111078365A (zh) * 2019-12-20 2020-04-28 中天宽带技术有限公司 一种虚拟数据中心的映射方法及相关装置
CN111143039A (zh) * 2020-01-02 2020-05-12 安超云软件有限公司 一种虚拟机的调度方法、装置及计算机存储介质
CN111324422A (zh) * 2020-02-24 2020-06-23 武汉轻工大学 多目标虚拟机部署方法、装置、设备及存储介质
US20210342654A1 (en) * 2020-04-29 2021-11-04 Microsoft Technology Licensing, Llc. Machine-generated examples of command-line commands with parameter values

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ABDELKHALIK MOSA: ""Dynamic Virtual Machine Placement Considering CPU and Memory Resouce Requirements"", 《2019 IEEE 12TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING (CLOUD)》, 29 August 2019 (2019-08-29), pages 196 - 198 *
孙新越: ""云计算环境下的动态虚拟机整合算法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 2020, 15 January 2020 (2020-01-15), pages 137 - 35 *
郭立峰: ""云计算背景下的装箱问题和背包问题算法研究"", 《中国博士学位论文全文数据库 信息科技辑》, no. 2024, 15 February 2024 (2024-02-15), pages 139 - 3 *

Similar Documents

Publication Publication Date Title
Gai et al. Efficiency-aware workload optimizations of heterogeneous cloud computing for capacity planning in financial industry
Pearce et al. Faster parallel traversal of scale free graphs at extreme scale with vertex delegates
Sheikhalishahi et al. A multi-dimensional job scheduling
CN106534318B (zh) 一种基于流量亲和性的OpenStack云平台资源动态调度***和方法
CN107911478A (zh) 基于化学反应优化算法的多用户计算卸载方法及装置
Madhura et al. An improved list-based task scheduling algorithm for fog computing environment
CN107291536B (zh) 一种云计算环境下应用任务流调度方法
CN105471985A (zh) 负载均衡方法及云平台计算方法、云平台
Kaya et al. Heuristics for scheduling file-sharing tasks on heterogeneous systems with distributed repositories
CN109669773B (zh) 金融数据处理方法、装置、设备和存储介质
CN105786619B (zh) 虚拟机分配方法及装置
CN115134371A (zh) 包含边缘网络算力资源的调度方法、***、设备及介质
Wu et al. Optimizing the performance of big data workflows in multi-cloud environments under budget constraint
Deng et al. A data and task co-scheduling algorithm for scientific cloud workflows
Kaya et al. Iterative-improvement-based heuristics for adaptive scheduling of tasks sharing files on heterogeneous master-slave environments
CN113918314A (zh) 任务处理方法、边缘计算设备、计算机设备、介质
de Souza Toniolli et al. Resource allocation for multiple workflows in cloud-fog computing systems
CN111159859B (zh) 一种云容器集群的部署方法及***
Menouer et al. New scheduling strategy based on multi-criteria decision algorithm
Yin et al. Joint scheduling of data and computation in geo-distributed cloud systems
CN103997515A (zh) 一种分布式云中计算中心选择方法及其应用
Hosseini et al. Resource allocation optimization in cloud computing using the whale optimization algorithm
Londoño et al. Colocation games: And their application to distributed resource management
CN114546637A (zh) 一种类型有限的虚拟机分配方法
Lucarelli et al. Contiguity and locality in backfilling scheduling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination