CN106020933A - 基于超轻量虚拟机的云计算动态资源调度系统及方法 - Google Patents
基于超轻量虚拟机的云计算动态资源调度系统及方法 Download PDFInfo
- Publication number
- CN106020933A CN106020933A CN201610334927.8A CN201610334927A CN106020933A CN 106020933 A CN106020933 A CN 106020933A CN 201610334927 A CN201610334927 A CN 201610334927A CN 106020933 A CN106020933 A CN 106020933A
- Authority
- CN
- China
- Prior art keywords
- resource
- application example
- virtual
- utilization rate
- node
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于超轻量虚拟机的云计算动态资源调度系统及方法,从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,以预测一个应用实例的虚拟资源到达使用率上限的时间;根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;按照排序的顺序,将任务排队模块中选取的应用实例调度给需求者,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。本发明更高效实现资源均衡使用,实现在低耗下获得满意的负载均衡,提高资源调度的综合效率。
Description
技术领域
本发明涉及一种基于超轻量虚拟机的云计算动态资源调度系统及方法。
背景技术
在超轻量虚拟机Docker(以下简称Docker)发展之前,如我们所知,要对公司人员进行一项上机培训,需要先寻找合适的机房,购买必需的设备,再为该设备安装所需培训的内容,然后才能进行正常培训。设备及培训的内容在这里就是整个培训过程依赖的环境,公司人员与环境是强相关的。假如环境由运维工程师维护,一旦环境有所变化,直接导致运维工程师需要重新更换设备或培训内容,运维成本高,内耗与风险大。
Docker的发展,创造性的解决了这个难题。它把应用实例及其依赖环境打包到一个可移植容器中,可以发布到任何流行的Linux机器上。当下已有Swarm、kubernetes等基于Docker的容器管理工具,都是官方封装的实现固定功能的工具,适合于公司企业开发严格规范的大型项目。有了Docker,开发、运维人员就可以以容器为单位整体式地管控整个开发、运维流程,帮助开发过程中实现一处开发、多处运行。
虽然Docker有效解决上述问题,但在实际应用过程中又引入另一个问题,即Docker本身并不具备资源调度的功能,然而在现实中资源调度又是不可或缺的。例如在B2C(Business-to-Customer)业务场景下,当用户大量访问网页时,数据库将执行大量查询、插入、删除等操作。基于互联网的访问请求是不可预测的,如果所有的应用实例分配的资源不再改变,那么在访问达到峰值时,资源因为消耗的快速增长,而造成网页访问延迟,用户体验下降等负面影响。
实际中,一个应用实例的资源利用率是时刻变化的,若分配的资源一成不变,必然导致资源利用率不高的后果,类似访问网页的应用实例就会出现延迟响应速度。因此要求应用实例的资源不应该是一成不变的,必须是可调度、可再分配的。如何实现这一要求,成为本领域一个急需解决的问题。
发明内容
本发明为了解决上述问题,提出了一种基于超轻量虚拟机的云计算动态资源调度系统及方法,本发明可有效解决现有技术中存在的虚拟机的资源可调度、可再分配的效果不理想,资源利用率低等问题。
为了实现上述目的,本发明采用如下技术方案:
一种基于超轻量虚拟机的云计算动态资源调度系统,包括资源预测模块、任务排队模块和资源调度模块,其中:
所述资源预测模块,从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,以预测一个应用实例的虚拟资源到达使用率上限的时间;
所述任务排队模块,根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;
所述资源调度模块,包括交替进行操作的资源动态分配模块和资源回收模块,所述资源动态分配模块,按照排序的顺序,将任务排队模块中选取的应用实例调度给需求者,所述资源回收模块,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。
所述资源动态分配模块对于应用实例的调度包括节点内调度,即同一节点之内,在该节点的资源足够满足资源动态分配任务需求的资源的情况下,就在节点内执行资源动态分配。
所述资源动态分配模块对于应用实例的调度包括节点之间调度,不同节点之内,在该节点的资源无法满足资源动态分配任务需求的资源的情况下,就将该应用实例在另一个空闲的节点上执行。
所述虚拟资源包括虚拟处理机和虚拟内存。
所述节点为每个安装有超轻量虚拟机的物理机。
所述每一个应用实例的虚拟资源都有使用率上限和下限。使用率是指应用实例使用的虚拟资源占用分配给应用实例的虚拟资源的百分比。上限是指虚拟资源使用率的最大值。下限是指虚拟资源使用率的最小值。
一种基于超轻量虚拟机的云计算动态资源调度方法,包括以下步骤:
(1)根据从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,预测一个应用实例的虚拟资源到达使用率上限的时间;
(2)根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;
(3)按照排序顺序,根据从云计算环境中收集各应用实例的虚拟资源指标,将任务排队模块中选取的应用实例调度给需求者,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。
所述步骤(1)中,实时获取应用实例在一段时间之内各项虚拟资源指标,根据拟合函数计算预测值与真实值之间的误差,选择误差最小的预测函数作为最终使用的预测函数,通过选定的预测函数,计算应用实例虚拟资源到达使用率上限的时间,按照时间对所有应用实例进行排序。
优选的,所述步骤(1)中,对于虚拟处理机和虚拟内存两种不同的虚拟资源,进行不同的预测,计算应用实例相应的虚拟资源到达使用率上限的时间。
所述步骤(1)中,对于虚拟处理机的资源预测过程具体包括:
(1-1)记录每个时刻采样的每个应用实例的虚拟处理机的使用率,通过线性拟合构造虚拟处理机使用率与时间的线性拟合函数,计算每个应用实例的虚拟处理机使用率的观察值和预测值的误差之和;
(1-2)通过二次拟合来求出应用实例的虚拟处理机使用率与时间的拟合函数,计算应用实例的虚拟处理机使用率的观察值和预测值的误差之和;
(1-3)比较两个误差之和,选择误差之和较小的结果所对应的拟合函数为最终预测函数;
(1-4)利用拟合函数预测每个应用实例虚拟处理机使用率到达使用率上限的时间,对所有应用实例,按照求取的时间进行从小到大的排序。
所述步骤(1)中,对于虚拟内存的资源预测过程具体步骤包括:
(1.1)通过线性拟合求出每个应用实例的虚拟内存使用率与时间的线性拟合函数,计算应用实例的虚拟内存使用率的观察值和预测值的误差之和;
(1.2)通过二次拟合来求出应用实例的虚拟内存使用率与时间的拟合函数,计算应用实例的虚拟内存使用率的观察值和预测值的误差之和;
(1.3)比较两个误差之和,选择误差之和较小的结果所对应的拟合函数为最终预测函数,以预测各个应用实例的虚拟内存使用率到达使用率上限的时间;
(1.4)对所有应用实例按照求取的时间进行从小到大的排序。
所述步骤(1)中,对虚拟处理机的资源预测结果和虚拟内存的资源预测结果进行整合,确认最终的排序方案。
所述步骤(2)中,根据SLA协议,考虑当应用实例遇到资源问题时处理的优先级,对形成的排序方案进行重新的排序,确定最终的资源动态分配的顺序。
所述步骤(3)中,在排序方案中选择顺序排在第一位的应用实例作为资源动态分配任务的目标应用,根据各个应用实例虚拟资源使用率的下限,判断是否存在应用实例可被回收资源。
所述步骤(3)中,若存在某应用实例的虚拟处理机的使用率下限大于其一段时间之内的平均虚拟处理机使用率,且该应用实例的虚拟内存使用率大于其在一段时间之内的平均虚拟内存使用率,则资源回收的准则为:
cid<=(Ci-ΔC)/Ci<=ciu
mid<=(Mi-ΔM)/Mi<=miu
Ci代表已经分配给应用实例i的虚拟处理机资源大小,Mi代表已经分配给应用实例i的虚拟内存资源大小,ΔC代表应用实例i要被回收的处理机资源大小,ΔM代表应用实例i要被回收的内存资源大小,ciu代表应用实例i的虚拟cpu使用率上限,miu代表应用实例i的虚拟内存使用率上限,cid代表应用实例i的虚拟cpu使用率下限,mid代表应用实例i的虚拟内存使用率下限。
所述步骤(3)中,获取每个节点的可分配的虚拟物理资源,比较资源动态分配任务所需的资源节点的可分配的物理资源的大小:若资源动态分配任务所需的资源小于或等于节点的可分配的物理资源,则进行节点内调度,否则,先执行资源回收任务,查看回收的资源能否满足资源动态分配任务的需求,若能,则进行节点内调度;若不能,则进行节点间调度。
所述步骤(3)中,节点间调度的具体方法为寻找到一个可分配资源满足资源动态分配任务的需求的节点,在这个节点上新建一个应用实例。
进一步的,新增资源后,需要达到以下要求:
其中,分配的虚拟处理机记为ΔC,分配的虚拟内存记为ΔM,应用实例i实际分配的处理机记为Ci,应用实例i实际分配的内存为Mi,a为设定系数,小于等于1,应用实例i使用的处理机记为Cir,应用实例i使用的内存为Mir。
本发明的有益效果为:
(1)本发明通过对资源预测、排队,实现有顺序的资源调度和动态分配与资源回收,改进现有资源调度方法,更高效实现资源均衡使用,实现在低耗下获得满意的负载均衡,提高资源调度的综合效率;
(2)本发明在资源调度过程中,将资源预测模块预测的结果考虑进去,有选择性的进行资源分配和回收,优化云计算平台资源动态调度,使整个系统的资源分配更加合理。
附图说明
图1为本发明的系统调度示意图;
图2为本发明的动态资源调度算法的流程图。
具体实施方式:
下面结合附图与实施例对本发明作进一步说明。
本发明针对应用实例的资源可调度、可再分配的效果不理想,资源利用率低等问题,提出一种基于Docker的云计算动态资源调度系统,具体来说:
一是借助Docker平台,通过创建容器、应用实例及其依赖包,最大限度地降低云计算环境中资源消耗。
二是结合同用户签订的SLA协议(服务等级协议)和资源预测模块预测的时间,对应用实例进行任务排序,以确保不同等级用户和服务提供商签订的服务等级不同时,可以享受到不同等级的服务保障,同时使整体资源在同等时间内达到利用价值的最大化。
在应用实例运行过程中实时监测应用实例的各项性能指标,预测所有应用实例资源到达使用率阈值的时间,当任务请求到来时,根据SLA协议对应用实例进行任务排序并选择出最适合的应用实例进行调度。
具体包括:
资源预测模块:用于从云计算环境中收集各应用实例的虚拟资源指标,预测应用实例的虚拟资源(虚拟cpu和虚拟内存)到达使用率上限的时间。每一个应用实例的虚拟资源都有一个使用率的上限和下限。
任务排队模块:结合与用户签订的SLA协议和资源预测模块预测的时间,对应用实例进行任务排序。这里只对资源动态分配的任务进行任务排队。
资源调度模块:分为两个子模块,资源动态分配模块和资源回收模块。资源动态分配和资源回收交替执行。
资源动态分配模块:用于将任务排队模块选取的应用实例调度给需求者,实现资源的智能分配。分为节点内调度和节点之间调度。
资源回收模块:用于回收应用实例虚拟资源使用率已经超出下限的虚拟资源。
节点内调度:用于同一节点之内,在该节点的资源足够满足资源动态分配任务需求的资源的情况下,就在节点内执行资源动态分配。
节点之间调度:用于不同节点之内,在该节点的资源无法满足资源动态分配任务需求的资源的情况下,就将该应用实例在另一个空闲的节点上执行。
具体的,所有的虚拟资源分为两大类:虚拟cpu和虚拟内存。
具体的,一台物理机上安装一个Docker引擎,叫做一个节点。
具体的,Docker是一种轻量级虚拟机。
具体的,对一个应用实例进行资源动态分配或资源回收的过程称作一个任务。
具体的,任务主要分为资源动态分配任务和资源回收任务。
具体的,每一个应用实例的虚拟资源都有使用率上限和下限。使用率是指应用实例使用的虚拟资源占用分配给应用实例的虚拟资源的百分比。上限是指虚拟资源使用率的最大值。下限是指虚拟资源使用率的最小值。
具体的,资源预测模块预测到达使用率上限时间的方法是:
根据从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数(线性拟合和二次拟合函数),使用误差最小的预测函数作为该应用实例的预测函数,接着用选定的预测函数预测出一个应用实例的虚拟资源到达使用率上限的时间。
具体的,任务排队模块任务排队的方法是:
结合与用户签订的SLA协议和资源预测模块预测的时间,对应用实例进行任务排序。这里只对资源动态分配的任务进行任务排队。
具体的,资源回收模块的方法是:
根据从云计算环境中收集各应用实例的虚拟资源指标,判断虚拟资源使用率是否已经小于规定的使用率下限。若小于规定的使用率下限,就对虚拟资源进行回收;若大于或等于规定的使用率下限,对此应用实例不执行回收资源操作。
具体的,资源调度(资源动态分配任务和资源回收任务的交替执行)方法:
判断节点所剩余的空闲资源是否满足资源动态分配任务,若能,则资源动态分配任务和资源回收任务同时执行;若不能,则先执行资源回收任务,再执行资源动态分配任务。
此外,本发明的动态资源调度方法,包括以下实现步骤:
a.根据从云计算环境中收集各应用实例的虚拟资源指标,通过虚拟资源预测模块,预测出一个应用实例的虚拟资源到达使用率上限的时间。
b.结合与用户签订的SLA协议和资源预测模块预测的时间,通过任务排队模块对应用实例进行任务排序。
c.根据从云计算环境中收集各应用实例的虚拟资源指标,通过资源回收模块判断出可以被回收虚拟资源的应用实例。
d.执行资源调度模块,交替执行资源动态分配任务和资源回收任务。
如图1所示,本发明中的动态资源调度系统包括资源预测模块103、任务排队模块104、资源调度模块105。
资源预测模块103,用于从云计算环境中收集各应用实例的虚拟资源指标,预测一个应用实例的虚拟资源到达使用率上限的时间。每一个应用实例的虚拟资源都有一个使用率上限和下限。
任务排队模块104:结合与用户签订的SLA协议和资源预测模块103预测的时间,对应用实例进行任务排序。这里只对要进行资源动态分配的任务进行任务排队。
资源调度模块105:分为两个子模块,资源动态分配模块1051、1054和资源回收模块1052、1053。资源动态分配和资源回收交替执行。
资源动态分配模块1051、1054:用于将任务排队模块104选取的应用实例调度给需求者,实现资源的智能分配。分为节点内调度和节点之间调度。
资源回收模块1052、1053:用于回收应用实例虚拟资源使用率已经超出下限的虚拟资源。
节点内调度2053、2063:用于同一节点之内,在该节点的资源足够满足资源动态分配任务需求的资源的情况下,在节点内执行资源动态分配。
节点之间调度2054、2062:用于不同节点之内,在该节点的资源无法满足资源动态分配任务需求的资源的情况下,就将该应用实例在另一个空闲的节点上执行。
下面以一个实施例对云计算动态资源调度算法进行具体的阐述。
资源动态调度系统通过实时获取应用实例的各项虚拟资源指标。
步骤201:通过实时获取应用实例在一段时间之内各项虚拟资源指标,使用线性拟合模型2012和二次拟合模型2013获得的数据,根据拟合函数计算预测值与真实值之间的误差,选择误差最小的预测函数作为最终使用的预测函数。通过选定的预测函数,计算应用实例虚拟资源到达使用率上限的时间,按照时间对所有应用实例进行排序。
用<tj,cij>(j=1...n)代表在tj时刻采样的应用实例i的虚拟cpu使用率cij。
分步骤1:通过线性拟合模型2012来求出应用实例i的虚拟cpu使用率与时间的拟合函数yijc。
则yijc=aic*tj+bic;其中aic、bic为系数。
分步骤2:通过得到的线性拟合函数yijc,计算应用实例i的虚拟cpu使用率的观察值和预测值的误差之和其中yijc表示通过上述步骤求得的应用实例i在tj时刻的虚拟cpu使用率的预测值。
分步骤3:通过二次拟合模型2013来求出应用实例i的虚拟cpu使用率与时间的拟合函数zijc。
则zijc=Aic*tj 2+Bic*tj+C,其中Aic、Bic、C为系数。
分步骤4:通过得到的二次拟合函数zijc,计算应用实例i虚拟cpu使用率的观察值和预测值的误差之和其中zijc表示通过上述步骤求得的应用实例i在tj时刻的虚拟cpu使用率的预测值。
分步骤5:比较dijc与Dijc大小。若dijc小于Dijc,则选择线性拟合函数作为最终的预测函数;否则,选择二次拟合函数作为最终的预测函数。
分步骤6:通过分步骤5选出的拟合函数,预测应用实例i的虚拟cpu使用率到达使用率上限ciu的时间ticu。
分步骤7:对于应用实例i(i=1...n),按照求得的时间ticu从小到大进行排序,形成排序方案Sc,应用实例i在排序方案中的序列号记为Sic(i=1...n)。
分步骤8:通过线性拟合模型2012求出应用实例i的虚拟内存使用率与时间的拟合函数yijm。
则yijm=aim*tj+bim,其中aim、bim为系数。
分步骤9:用<tj,mij>(j=1...n)代表在tj时刻采样的应用实例i的虚拟内存使用率mij。
通过得到的线性拟合函数yijm,计算应用实例i虚拟内存使用率的观察值和预测值的误差之和其中yijm表示用上述步骤求得的应用实例i在tj时刻虚拟内存使用率的预测值。
分步骤10:通过二次拟合模型2013求出应用实例i的虚拟内存使用率与时间的拟合函数zijm。
则zijm=Aim*tj 2+Bim*tj+Cim其中Aim、Bim、Cim为系数。
分步骤11:通过得到的线性拟合函数zijm,计算应用实例i虚拟内存使用率的观察值和预测值的误差之和其中zijm表示用上述步骤求得应用实例i在tj时刻虚拟内存使用率的预测值。
分步骤12:比较dijm与Dijm的大小。若dijm小于Dijm,则选择线性拟合函数作为最终的预测函数;否则,选择二次拟合函数作为最终的预测函数。
分步骤13:用分步骤5选出的拟合函数,来预测应用实例i的虚拟内存使用率到达使用率上限miu的时间timu。
分步骤14:对于应用实例i(i=1...n),按照求得的时间timu从小到大进行排序,形成排序方案Sm,应用实例i在排序方案中的序列号记为Sim(i=1...n)。
步骤202:对排序方案Sc和Sm进行整合,形成新的排序方案Scm=αcm*Sc+βcm*Sm。其中αcm、βcm为系数。
步骤203:根据SLA协议,即当应用实例遇到资源问题时处理的优先级prei,对上一步形成的排序方案Scm进行再一步细化,重新形成新的排序方案S=α*Scm+β*prei。其中α、β为系数。用Si代表应用实例i(i=1...n)在排序方案S中的序列号,即最终资源动态分配的顺序。
步骤204:在排序方案中S选择顺序排在第一位的应用实例作为资源动态分配任务的目标应用。
步骤205:根据各个应用实例虚拟资源使用率的下限,判断一个应用实例是否可被回收资源。
在一段时间之内的平均虚拟cpu使用率记为在一段时间之内的平均虚拟内存使用率记为
若和则按照以下公式进行资源回收。
cid<=(Ci-ΔC)/Ci<=ciu
mid<=(Mi-ΔM)/Mi<=miu
Ci代表已经分配给应用实例i的虚拟cpu资源大小,Mi代表已经分配给应用实例i的虚拟内存资源大小,ΔC代表应用实例i要被回收的cpu资源大小,ΔM代表应用实例i要被回收的内存资源大小,ciu代表应用实例i的虚拟cpu使用率上限,miu代表应用实例i的虚拟内存使用率上限,cid代表应用实例i的虚拟cpu使用率下限,mid代表应用实例i的虚拟内存使用率下限。
获取节点k(k=1...n)的可分配的物理资源<Ck,Mk>。比较资源动态分配任务所需的资源和节点的可分配的物理资源的大小。若资源动态分配任务所需的资源小于或等于节点的可分配的物理资源,则进行节点内调度2062,在节点内同时执行资源动态分配任务1051和资源回收任务1052;若资源动态分配任务所需的资源大于节点的可分配的物理资源,先执行资源回收任务2051,查看回收的资源能否满足资源动态分配任务的需求,若能,则进行节点内调度2053;若不能,则进行节点间调度2054,即寻找到一个可分配资源满足资源动态分配任务的需求的节点,在这个节点上新建一个应用实例。
具体的,节点间的调度2054、2036方法:
分配的虚拟cpu记为ΔC,分配的虚拟内存记为ΔM,应用实例i实际分配的cpu记为Ci,应用实例i实际分配的内存为Mi,应用实例i使用的cpu记为Cir,应用实例i使用的内存为Mir。
新增资源后,需要达到以下要求:
cid<=(Cir+ΔC)/Ci<=ciu*0.8
mid<=(Mir+ΔM)/Mi<=miu*0.8
综上所述,通过本发明实施例,通过资源预测模块、任务排队模块、资源调度模块、资源动态分配模块及资源回收模块相结合,改进现有资源调度方法,更高效实现资源均衡使用,实现在低耗下获得满意的负载均衡,提高资源调度的综合效率。
以上所述仅为本发明的优先实施例,并不用于限制本发明,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.一种基于超轻量虚拟机的云计算动态资源调度系统,其特征是:包括资源预测模块、任务排队模块和资源调度模块,其中:
所述资源预测模块,从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,以预测一个应用实例的虚拟资源到达使用率上限的时间;
所述任务排队模块,根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;
所述资源调度模块,包括交替进行操作的资源动态分配模块和资源回收模块,所述资源动态分配模块,按照排序的顺序,将任务排队模块中选取的应用实例调度给需求者,所述资源回收模块,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。
2.如权利要求1所述的一种基于超轻量虚拟机的云计算动态资源调度系统,其特征是:
所述资源动态分配模块对于应用实例的调度包括节点内调度,即同一节点之内,在该节点的资源足够满足资源动态分配任务需求的资源的情况下,就在节点内执行资源动态分配;
所述资源动态分配模块对于应用实例的调度包括节点之间调度,不同节点之内,在该节点的资源无法满足资源动态分配任务需求的资源的情况下,就将该应用实例在另一个空闲的节点上执行;
所述虚拟资源包括虚拟处理机和虚拟内存。
3.一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:包括以下步骤:
(1)根据从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,预测一个应用实例的虚拟资源到达使用率上限的时间;
(2)根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;
(3)按照排序顺序,根据从云计算环境中收集各应用实例的虚拟资源指标,将任务排队模块中选取的应用实例调度给需求者,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。
4.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:所述步骤(1)中,实时获取应用实例在一段时间之内各项虚拟资源指标,根据拟合函数计算预测值与真实值之间的误差,选择误差最小的预测函数作为最终使用的预测函数,通过选定的预测函数,计算应用实例虚拟资源到达使用率上限的时间,按照时间对所有应用实例进行排序。
5.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:
所述步骤(1)中,对于虚拟处理机的资源预测过程具体包括:
(1-1)记录每个时刻采样的每个应用实例的虚拟处理机的使用率,通过线性拟合构造虚拟处理机使用率与时间的线性拟合函数,计算每个应用实例的虚拟处理机使用率的观察值和预测值的误差之和;
(1-2)通过二次拟合来求出应用实例的虚拟处理机使用率与时间的拟合函数,计算应用实例的虚拟处理机使用率的观察值和预测值的误差之和;
(1-3)比较两个误差之和,选择误差之和较小的结果所对应的拟合函数为最终预测函数;
(1-4)利用拟合函数预测每个应用实例虚拟处理机使用率到达使用率上限的时间,对所有应用实例,按照求取的时间进行从小到大的排序。
6.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:所述步骤(1)中,对于虚拟内存的资源预测过程具体步骤包括:
(1.1)通过线性拟合求出每个应用实例的虚拟内存使用率与时间的线性拟合函数,计算应用实例的虚拟内存使用率的观察值和预测值的误差之和;
(1.2)通过二次拟合来求出应用实例的虚拟内存使用率与时间的拟合函数,计算应用实例的虚拟内存使用率的观察值和预测值的误差之和;
(1.3)比较两个误差之和,选择误差之和较小的结果所对应的拟合函数为最终预测函数,以预测各个应用实例的虚拟内存使用率到达使用率上限的时间;
(1.4)对所有应用实例按照求取的时间进行从小到大的排序。
7.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:
所述步骤(2)中,在排序方案中选择顺序排在第一位的应用实例作为资源动态分配任务的目标应用,根据各个应用实例虚拟资源使用率的下限,判断是否存在应用实例可被回收资源。
8.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:
所述步骤(3)中,若存在某应用实例的虚拟处理机的使用率下限大于其一段时间之内的平均虚拟处理机使用率,且该应用实例的虚拟内存使用率大于其在一段时间之内的平均虚拟内存使用率,则资源回收的准则为:
cid<=(Ci-ΔC)/Ci<=ciu
mid<=(Mi-ΔM)/Mi<=miu
Ci代表已经分配给应用实例i的虚拟处理机资源大小,Mi代表已经分配给应用实例i的虚拟内存资源大小,ΔC代表应用实例i要被回收的处理机资源大小,ΔM代表应用实例i要被回收的内存资源大小,ciu代表应用实例i的虚拟cpu使用率上限,miu代表应用实例i的虚拟内存使用率上限,cid代表应用实例i的虚拟cpu使用率下限,mid代表应用实例i的虚拟内存使用率下限。
9.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:所述步骤(3)中,获取每个节点的可分配的虚拟物理资源,比较资源动态分配任务所需的资源和节点的可分配的物理资源的大小:若资源动态分配任务所需的资源小于或等于节点的可分配的物理资源,则进行节点内调度,否则,先执行资源回收任务,查看回收的资源能否满足资源动态分配任务的需求,若能,则进行节点内调度;若不能,则进行节点间调度。
10.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:所述步骤(3)中,节点间调度的具体方法为寻找到一个可分配资源满足资源动态分配任务的需求的节点,在这个节点上新建一个应用实例;
新增资源后,需要达到以下要求:
其中,分配的虚拟处理机记为ΔC,分配的虚拟内存记为ΔM,应用实例i实际分配的处理机记为Ci,应用实例i实际分配的内存为Mi,a为设定系数,小于等于1,应用实例i使用的处理机记为Cir,应用实例i使用的内存为Mir。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610334927.8A CN106020933B (zh) | 2016-05-19 | 2016-05-19 | 基于超轻量虚拟机的云计算动态资源调度系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610334927.8A CN106020933B (zh) | 2016-05-19 | 2016-05-19 | 基于超轻量虚拟机的云计算动态资源调度系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106020933A true CN106020933A (zh) | 2016-10-12 |
CN106020933B CN106020933B (zh) | 2018-12-28 |
Family
ID=57096089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610334927.8A Active CN106020933B (zh) | 2016-05-19 | 2016-05-19 | 基于超轻量虚拟机的云计算动态资源调度系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020933B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484540A (zh) * | 2016-10-20 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 一种资源配置方法及装置 |
CN107045455A (zh) * | 2017-06-19 | 2017-08-15 | 华中科技大学 | 一种基于负载预测的Docker Swarm集群资源调度优化方法 |
CN107832143A (zh) * | 2017-10-17 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 一种物理机资源的处理方法和装置 |
CN108111437A (zh) * | 2017-12-28 | 2018-06-01 | 电子科技大学 | 一种虚拟网络功能的优化调度方法 |
CN108429704A (zh) * | 2017-02-14 | 2018-08-21 | 中国移动通信集团吉林有限公司 | 一种节点资源分配方法及装置 |
CN108897622A (zh) * | 2018-06-29 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种任务运行的调度方法以及相关装置 |
CN110249642A (zh) * | 2017-01-13 | 2019-09-17 | 京东方科技集团股份有限公司 | 操作实例资源的方法和装置 |
CN110399226A (zh) * | 2019-07-31 | 2019-11-01 | 新乡学院 | 云系统用负载平衡器 |
CN111507650A (zh) * | 2020-07-02 | 2020-08-07 | 深圳微品致远信息科技有限公司 | 一种边缘计算平台算力分配调度方法及系统 |
CN111767150A (zh) * | 2020-07-02 | 2020-10-13 | 中国铁建重工集团股份有限公司 | 一种vGPU资源的动态调整方法 |
US10868722B2 (en) | 2017-08-11 | 2020-12-15 | Fujitsu Limited | Network device system, method for implementing network device system and computer-readable storage medium |
CN113553175A (zh) * | 2021-07-08 | 2021-10-26 | 浙江工业大学 | 面向交通数据流的最优排序算法选择方法 |
CN116319666A (zh) * | 2023-03-15 | 2023-06-23 | 百果园技术(新加坡)有限公司 | 基于热度的虚拟账号处理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103649920A (zh) * | 2011-06-27 | 2014-03-19 | 微软公司 | 用于云计算平台的资源管理 |
CN103677998A (zh) * | 2012-09-06 | 2014-03-26 | 国际商业机器公司 | 虚拟化计算环境中的资源分配方法和系统 |
CN103823714A (zh) * | 2014-01-15 | 2014-05-28 | 浙江大学 | 一种基于虚拟化下NUMA节点内存QoS的调节方法及装置 |
CN104142864A (zh) * | 2014-08-07 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟化技术的多租户性能隔离框架 |
CN104714847A (zh) * | 2013-12-13 | 2015-06-17 | 国际商业机器公司 | 用于动态地改变云计算环境的方法和系统 |
CN104991830A (zh) * | 2015-07-10 | 2015-10-21 | 山东大学 | 基于服务等级协议的yarn资源分配和节能调度方法及系统 |
US9292354B2 (en) * | 2013-10-18 | 2016-03-22 | Microsoft Technology Licensing, Llc | Self-adjusting framework for managing device capacity |
-
2016
- 2016-05-19 CN CN201610334927.8A patent/CN106020933B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103649920A (zh) * | 2011-06-27 | 2014-03-19 | 微软公司 | 用于云计算平台的资源管理 |
CN103677998A (zh) * | 2012-09-06 | 2014-03-26 | 国际商业机器公司 | 虚拟化计算环境中的资源分配方法和系统 |
US9292354B2 (en) * | 2013-10-18 | 2016-03-22 | Microsoft Technology Licensing, Llc | Self-adjusting framework for managing device capacity |
CN104714847A (zh) * | 2013-12-13 | 2015-06-17 | 国际商业机器公司 | 用于动态地改变云计算环境的方法和系统 |
CN103823714A (zh) * | 2014-01-15 | 2014-05-28 | 浙江大学 | 一种基于虚拟化下NUMA节点内存QoS的调节方法及装置 |
CN104142864A (zh) * | 2014-08-07 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟化技术的多租户性能隔离框架 |
CN104991830A (zh) * | 2015-07-10 | 2015-10-21 | 山东大学 | 基于服务等级协议的yarn资源分配和节能调度方法及系统 |
Non-Patent Citations (1)
Title |
---|
林伟伟: "云计算资源调度研究综述", 《计算机科学》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484540A (zh) * | 2016-10-20 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 一种资源配置方法及装置 |
CN106484540B (zh) * | 2016-10-20 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 一种资源配置方法及装置 |
CN110249642A (zh) * | 2017-01-13 | 2019-09-17 | 京东方科技集团股份有限公司 | 操作实例资源的方法和装置 |
CN108429704B (zh) * | 2017-02-14 | 2022-01-25 | 中国移动通信集团吉林有限公司 | 一种节点资源分配方法及装置 |
CN108429704A (zh) * | 2017-02-14 | 2018-08-21 | 中国移动通信集团吉林有限公司 | 一种节点资源分配方法及装置 |
CN107045455B (zh) * | 2017-06-19 | 2019-06-11 | 华中科技大学 | 一种基于负载预测的Docker Swarm集群资源调度优化方法 |
CN107045455A (zh) * | 2017-06-19 | 2017-08-15 | 华中科技大学 | 一种基于负载预测的Docker Swarm集群资源调度优化方法 |
US10868722B2 (en) | 2017-08-11 | 2020-12-15 | Fujitsu Limited | Network device system, method for implementing network device system and computer-readable storage medium |
CN107832143A (zh) * | 2017-10-17 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 一种物理机资源的处理方法和装置 |
CN107832143B (zh) * | 2017-10-17 | 2020-11-03 | 北京京东尚科信息技术有限公司 | 一种物理机资源的处理方法和装置 |
CN108111437A (zh) * | 2017-12-28 | 2018-06-01 | 电子科技大学 | 一种虚拟网络功能的优化调度方法 |
CN108897622A (zh) * | 2018-06-29 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种任务运行的调度方法以及相关装置 |
CN110399226A (zh) * | 2019-07-31 | 2019-11-01 | 新乡学院 | 云系统用负载平衡器 |
CN110399226B (zh) * | 2019-07-31 | 2023-03-24 | 新乡学院 | 云系统用负载平衡器 |
CN111507650A (zh) * | 2020-07-02 | 2020-08-07 | 深圳微品致远信息科技有限公司 | 一种边缘计算平台算力分配调度方法及系统 |
CN111507650B (zh) * | 2020-07-02 | 2021-01-05 | 深圳微品致远信息科技有限公司 | 一种边缘计算平台算力分配调度方法及系统 |
CN111767150A (zh) * | 2020-07-02 | 2020-10-13 | 中国铁建重工集团股份有限公司 | 一种vGPU资源的动态调整方法 |
CN113553175A (zh) * | 2021-07-08 | 2021-10-26 | 浙江工业大学 | 面向交通数据流的最优排序算法选择方法 |
CN113553175B (zh) * | 2021-07-08 | 2024-04-16 | 浙江工业大学 | 面向交通数据流的最优排序算法选择方法 |
CN116319666A (zh) * | 2023-03-15 | 2023-06-23 | 百果园技术(新加坡)有限公司 | 基于热度的虚拟账号处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106020933B (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020933A (zh) | 基于超轻量虚拟机的云计算动态资源调度系统及方法 | |
CN110851529B (zh) | 算力调度方法及相关设备 | |
CN104657220B (zh) | 混合云中基于截止时间和费用约束的调度模型及方法 | |
US10474504B2 (en) | Distributed node intra-group task scheduling method and system | |
CN103338228B (zh) | 基于双加权最小连接算法的云计算负载均衡调度算法 | |
Wang et al. | Adaptive scheduling for parallel tasks with QoS satisfaction for hybrid cloud environments | |
CN103970609B (zh) | 一种基于改进蚁群算法的云数据中心任务调度方法 | |
CN108182109B (zh) | 一种云环境下的工作流调度与数据分配方法 | |
Liu et al. | Resource preprocessing and optimal task scheduling in cloud computing environments | |
Etemadi et al. | A cost-efficient auto-scaling mechanism for IoT applications in fog computing environment: a deep learning-based approach | |
CN103713956B (zh) | 应用于云计算虚拟化管理环境中的智能加权负载均衡方法 | |
CN106506670B (zh) | 一种云平台虚拟资源高速调度方法与系统 | |
CN103491024B (zh) | 一种面向流式数据的作业调度方法及装置 | |
CN103701886A (zh) | 一种云计算环境下的服务及资源分层调度方法 | |
CN109783225B (zh) | 一种多租户大数据平台的租户优先级管理方法及系统 | |
CN111340318B (zh) | 一种车辆动态调度方法、装置及终端设备 | |
CN104407912A (zh) | 一种虚拟机配置方法及装置 | |
Mehrotra et al. | Towards an autonomic performance management approach for a cloud broker environment using a decomposition–coordination based methodology | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
Ben Alla et al. | A novel multiclass priority algorithm for task scheduling in cloud computing | |
Razzaq et al. | Hybrid auto-scaled service-cloud-based predictive workload modeling and analysis for smart campus system | |
CN104917839A (zh) | 一种用于云计算环境下的负载均衡方法 | |
Liao et al. | AI-based software-defined virtual network function scheduling with delay optimization | |
CN115495222A (zh) | 基于深度学习和大数据的云计算系统 | |
CN102184124B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |