CN103338246B - 一种基础设施云资源分配过程中的虚拟机选择方法及系统 - Google Patents

一种基础设施云资源分配过程中的虚拟机选择方法及系统 Download PDF

Info

Publication number
CN103338246B
CN103338246B CN201310255858.8A CN201310255858A CN103338246B CN 103338246 B CN103338246 B CN 103338246B CN 201310255858 A CN201310255858 A CN 201310255858A CN 103338246 B CN103338246 B CN 103338246B
Authority
CN
China
Prior art keywords
virtual machine
totle drilling
drilling cost
processed
machine specification
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
CN201310255858.8A
Other languages
English (en)
Other versions
CN103338246A (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.)
South China Normal University
Original Assignee
South 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 South China Normal University filed Critical South China Normal University
Priority to CN201310255858.8A priority Critical patent/CN103338246B/zh
Publication of CN103338246A publication Critical patent/CN103338246A/zh
Application granted granted Critical
Publication of CN103338246B publication Critical patent/CN103338246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基础设施云资源分配过程中的虚拟机选择方法及系统,本发明的方法包括:获取输入的虚拟机参数和所需的计算资源总量;根据获取的虚拟机参数和所需的计算资源总量,自动计算满足所需的计算资源总量的虚拟机数量和总成本;将计算出的虚拟机数量和总成本发送给用户或自动调度模块。本发明的方法根据输入的虚拟机参数及所需的计算资源量,自动计算出能够满足所需的计算资源量的虚拟机数量及总成本,整个虚拟机选择过程完全自动化简化了系统的使用,提高了用户的效率;同时本发明的方法将总成本作为虚拟机选择的重要参数,使得虚拟机选择过程对用户而言更加直观、实用、科学和准确。本发明可广泛应用于云计算领域。

Description

一种基础设施云资源分配过程中的虚拟机选择方法及系统
技术领域
本发明涉及云计算领域,尤其是一种基础设施云资源分配过程中的虚拟机选择方法及系统。
背景技术
名词解释:
云计算:是指一种抽象的、虚拟化的、动态可扩展的,能将托管的计算能力、存储能力、平台及服务按需提供给外部客户和应用的一种以规模经济驱动的大规模分布式计算模式。
虚拟机:本发明的虚拟机特指系统虚拟机,即一个可以运行完整操作系统的完整的,与真实物理机器无关的系统平台。
基础设施即服务平台云:将基础设施(即系统虚拟机)逻辑地集中并可供用户按需取用的云。
云计算是指将计算分布在大量的分布式计算机上,使用云计算平台通过网络为用户提供信息服务称为“云服务”。云服务可分为以下三层:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。
基础设施即服务平台云系统以虚拟机的形式为用户提供服务。当用户需要计算资源时,基础设施即服务云将其中的资源打包成虚拟机的形式提供给用户使用;当用户不再需要计算资源时,基础设施即服务云系统销毁上述虚拟机以回收计算资源。现有的基础设施即服务平台云系统如亚马逊的EC2及开源的Eucalyptus等系统仅为用户提供若干种标准规格的虚拟机。若用户需要某给定量的计算资源,则须自行通过手动计算将需要计算资源的量转化为所需标准规格的虚拟机数量。例如,基础设施即服务平台云系统提供3种虚拟机规格,分别为规格A:2处理器核心/256MB内存;规格B:1处理器核心/256MB内存;规格C:4处理器核心/256MB内存。若用户需要10处理器核心及768MB内存的资源,则必需手动计算出能满足需求的最佳组合即1规格A实例+2规格C实例。当用户需要的计算资源量较大或标准虚拟机规格较多时,通过手动计算来获取合适的虚拟机数量,而且计算的成本也较高。
发明内容
为了解决上述技术问题,本发明的目的是:提供一种自动、高效和成本较低的基础设施云资源分配过程中的虚拟机选择方法。
本发明的另一目的是:供一种自动、高效和成本较低的基础设施云资源分配过程中的虚拟机选择系统。
本发明解决其技术问题所采用的技术方案是:一种基础设施云资源分配过程中的虚拟机选择方法,包括:
A、获取输入的虚拟机参数和所需的计算资源总量;
B、根据获取的虚拟机参数和所需的计算资源总量,自动计算满足所需的计算资源总量的虚拟机数量和总成本;
C、将计算出的虚拟机数量和总成本发送给用户或自动调度模块。
进一步,所述的虚拟机参数包括每种虚拟机规格、每个虚拟机实例、每个虚拟机实例所提供的资源和每个虚拟机实例的成本。
进一步,所述步骤B,其包括:
B1、对每种虚拟机规格进行计算,从而计算出仅使用任一种规格的虚拟机来满足资源需求量时所需的虚拟机实例数及相应的总成本;
B2、根据计算的结果取出最大的虚拟机规格并标记该种虚拟机规格为已处理,所述最大的虚拟机规格为与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
B3、判断是否所有的虚拟机规格均被标记为已处理,若是,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,执行步骤C,反之,则执行步骤B4;
B4、在所有未被标记为已处理的虚拟机规格中,寻找是否有满足资源需求量,且总成本比被标记为已处理的虚拟机规格的总成本更低的虚拟机规格;若有,则采用改进的下降迭代算法对被标记为已处理的虚拟机规格进行逐次替换,从而得到虚拟机数量及相应的总成本;反之,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,执行步骤C。
进一步,所述步骤B1,其包括:
B11、对每种虚拟机规格进行计算,从而计算出仅使用任一种规格的虚拟机来满足资源需求量时所需的虚拟机实例数,而其计算公式如下:
式中,Ai为仅使用第i种规格的虚拟机来满足资源需求量时所需的虚拟机实例数,E为资源需求量,max函数为最大值求取函数,Ri为每个虚拟机实例所提供的资源,i=1,2,3,…,N,N为自然数;
B12、根据计算出的Ai和每个虚拟机实例的成本Pi计算相应的总成本Ci,Ci的计算公式为:
进一步,所述步骤B4,其包括:
B41、在所有未被标记为已处理的虚拟机规格中,取出与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
B42、在所有已处理的虚拟机规格中,依次查找是否存在满足资源需求量,且总成本比所述取出的虚拟机规格所对应的总成本更高的虚拟机规格,若存在,则用所述取出的虚拟机规格所对应的虚拟机实例来替代该已处理的虚拟机规格所对应的虚拟机实例,并在标记所述取出的虚拟机规格为已处理后重新执行步骤B41;反之,则直接执行步骤C。
本发明解决其技术问题所采用的另一技术方案是:一种基础设施云资源分配过程中的虚拟机选择系统,包括:
获取模块,用于获取输入的虚拟机参数和所需的计算资源总量;
自动计算模块,用于根据获取的虚拟机参数和所需的计算资源总量,自动计算满足所需的计算资源总量的虚拟机数量和总成本;
输出模块,用于将计算出的虚拟机数量和总成本发送给用户或自动调度模块;
所述获取模块的输出端通过自动计算模块进而与输出模块的输入端连接。
进一步,所述自动计算模块包括:
实例数与成本计算单元,用于对每种虚拟机规格进行计算,从而计算出仅使用任一种规格的虚拟机来满足资源需求量时所需的虚拟机实例数及相应的总成本;
取数与标记单元,用于根据计算的结果取出最大的虚拟机规格并标记该种虚拟机规格为已处理,所述最大的虚拟机规格为与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
比较单元,用于判断是否所有的虚拟机规格均被标记为已处理,若是,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,转至输出模块,反之,则转至迭代寻优单元;
迭代寻优单元,用于在所有未被标记为已处理的虚拟机规格中,寻找是否有满足资源需求量,且总成本比被标记为已处理的虚拟机规格的总成本更低的虚拟机规格;若有,则采用改进的下降迭代算法对被标记为已处理的虚拟机规格进行逐次替换,从而得到虚拟机数量及相应的总成本;反之,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,转至输出模块;
所述实例数与成本计算单元的输入端与获取模块的输出端连接,所述实例数与成本计算单元的输出端通过取数与标记单元和比较单元进而与迭代寻优单元的输入端连接,所述迭代寻优单元的输出端与输出模块的输入端连接。
进一步,所述迭代寻优单元包括:
取数子单元,用于在所有未被标记为已处理的虚拟机规格中,取出与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
替换子单元,用于在所有已处理的虚拟机规格中,依次查找是否存在满足资源需求量,且总成本比所述取出的虚拟机规格所对应的总成本更高的虚拟机规格,若存在,则用所述取出的虚拟机规格所对应的虚拟机实例来替代该已处理的虚拟机规格所对应的虚拟机实例,并在标记所述取出的虚拟机规格为已处理后重新转至取数子单元;反之,则直接转至输出模块;
所述取数子单元的输入端与比较单元的输出端连接,所述取数子单元的输出端通过替换子单元进而与输出模块的输入端连接。
本发明的方法的有益效果是:本发明的方法根据输入的虚拟机参数及所需的计算资源量,自动计算出能够满足所需的计算资源量的虚拟机数量及总成本,整个虚拟机选择过程完全自动化而无须用户手动介入,简化了系统的使用,提高了用户的效率;同时本发明的方法将总成本作为虚拟机选择的重要参数,使得虚拟机选择过程对用户而言更加直观、实用、科学和准确。进一步,本发明的方法先计算出能满足资源需求的最小虚拟机实例数,即先用最大的虚拟机实例满足资源需求,然后采用改进的下降迭代算法,逐步在满足资源需求的前提下降低总成本,提高用户的效率;同时改进的下降迭代算法过程的平均时间复杂度较低,其最大算法复杂度不超过虚拟机种类与所需的虚拟机数量之积,相对于云系统进行虚拟机调度的耗时而言,可忽略不计。
本发明的系统的有益效果是:本发明的系统根据输入的虚拟机参数及所需的计算资源量,自动计算出能够满足所需的计算资源量的虚拟机数量及总成本,整个虚拟机选择过程完全自动化而无须用户介入,简化了系统的使用,提高了用户的效率;同时本发明的系统将总成本作为虚拟机选择的重要参数,使得虚拟机选择过程对用户而言更加直观、实用、科学和准确。进一步,本发明的系统先计算出能满足资源需求的最小虚拟机实例数,即先用最大的虚拟机实例满足资源需求,然后采用改进的下降迭代算法,逐步在满足资源需求的前提下降低总成本,提高用户的效率;同时改进的下降迭代算法过程的平均时间复杂度较低,其最大算法复杂度不超过虚拟机种类与所需虚拟机数量之积,相对于云系统进行虚拟机调度的耗时而言,可忽略不计。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1为本发明的一种基础设施云资源分配过程中的虚拟机选择方法的流程图;
图2为本发明的方法步骤B的流程图;
图3为本发明的方法的步骤B1的流程图;
图4为本发明的方法的步骤B4的流程图;
图5为本发明一种基础设施云资源分配过程中的虚拟机选择系统的原理框图;
图6为本发明的系统的自动计算模块的组成框图;
图7为本发明的系统的迭代寻优单元的组成框图。
具体实施方式
参照图1,本发明一种基础设施云资源分配过程中的虚拟机选择方法,包括:
A、获取输入的虚拟机参数和所需的计算资源总量;
B、根据获取的虚拟机参数和所需的计算资源总量,自动计算满足所需的计算资源总量的虚拟机数量和总成本;
C、将计算出的虚拟机数量和总成本发送给用户或自动调度模块。
其中,基础设施即服务云平台系统接收用户或其它资源请求者发送的数据,这些数据包括了输入的虚拟机参数和所需的计算资源总量。虚拟机参数是指用户或其它资源请求者给定的虚拟机规格、虚拟机实例及单个实例的成本等与虚拟机选择过程相关的参数。计算出的虚拟机数量根据实际情况,也可为所需的各种规格的虚拟机的数量的组合,即计算出的虚拟机数量为一数量集。
本发明的方法能自动根据输入的虚拟机参数和所需的计算资源总量计算满足资源需求所需的虚拟机数量和总成本,无需用户手动介入,方法简单、高效;同时本发明的方法会将计算出的虚拟机数量和总成本发送给用户或自动调度模块,使用户或自动调度模块能根据计算的结果选择合适的虚拟机组合,更加直观、方便和快捷。
进一步作为优选的实施方式,所述的虚拟机参数包括每种虚拟机规格、每个虚拟机实例、每个虚拟机实例所提供的资源和每个虚拟机实例的成本。
其中,在本发明中,一种虚拟机规格对应一个虚拟机实例。例如,有两种虚拟机规格,规格1能提供2处理器核心和256MB内存,规格2能提供1处理器核心和256MB内存,那么规格1的1个实例能提供2处理器核心和256MB内存。
参照图2,进一步作为优选的实施方式,所述步骤B,其包括:
B1、对每种虚拟机规格进行计算,从而计算出仅使用任一种规格的虚拟机来满足资源需求量时所需的虚拟机实例数及相应的总成本;
B2、根据计算的结果取出最大的虚拟机规格并标记该种虚拟机规格为已处理,所述最大的虚拟机规格为与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
B3、判断是否所有的虚拟机规格均被标记为已处理,若是,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,执行步骤C,反之,则执行步骤B4;
B4、在所有未被标记为已处理的虚拟机规格中,寻找是否有满足资源需求量,且总成本比被标记为已处理的虚拟机规格的总成本更低的虚拟机规格;若有,则采用改进的下降迭代算法对被标记为已处理的虚拟机规格进行逐次替换,从而得到虚拟机数量及相应的总成本;反之,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,执行步骤C。
其中,资源需求量为所需的计算资源总量;以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,是指计算出的虚拟机数量等于与前面所取出的规格相对应的虚拟机实例数,计算出的总成本等于与前面所取出的规格相对应的总成本。
虚拟机规格最大时满足资源需求所需的实例数最小,即所需的虚拟机数量最少。本发明的方法通过计算的结果来选择合适的虚拟机组合,计算的结果包含所需的虚拟机数量和总成本,而总成本又与虚拟机数量相关,因此,本发明的方法的核心是对所需的虚拟机数量(即所需的每种虚拟机规格实例数)进行计算。而本发明的方法在计算所需的虚拟机数量时,先计算出能满足资源需求的最小虚拟机实例数,即先用最大的虚拟机实例满足资源需求,然后采用改进的下降迭代算法,逐步用小的虚拟机实例来替代大的虚拟机实例,以便在满足资源需求的前提下降低用户的总成本和提高用户的效率。
参照图3,进一步作为优选的实施方式,所述步骤B,其包括:
B11、对每种虚拟机规格进行计算,从而计算出仅使用任一种规格的虚拟机来满足资源需求量时所需的虚拟机实例数,而其计算公式如下:
式中,Ai为仅使用第i种规格的虚拟机来满足资源需求量时所需的虚拟机实例数,E为资源需求量,max函数为最大值求取函数,Ri为每个虚拟机实例所提供的资源,i=1,2,3,…,N,N为自然数;
B12、根据计算出的Ai和每个虚拟机实例的成本Pi计算相应的总成本Ci,Ci的计算公式为:
设外部输入的每种虚拟机规格为i(i=1,2,3,…,N)、每种资源为j(j=1,2,3,…,M),N、M均为自然数,相应地每个虚拟机实例所提供的资源为 i={ i,j},每个虚拟机实例的成本为Pj;所需的计算资源总量为E={Ej}。
其中,所需的计算资源总量E是由多个子项Ej组成的,例如,E0=需要2个CPU核心,E1=需要1024MiB内存;每虚拟机实例所提供的资源Ri是由多个子项 i,j组成的,例如,Ri0=提供1个CPU核心,Ri1=提供256MiB内存。因此,要满足所需计算资源总量E,则需要满足所有子项Ej,相应地,满足E的虚拟机实例数Ai为:。在上例中,E0/Ri0=2,E1/Ri1=4,若Ai取2,可以满足CPU需求但无法满足内存需求,只有Ai当取计算结果中的最大值4时,才可以满足所需计算资源总量E。
参照图4,进一步作为优选的实施方式,所述步骤B4,其包括:
B41、在所有未被标记为已处理的虚拟机规格中,取出与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
B42、在所有已处理的虚拟机规格中,依次查找是否存在满足资源需求量,且总成本比所述取出的虚拟机规格所对应的总成本更高的虚拟机规格,若存在,则用所述取出的虚拟机规格所对应的虚拟机实例来替代该已处理的虚拟机规格所对应的虚拟机实例,并在标记所述取出的虚拟机规格为已处理后重新执行步骤B41;反之,则直接执行步骤C。
其中,最终得到的虚拟机数量和总成本为最后一次替换时所述取出的虚拟机规格的实例数及相应的总成本,而用户或自动调用模块根据计算出的结果选择的虚拟机组合能以较低的成本和较少的虚拟机数量来满足资源需求,能降低用户的成本和提供用户的选择效率。
下面结合具体的例子,对本发明的虚拟机选择过程作进一步介绍。
设有三种虚拟机规格(虚拟机规格1、2、3),分别提供1个CPU核心和256MB内存、2个CPU核心及512MB内存、2个CPU核心及384MB内存,使用成本分别为1元/(虚拟机实例•小时)、3元/(虚拟机实例•小时)、2元/(虚拟机实例•小时),所需的计算资源总量E为2CPU核心及256MB内存。其进行虚拟机选择的计算过程如下:
首先,计算出仅用虚拟机规格1、2、3中的一种满足E所需的实施例数,此处计算出虚拟机规格1、2、3分别需要2、1、1个虚拟机实例。
其次,取出所需实例数最少的那种虚拟机规格及实例数(即选择虚拟机规格2或3均可),并标记取出的虚拟机规格为已处理,若全部虚拟机规格均已处理,则计算过程结束。本例中取出虚拟机规格2及1个虚拟机实例,相应的总成本为3元。
接着,在所有未被标记为已处理的虚拟机规格(虚拟机规格1和3),选择本轮开始时计算出的该种虚拟机规格来满足E所需的虚拟机实例数最小的虚拟机规格。本例中选择的规格为虚拟机规格3。
然后,采用改进的下降迭代算法依次查找在所有已处理的虚拟机规格中,是否存在一种虚拟机规格满足其在被替换后的虚拟机实例能满足E且成本更低;若存在,则以上述选择的未处理的虚拟机规格(虚拟机规格3)的1个虚拟机实例替换该已处理的虚拟机规格的1个虚拟机实例。本例中,以虚拟机规格3的1个实例,替换虚拟机规格2的1个实例,仍能满足资源需求,且成本更低,因此,使用虚拟机规格3的1个实例,替换虚拟机规格2的1个实例。接着,重复上述替换过程,直至无法替换后结束整个计算过程。在本例中,最终发送给用户或自动调度模块的虚拟机数量为1个,总成本为2元,虚拟机的规格为3。
参照图5,一种基础设施云资源分配过程中的虚拟机选择系统,包括:
获取模块,用于获取输入的虚拟机参数和所需的计算资源总量;
自动计算模块,用于根据获取的虚拟机参数和所需的计算资源总量,自动计算满足所需的计算资源总量的虚拟机数量和总成本;
输出模块,用于将计算出的虚拟机数量和总成本发送给用户或自动调度模块;
所述获取模块的输出端通过自动计算模块进而与输出模块的输入端连接。
参照图6,进一步作为优选的实施方式,所述自动计算模块包括:
实例数与成本计算单元,用于对每种虚拟机规格进行计算,从而计算出仅使用任一种规格的虚拟机来满足资源需求量时所需的虚拟机实例数及相应的总成本;
取数与标记单元,用于根据计算的结果取出最大的虚拟机规格并标记该种虚拟机规格为已处理,所述最大的虚拟机规格为与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
比较单元,用于判断是否所有的虚拟机规格均被标记为已处理,若是,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,转至输出模块,反之,则转至迭代寻优单元;
迭代寻优单元,用于在所有未被标记为已处理的虚拟机规格中,寻找是否有满足资源需求量,且总成本比被标记为已处理的虚拟机规格的总成本更低的虚拟机规格;若有,则采用改进的下降迭代算法对被标记为已处理的虚拟机规格进行逐次替换,从而得到虚拟机数量及相应的总成本;反之,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,转至输出模块;
所述实例数与成本计算单元的输入端与获取模块的输出端连接,所述实例数与成本计算单元的输出端通过取数与标记单元和比较单元进而与迭代寻优单元的输入端连接,所述迭代寻优单元的输出端与输出模块的输入端连接。
参照图7,进一步作为优选的实施方式,所述迭代寻优单元包括:
取数子单元,用于在所有未被标记为已处理的虚拟机规格中,取出与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
替换子单元,用于在所有已处理的虚拟机规格中,依次查找是否存在满足资源需求量,且总成本比所述取出的虚拟机规格所对应的总成本更高的虚拟机规格,若存在,则用所述取出的虚拟机规格所对应的虚拟机实例来替代该已处理的虚拟机规格所对应的虚拟机实例,并在标记所述取出的虚拟机规格为已处理后重新转至取数子单元;反之,则直接转至输出模块;
所述取数子单元的输入端与比较单元的输出端连接,所述取数子单元的输出端通过替换子单元进而与输出模块的输入端连接。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (3)

