一种虚拟机应用分配部署算法

文档序号:10612669阅读:376来源:国知局
一种虚拟机应用分配部署算法
【专利摘要】本发明涉及云计算技术领域,特别是一种虚拟机应用分配部署算法。本发明首先云计算平台接收来自用户的请求,将各个应用资源请求进行解析并放入请求队列中;然后根据各个应用资源需求与各个虚拟机类型进行匹配;然后选出与应用资源请求匹配度最接近的虚拟机类型;然后从所有具有最佳匹配度的那类虚拟机中,选出当前正在运行的某个虚拟机实例,如果该虚拟机实例已经运行有其它的应用,并且该虚拟机实例既能满足应用资源需求,并且在运行应用资源需求后,该实例上运行的总资源负载最接近该类型虚拟机所设定的容量;则将应用资源请求添加到该实例上逐个运行其任务。本发明提出的虚拟机应用分配部署算法在保证满足用户服务质量的同时,提高了虚拟化资源利用率,减少资源浪费,降低成本;可以用于虚拟机的应用分配。
【专利说明】
一种虚拟机应用分配部署算法
技术领域
[0001] 本发明涉及云计算技术领域,特别是一种虚拟机应用分配部署算法。
【背景技术】
[0002] 目前主流云计算供应商,如Amazon和IBM使用的是单虚拟机服务单用户的虚拟化 资源配置模式。即在特定时间范围内,一台虚拟机只对某个特定用户提供服务,而不考虑当 前资源使用情况;从而出现任务提前完成但空闲的资源却不能被利用导致浪费的情况,降 低了资源使用效率,增加了不必要的能源消耗。

【发明内容】

[0003] 本发明解决的技术问题在于提供一种虚拟机应用分配部署算法;本发明在不影响 服务质量的前提下,在单台虚拟机上运行不同用户的应用,从而提高资源使用效率。
[0004] 本发明解决上述技术问题的技术方案是:
[0005] 所述的方法包括以下步骤:
[0006] 步骤1:云计算平台接收来自用户的请求,将各个应用资源请求进行解析并放入请 求队列中;
[0007] 步骤2:根据各个应用资源需求与各个虚拟机类型进行匹配;
[0008] 步骤3:选出与应用资源请求匹配度最接近的虚拟机类型;即选择具有匹配度最高 的虚拟机中的虚拟化资源来对请求进行服务;
[0009] 步骤4:从所有具有最佳匹配度的那类虚拟机中,选出当前正在运行的某个虚拟机 实例;
[0010] 步骤5:如果该虚拟机实例已经运行有其它的应用,并且该虚拟机实例能满足应用 资源需求,在运行应用资源需求后,该实例上运行的总资源负载最接近该类型虚拟机所设 定的容量;则将应用资源请求添加到该实例上逐个运行其任务。
[0011] 所述虚拟机类型指的是4种基本资源:CPU,内存(Memory),存储空间(Disk)以及带 宽(I/O Bandwidth)的组合。
[0012] 所述应用资源需求与虚拟机类型匹配指的是计算应用资源请求与平台提供的每 种特定的虚拟机中所含的虚拟化资源的匹配度,匹配度指的是应用资源请求与平台中虚拟 机类型中4种基本资源的综合量化值。
[0013] 所述应用分配部署算法具体步骤如下:
[0014] 步骤1:假设应用资源请求Reqi表示为
[0015]
[0016] 这些任务在云计算平台中按序逐个完成,其中i = l,2,…,I,k=l,2,…,N;I是云 计算用户数;
[0017] 云计算平台提供Μ种类型的虚拟化资源,即Μ种虚拟机类型来满足用户的应用资源 需求,每种虚拟机提供包含有特定容量大小的四个基本资源:CPU,内存(Memory ),存储空间 (Disk)以及带宽(I/O Bandwidth),则虚拟机类型VMj= {CPUj,Memoryj,Diskj,I/Oj},其中 j = 1,2,···,Μ;
[0018] 应用资源请求最终被解释成上述4中基本资源;VMj为虚拟机类型;
[0019] 步骤2:计算应用资源请求与平台提供的每种特定的虚拟机类型中所含的虚拟化 资源的匹配度如下:
[0020]
[0021]其中D(i,j)为应用资源请求Reqi与特定的虚拟机类型VM」中所含的虚拟化资源的 匹配度;?^将、腳ry、和'?>/&分别是应用资源请求Reqi所需的CPU,Memory,Disk以 及I/O的资源量;4%·、厂别是第j类虚拟机VMj所设定的CPU, Memory,Disk以及I/O的资源量;c〇CPU、coMemraT、ω Disl^P ω〗/〇则是Reqi中对四种资源需求的不 同比例;
[0022] 步骤3:选出与应用资源请求Reqi匹配度最接近的虚拟机类型VM」,即选择具有最小 Minimum(D( i,j))的虚拟机中的虚拟化资源来对Reqi进行服务;
[0023] 步骤4:从所有具有Minimum(D( i,j))的那类虚拟机VMj中,选出当前正在运行的某 个实例,而该实例已经运行有其它的应用,即符合要求,把应用部署到这个虚拟机实例上。 [0024]本发明能达到如下的有益效果:
[0025] 1、本发明方法是一种精确分配的算法,能够找到与应用资源请求最接近的虚拟机 实例,避免虚拟机的配置过高导致的资源浪费。
[0026] 2、本发明方法能提高虚拟机的利用率,降低每个应用的运行成本。
【附图说明】
[0027]下面结合附图对本发明进一步说明:
[0028]图1为本发明的流程图;
[0029]图2为本发明实施方式的示意图。
【具体实施方式】
[0030]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0031]如图1、2所示,本发明首先,利用开源云计算平台OpenStack构建一种公有云架构, 使用KVM虚拟机,本在KVM宿主机中安全Nova组件,该组件能够使得该云计算平台完成包括 用户请求管理、虚拟机配置、资源类型定义等在内的一系列工作。
[0032]该云计算环境配置有10台相同的服务器,其中一台被设为Nova控制器,用于处理 云计算用户资源请求以及各虚拟机的配置。剩余9台服务器被设定为计算节点,机用来服务 云计算用户。
[0033] 虚拟机类型设4种,分别是微型虚拟机、小型虚拟机、中型虚拟机及大型虚拟机。
[0034] 虚拟化资源配置模式为单虚拟机服务单用户和单虚拟机服务多用户,其中单虚拟 机服务单用户虚拟化资源配置模式如图2所示,在Nova控制器识别用户需求类型并分配相 应的虚拟机后,在设定的时间段内只对一个用户服务,不管任务完成与否;而单虚拟机服 务多用户虚拟化资源配置模式如图2所示,Nova控制器在识别用户需求类型后,需要按照上 述算法选出当前正在运行的某个实例。
[0035] 选择的标准为该实例既能满足该用户应用资源需求,并且在运行该应用后,实例 上运行的总资源负载最接近该类型虚拟机所设定的容量。
[0036] 在所搭建的云平台下,对以上两种虚拟化资源配置方式在资源耗费、服务性能、平 均服务等待时间上进行全面的比较。单虚拟机服务多用户虚拟化资源配置模式相比于目前 基于单虚拟机服务单用户的虚拟化资源配置模式在保证服务质量的前提下,更能够节省资 源,提高云计算资源利用率。
【主权项】
1. 一种虚拟机应用分配部署算法,其特征在于:所述的方法包括W下步骤: 步骤1:云计算平台接收来自用户的请求,将各个应用资源请求进行解析并放入请求队 列中. 步骤2:根据各个应用资源需求与各个虚拟机类型进行匹配; 步骤3:选出与应用资源请求匹配度最接近的虚拟机类型;即选择具有匹配度最高的虚 拟机中的虚拟化资源来对请求进行服务; 步骤4:从所有具有最佳匹配度的那类虚拟机中,选出当前正在运行的某个虚拟机实 例; 步骤5:如果该虚拟机实例已经运行有其它的应用,并且该虚拟机实例能满足应用资源 需求,在运行应用资源需求后,该实例上运行的总资源负载最接近该类型虚拟机所设定的 容量;则将应用资源请求添加到该实例上逐个运行其任务。2. 根据权利要求1所述的方法,其特征在于,所述虚拟机类型指的是4种基本资源:CPU, 内存(16111〇巧),存储空间(0131〇^及带宽(1/0 6日]1(1*;[化11)的组合。3. 根据权利要求2所述的方法,其特征在于,所述应用资源需求与虚拟机类型匹配指的 是计算应用资源请求与平台提供的每种特定的虚拟机中所含的虚拟化资源的匹配度,匹配 度指的是应用资源请求与平台中虚拟机类型中4种基本资源的综合量化值。4. 根据权利要求1至3任一项所述的方法,其特征在于,所述应用分配部署算法具体步 骤如下: 步骤1:假设应用资源请求Reqi表示为运些任务在云计算平台中按序逐个完成,其中i = l,2,…,I,k=l,2,…,N;I是云计算 用户数; 云计算平台提供Μ种类型的虚拟化资源,即Μ种虚拟机类型来满足用户的应用资源需 求,每种虚拟机提供包含有特定容量大小的四个基本资源:CPU,内存(Memory ),存储空间 (Disk) W及带宽(I/O Bandwidth),则虚拟机类型VMj= {CPUj,Memo巧j,Diskj,I/Oj},其中占· = 1,2, Μ; 应用资源请求最终被解释成上述4中基本资源;VMj为虚拟机类型; 步骤2:计算应用资源请求与平台提供的每种特定的虚拟机类型中所含的虚拟化资源 的匹配度如下:其中D(i,j)为应用资源请求Reqi与特定的虚拟机类型VMj中所含的虚拟化资源的匹配 度;馬品、%纖〇巧、语品和巧之分别是应用资源请求Reqi所需的CPU,Memo巧,DiskW及1/ 0的资源量;'记^^、於?!〇·〇7、每娩/和气!''巧分别是第j类虚拟机VM茄设定的CPU, Memo巧,Di sk W及I /0的资源量;ω CPU、ω Memory、ω Disk和ω 1/日则是Re化中对四种资源需求的不 同比例; 步骤3:选出与应用资源请求Reqi匹配度最接近的虚拟机类型VMj,即选择具有最小 Minimum(D( i,j))的虚拟机中的虚拟化资源来对Reqi进行服务; 步骤4:从所有具有Minimum(D(i,j))的那类虚拟机VMj中,选出当前正在运行的某个实 例,而该实例已经运行有其它的应用,即符合要求,把应用部署到运个虚拟机实例上。
【文档编号】G06F9/50GK105975340SQ201610173444
【公开日】2016年9月28日
【申请日】2016年3月24日
【发明人】莫展鹏, 杨松, 季统凯
【申请人】国云科技股份有限公司, 国家信息中心, 东莞中国科学院云计算产业技术创新与育成中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1