1.一种基础设施云资源分配过程中的虚拟机选择方法,其特征在于包括:
A、获取输入的虚拟机参数和所需的计算资源总量;
B、根据获取的虚拟机参数和所需的计算资源总量,自动计算满足所需的计算资源总量的虚拟机数量和总成本;
C、将计算出的虚拟机数量和总成本发送给用户或自动调度模块;
所述的虚拟机参数包括每种虚拟机规格、每个虚拟机实例、每个虚拟机实例所提供的资源和每个虚拟机实例的成本;
所述步骤B,其包括:
B1、对每种虚拟机规格进行计算,从而计算出仅使用任一种规格的虚拟机来满足资源需求量时所需的虚拟机实例数及相应的总成本;
B2、根据计算的结果取出最大的虚拟机规格并标记该种虚拟机规格为已处理,所述最大的虚拟机规格为与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
B3、判断是否所有的虚拟机规格均被标记为已处理,若是,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,执行步骤C,反之,则执行步骤B4;
B4、在所有未被标记为已处理的虚拟机规格中,寻找是否有满足资源需求量,且总成本比被标记为已处理的虚拟机规格的总成本更低的虚拟机规格;若有,则采用改进的下降迭代算法对被标记为已处理的虚拟机规格进行逐次替换,从而得到虚拟机数量及相应的总成本;反之,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,执行步骤C;
所述步骤B4,其包括:
B41、在所有未被标记为已处理的虚拟机规格中,取出与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
B42、在所有已处理的虚拟机规格中,依次查找是否存在满足资源需求量,且总成本比所述取出的虚拟机规格所对应的总成本更高的虚拟机规格,若存在,则用所述取出的虚拟机规格所对应的虚拟机实例来替代该已处理的虚拟机规格所对应的虚拟机实例,并在标记所述取出的虚拟机规格为已处理后重新执行步骤B41;反之,则直接执行步骤C。
2.根据权利要求1所述的一种基础设施云资源分配过程中的虚拟机选择方法,其特征在于:所述步骤B1,其包括:
B11、对每种虚拟机规格进行计算,从而计算出仅使用任一种规格的虚拟机来满足资源需求量时所需的虚拟机实例数,而其计算公式如下:
式中,Ai为仅使用第i种规格的虚拟机来满足资源需求量时所需的虚拟机实例数,E为资源需求量,max函数为最大值求取函数,Ri为每个虚拟机实例所提供的资源,i=1,2,3,…,N,N为自然数;
B12、根据计算出的Ai和每个虚拟机实例的成本Pi计算相应的总成本Ci,Ci的计算公式为:
3.一种基础设施云资源分配过程中的虚拟机选择系统,其特征在于包括:
获取模块,用于获取输入的虚拟机参数和所需的计算资源总量;
自动计算模块,用于根据获取的虚拟机参数和所需的计算资源总量,自动计算满足所需的计算资源总量的虚拟机数量和总成本;
输出模块,用于将计算出的虚拟机数量和总成本发送给用户或自动调度模块;
所述获取模块的输出端通过自动计算模块进而与输出模块的输入端连接;
所述自动计算模块包括:
实例数与成本计算单元,用于对每种虚拟机规格进行计算,从而计算出仅使用任一种规格的虚拟机来满足资源需求量时所需的虚拟机实例数及相应的总成本;
取数与标记单元,用于根据计算的结果取出最大的虚拟机规格并标记该种虚拟机规格为已处理,所述最大的虚拟机规格为与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
比较单元,用于判断是否所有的虚拟机规格均被标记为已处理,若是,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,转至输出模块,反之,则转至迭代寻优单元;
迭代寻优单元,用于在所有未被标记为已处理的虚拟机规格中,寻找是否有满足资源需求量,且总成本比被标记为已处理的虚拟机规格的总成本更低的虚拟机规格;若有,则采用改进的下降迭代算法对被标记为已处理的虚拟机规格进行逐次替换,从而得到虚拟机数量及相应的总成本;反之,则以最大的虚拟机规格所对应的虚拟机实例数作为计算出的虚拟机数量,以最大的虚拟机规格所对应的总成本作为计算出的总成本,转至输出模块;
所述实例数与成本计算单元的输入端与获取模块的输出端连接,所述实例数与成本计算单元的输出端通过取数与标记单元和比较单元进而与迭代寻优单元的输入端连接,所述迭代寻优单元的输出端与输出模块的输入端连接;
所述迭代寻优单元包括:
取数子单元,用于在所有未被标记为已处理的虚拟机规格中,取出与计算出的最小所需的虚拟机实例数相对应的虚拟机规格;
替换子单元,用于在所有已处理的虚拟机规格中,依次查找是否存在满足资源需求量,且总成本比所述取出的虚拟机规格所对应的总成本更高的虚拟机规格,若存在,则用所述取出的虚拟机规格所对应的虚拟机实例来替代该已处理的虚拟机规格所对应的虚拟机实例,并在标记所述取出的虚拟机规格为已处理后重新转至取数子单元;反之,则直接转至输出模块;
所述取数子单元的输入端与比较单元的输出端连接,所述取数子单元的输出端通过替换子单元进而与输出模块的输入端连接。
CN201310255858.8A 2013-06-19 2013-06-19 一种基础设施云资源分配过程中的虚拟机选择方法及系统 Active CN103338246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310255858.8A CN103338246B (zh) 2013-06-19 2013-06-19 一种基础设施云资源分配过程中的虚拟机选择方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310255858.8A CN103338246B (zh) 2013-06-19 2013-06-19 一种基础设施云资源分配过程中的虚拟机选择方法及系统

Publications (2)

Publication Number Publication Date
CN103338246A CN103338246A (zh) 2013-10-02
CN103338246B true CN103338246B (zh) 2016-08-10

Family

ID=49246340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310255858.8A Active CN103338246B (zh) 2013-06-19 2013-06-19 一种基础设施云资源分配过程中的虚拟机选择方法及系统

Country Status (1)

Country Link
CN (1) CN103338246B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853599B (zh) * 2014-03-17 2017-10-03 北京京东尚科信息技术有限公司 一种节点计算能力的扩展方法
US9471775B1 (en) * 2015-02-04 2016-10-18 Amazon Technologies, Inc. Security protocols for low latency execution of program code
CN105224392B (zh) * 2015-10-13 2018-07-27 中国联合网络通信集团有限公司 一种虚拟计算资源配额管理方法及平台
CN110245005B (zh) * 2019-06-21 2021-05-25 中国人民解放军陆军工程大学 一种云训练平台

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694633A (zh) * 2009-09-30 2010-04-14 曙光信息产业(北京)有限公司 计算机作业调度设备、方法及系统
CN102339444A (zh) * 2010-07-27 2012-02-01 戴元顺 云超市系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671407B2 (en) * 2011-07-06 2014-03-11 Microsoft Corporation Offering network performance guarantees in multi-tenant datacenters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694633A (zh) * 2009-09-30 2010-04-14 曙光信息产业(北京)有限公司 计算机作业调度设备、方法及系统
CN102339444A (zh) * 2010-07-27 2012-02-01 戴元顺 云超市系统

Also Published As

Publication number Publication date
CN103338246A (zh) 2013-10-02

Similar Documents

Publication Publication Date Title
CN105824957B (zh) 分布式内存列式数据库的查询引擎系统及查询方法
CN103761146B (zh) 一种MapReduce动态设定slots数量的方法
CN106385329B (zh) 资源池的处理方法、装置和设备
US9449018B1 (en) File operation task optimization
CN107526645B (zh) 一种通信优化方法及系统
US20120284730A1 (en) System to provide computing services
CN103338246B (zh) 一种基础设施云资源分配过程中的虚拟机选择方法及系统
CN104281496A (zh) 虚拟资源的分配方法及分配装置
CN106919449A (zh) 一种计算任务的调度控制方法及电子设备
CN106598705A (zh) 一种异步任务的调度方法、装置、系统以及电子设备
CN106033373A (zh) 一种云计算平台中虚拟机资源调度方法和调度系统
CN103605662A (zh) 一种分布式计算框架参数优化方法、装置及系统
CN105808323A (zh) 一种虚拟机创建方法及系统
CN103873587B (zh) 一种基于云平台实现调度的方法及装置
CN104765589A (zh) 基于mpi的网格并行预处理方法
CN105488134A (zh) 大数据处理方法及大数据处理装置
CN104881322A (zh) 一种基于装箱模型的集群资源调度方法及装置
CN105677763A (zh) 一种基于Hadoop的图像质量评估系统
US9898061B2 (en) Resource capacity management in a cluster of host computers using power management analysis
CN109726004A (zh) 一种数据处理方法及装置
CN107291720A (zh) 一种实现批量数据处理的方法、系统和计算机集群
Wang et al. Task scheduling algorithm based on improved Min-Min algorithm in cloud computing environment
CN105930417A (zh) 一种基于云计算的大数据etl交互式处理平台
CN115495221A (zh) 一种数据处理系统及方法
CN113010315A (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
C14 Grant of patent or utility model
GR01 Patent grant