CN111143036A - 一种基于强化学习的虚拟机资源调度方法 - Google Patents

一种基于强化学习的虚拟机资源调度方法 Download PDF

Info

Publication number
CN111143036A
CN111143036A CN201911401932.6A CN201911401932A CN111143036A CN 111143036 A CN111143036 A CN 111143036A CN 201911401932 A CN201911401932 A CN 201911401932A CN 111143036 A CN111143036 A CN 111143036A
Authority
CN
China
Prior art keywords
virtual machine
class
time
behavior
task
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
CN201911401932.6A
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.)
Guangdong Planning and Designing Institute of Telecommunications Co Ltd
Original Assignee
Guangdong Planning and Designing Institute of Telecommunications Co Ltd
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 Guangdong Planning and Designing Institute of Telecommunications Co Ltd filed Critical Guangdong Planning and Designing Institute of Telecommunications Co Ltd
Priority to CN201911401932.6A priority Critical patent/CN111143036A/zh
Publication of CN111143036A publication Critical patent/CN111143036A/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/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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

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

本发明为基于强化学习的虚拟机资源调度方法,建立云计算排队系统模型,确认最大可使用的资源;建立虚拟机任务数估算模型,确认时刻t在系统等待的第v类虚拟机请求的任务数,得出任务数;根据总任务数,把优化平均任务完成时间目标映射为数学模型,找出多个影响平均任务完成时间的决策条件;引入虚拟机配置数组,将多个影响平均任务完成时间的决策条件转换为单维的虚拟机调度决策条件,输入虚拟机实例数量、虚拟机请求数量与虚拟机请求的工作量,作为初始参数;得出决策点、行为空间、奖励函数、状态‑行为价值函数与贪婪行为策略;在虚拟机调度模型中迭代计算,行为组,作为最优虚拟机资源调度策略;根据策略输出最优虚拟机资源调度方法。

Description

一种基于强化学习的虚拟机资源调度方法
技术领域
本发明涉及计算机技术,具体涉及一种虚拟机的资源调度优化方法。
背景技术
虚拟机资源调度是指在云计算环境下,立足于多用户的多资源需求(例如,异构的CPU,内存,存储资源组合需求)和云计算系统的可用资源,为同时到达的用户分配虚拟机资源和决定虚拟机资源调度的顺序。
一般虚拟机资源调度采用在线算法,包括first-fit-sharing(FFS)和best-fit-sharing(BFS),来解决虚拟机背包问题。在线算法主要是解决如何将虚拟机任务分配到多个服务器群集,从而均衡服务器群集间的业务负载或降低服务器群集的数量,它们并没有考虑虚拟机任务在服务器群集的排队问题,即没有考虑虚拟机任务的排队延迟。事实上,排队延迟对用户尤其延迟敏感用户具有重要的影响。
为了满足延迟敏感业务的服务质量要求,本方法综合考虑了虚拟机资源的多资源多类性和业务的延迟敏感性,设计了一种基于强化学习的虚拟机资源调度方法。将延迟的具体性能参数——任务完成时间作为奖赏函数,采用贪婪行为策略,通过训练使系统能通过自主学习的方法选择最优的调度策略来达到最大奖励,从而获得最优的平均任务完成时间。
发明内容
针对上述现有技术不足,本方法使云计算系统能够自主学习优化的虚拟机资源调度策略,减少虚拟机任务的延迟,满足尽量多用户的实时应用需求。
为解决上述技术问题,本发明采用的技术方案为,一种基于强化学习的虚拟机资源调度方法,包括以下步骤:
S101:建立云计算排队系统模型,确认允许用户每单位时间最大可使用的资源;
S102:建立虚拟机任务数估算模型,确认时刻t在系统等待的第v类虚拟机请求的任务数,得出等待所有资源请求的任务数;
S103:根据总任务数,把优化平均任务完成时间目标映射为数学模型,找出多个影响平均任务完成时间的决策条件;
S104:引入虚拟机配置数组,将多个影响平均任务完成时间的决策条件转换为单维的虚拟机调度决策条件,降低算法的时间复杂度;
S105:输入虚拟机实例数量、虚拟机请求数量与虚拟机请求的工作量,作为初始参数;
S106:得出决策点、行为空间、奖励函数、状态-行为价值函数与贪婪行为策略;
S107:在虚拟机调度模型中迭代计算,开始强化学习;
S108:选出使得状态-行为价值函数最大的行为组,作为最优虚拟机资源调度策略;
S109:根据策略输出最优虚拟机资源调度方法。
本发明综合考虑了虚拟机资源的多资源多类性和业务的延迟敏感性,设计了一种基于强化学习的虚拟机资源调度方法。将延迟的具体性能参数——任务完成时间作为奖赏函数,采用贪婪行为策略,通过训练使系统能通过自主学习的方法选择最优的调度策略来达到最大奖励,从而获得最优的平均任务完成时间。
附图说明
图1是本发明的一种基于强化学习的虚拟机资源调度方法的算法流程图。
图2是任务完成时间vs虚拟机到达速率实验图。
图3是任务完成时间vs所有虚拟机到达速率实验图。
图4是任务完成时间vs虚拟机任务时长实验图。
图5是任务完成时间vs所有虚拟机任务时长实验图。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步的详细描述。
如图1所示,本发明采用的技术方案为,一种基于强化学习的虚拟机资源调度方法,包括以下步骤:
S101:建立云计算排队系统模型,确认允许用户每单位时间最大可使用的资源;
S102:建立虚拟机任务数估算模型,确认时刻t在系统等待的第v类虚拟机请求的任务数,得出等待所有资源请求的任务数;
S103:根据总任务数,把优化平均任务完成时间目标映射为数学模型,找出多个影响平均任务完成时间的决策条件;
S104:引入虚拟机配置数组,将多个影响平均任务完成时间的决策条件转换为单维的虚拟机调度决策条件,降低算法的时间复杂度;
S105:输入虚拟机实例数量、虚拟机请求数量与虚拟机请求的工作量,作为初始参数;
S106:得出决策点、行为空间、奖励函数、状态-行为价值函数与贪婪行为策略;
S107:在虚拟机调度模型中迭代计算,开始强化学习;
S108:选出使得状态-行为价值函数最大的行为组,作为最优虚拟机资源调度策略;
S109:根据策略输出最优虚拟机资源调度方法。
具体地,(1)建立云计算排队系统模型
考虑如下的云计算排队系统:系统由K个计算设备资源组成,包括CPU、内存、存储设备等。这些设备资源通过虚拟化技术以虚拟机的形式向租户开放。系统可同时支持多个虚拟机并行调度。系统将虚拟机划分为V类,每类虚拟机对应一定数量的设备资源(包括CPU、内存、存储设备),表示允许用户每单位时间最大可使用的资源。令K={1,…,k}和V={1,…V}分别表示资源类型和虚拟机类型空间。令Rvk表示第v类虚拟机需要的第k类资源的数量,令Ck表示第k类资源的系统容量。则,系统能支持第v类虚拟机的条件是:
Figure BDA0002347704590000031
一个可行的虚拟机配置定义如下:
定义1(可行的虚拟机配置):若一个云计算系统能同时调度N1个类型-1的虚拟机实例、N2个类型-2的虚拟机实例,…,Nv个类型-V的虚拟机实例,则称V元素矢量N=(N1,…Nv)为云计算系统的一个可行的虚拟机配置。即,当且仅当公式(2)成立时,N是一个可行的虚拟机配置。
Figure BDA0002347704590000032
Figure BDA0002347704590000033
Figure BDA0002347704590000034
表示系统可支持的第V类虚拟机的最大数量。
(2)建立虚拟机任务数估算模型
考虑如下的业务模型:(1)虚拟机请求随机地到达系统,不同类型的虚拟机请求到达速率相互独立;(2)对每一类虚拟机,每单位时隙虚拟机请求的数量服从相互独立相同分布(i.i.d分布),每个请求的虚拟机运行时长也服从i.i.d分布。
假设来自终端用户的每个请求都明确所请求的虚拟机类型及运行时长(以时隙为单位)。一个虚拟机任务被称为第v类任务。如果该任务请求第v类的虚拟机,任务的长度S表示该虚拟机实例请求运行S时隙。为了简化,本方法仅考虑非占用时隙系统,即当一个任务被调度时,其将一直调度直至完成。在每个时隙的开始阶段,虚拟机调度器通过调度策略决定该时隙同时调度哪些类型的虚拟机以及每类虚拟机调度多少个虚拟机实例,然后执行调度。
假设初始化系统为空闲状态。令Jv(t)≥C表示第v类虚拟机在时间间隔[t,t+1]到达的请求数量,
Figure BDA0002347704590000041
表示第v类虚拟机第j个请求的请求时长,其中0≤j<Jv(t)。令λv表示第v类虚拟机请求数量的到达速率,则
Figure BDA0002347704590000042
Figure BDA0002347704590000043
表示第v类请求的平均时长,则有:
Figure BDA0002347704590000044
Figure BDA0002347704590000045
表示在时隙t开始调度的第v类虚拟机实例的数量,
Figure BDA0002347704590000046
表示在t前已经调度且在t仍需调度的第v类虚拟机实例的数量。则,在[t,t+1]内,第v类虚拟机实例的总调度数量为:
Figure BDA0002347704590000047
令Qv(t)表示时刻t在系统等待的第v类虚拟机请求的数量,则有:
Figure BDA0002347704590000048
令Wv(t)表示在时刻t在系统等待的第v类虚拟机请求的工作量(考虑了请求的数量及时长),则有:
Figure BDA0002347704590000049
(3)把优化平均任务完成时间映射为数学模型
本方法以平均任务完成时间为优化目标。令
Figure BDA00023477045900000410
表示第j个类型-v的虚拟机任务的完成时间,其定义为:
Figure BDA00023477045900000411
式中,
Figure BDA00023477045900000412
表示响应时间,
Figure BDA00023477045900000413
是运行时长。
类型-v虚拟机任务的平均完成时间为:
Figure BDA00023477045900000414
则,优化问题为:
最小化:
Figure BDA0002347704590000051
限制条件:
Figure BDA0002347704590000052
Figure BDA0002347704590000053
Figure BDA0002347704590000054
Figure BDA0002347704590000055
公式(11)是所有虚拟机类型所有时间的平均任务完成时间;公式(12)是资源限制条件;公式(13)依据公式(7);公式(14)依据公式(8);公式(9)依据公式(6)。
由公式(11)-(15)可知,优化方程的决策变量是Nv(t)和
Figure BDA0002347704590000056
由公式(6)可知,一旦Nv(t)确定则
Figure BDA0002347704590000057
随之也确定。因此,上述优化问题等效于找出一系列优化的
Figure BDA0002347704590000058
来达到目。
(4)降低数学模型复杂度
下文通过资源抽象和问题转换来求解公式(11)-(15)的优化问题,把虚拟机复杂多资源调度方法转化为简易单维调度方法。
引入虚拟机配置数组
Figure BDA0002347704590000059
来表示可调度策略的集合,其定义如下:
定义2(虚拟机配置数组):当且仅当行向量
Figure BDA00023477045900000510
是时刻t的可行的虚拟机配置时,
Figure BDA00023477045900000511
被称为时刻t的虚拟机配置数组,这里,
Figure BDA00023477045900000512
满足以下限制条件时:
Figure BDA00023477045900000513
称为时刻t的可行的虚拟机配置。方程组(16)中,NP(at,v)等效于
Figure BDA00023477045900000514
At是一个数字变量,表示时隙t系统可支持的虚拟机配置数量。
例1:设一个云计算资源池的内存、CPU和存储资源的配置容量为(32,12,4000)。假设系统提供三类虚拟机,它们对内存、CPU和存储空间的需求分别为(32,8,1690)、(30.5,4,420)和(7.5,4,1690)。设在时刻t,对所有v∈V,有
Figure BDA0002347704590000061
Figure BDA0002347704590000062
则,根据定义2,系统可支持的虚拟机配置数量At=5,且虚拟机配置数组为
Figure BDA0002347704590000063
表示系统支持5种虚拟机调度策略,当a=5时,表示选择策略(1 0 0),则系统将在[t,t+1]时调度1个类型-1的虚拟机实例,0个类型-2和类型-3的虚拟机实例。
当引入虚拟机配置数组概念后,公式(11)-(15)的优化问题转换成了一个决策问题,即选择哪个at∈{1,…,At},t=0,…,∞,使得平均任务完成时间最小化。
另一方面,根据公式(6),可得到在时隙t调度完成的类型-v虚拟机数量为:
Figure BDA0002347704590000064
则时刻t的类型-v虚拟机的平均任务完成时间可表示为:
Figure BDA0002347704590000065
由公式(6)、(17)-(18)可知,E[Tv(t)]是Nv(τ,τ=0,…,t-1)的函数。
Figure BDA0002347704590000066
定义为序列
Figure BDA0002347704590000067
的函数,表示所有类型虚拟机在所有时间的平均任务完成时间,则,公式(11)-(15)的优化问题可转换为:
最小化:
Figure BDA0002347704590000068
限制条件:
Figure BDA0002347704590000069
因此,平均任务完成时间优化问题等效为找出优化的
Figure BDA00023477045900000610
序列,使得
Figure BDA00023477045900000611
序列最小化g(·),从而把多资源多类的虚拟机资源调度问题转化为单维的虚拟机调度决策问题,降低算法的时间复杂度。
(5)定义基于强化学习算法的虚拟机调度模型
(a)状态空间S:由公式(16)、(19)-(20)可见,
Figure BDA0002347704590000071
Qv(t)和Wv(t)主要影响调度策略的选择,因此,状态用向量
Figure BDA0002347704590000072
表示。
(b)决策点和行为空间A:本文用每个时隙的开始时刻作为决策点。由定义2可知,虚拟机配置数组的每一个行向量是一个调度决策,因此行为空间为
Figure BDA0002347704590000073
(c)奖赏函数r:每次决策并执行之后,即时观察系统的性能,并进行奖赏。为了最小化平均任务完成时间,采用如下的奖赏函数
Figure BDA0002347704590000074
式中,
Figure BDA0002347704590000075
是第v类虚拟机的统计平均任务完成时间,β是大于0的系数。
(d)状态-行为价值函数V(s,a):在状态s下选择行为a的价值是从当前状态当前行为之后所有状态和行为的奖赏函数的累积,根据贝尔曼期望方程,可用当前奖赏值与下一状态的价值函数之和的数学期望来表示,即
ν(s,a)=E[Rt+1+γV(St+1,At+1)|St=s,At=a] (22)
(e)∈-贪婪行为策略:采用∈-贪婪行为策略来确定当前状态的行为,即以
Figure BDA0002347704590000076
的概率选择价值函数最大值的行为,以
Figure BDA0002347704590000077
概率随机选择其它行为,如公式(23)所示。
Figure BDA0002347704590000078
(6)优化虚拟机调度模型
采用如下强化学习算法对模型进行优化调度:
初始状态:单步期望值ρ=0=0,状态空间S={0}
在每个决策点t,执行如下步骤:
感知当前状态
Figure BDA0002347704590000081
如果
Figure BDA0002347704590000082
则将st添加到S并令V(s,a)=0;
计算虚拟机配置数组
Figure BDA0002347704590000083
基于∈-贪婪行为策略选择行为
Figure BDA0002347704590000084
则优化的虚拟机配置策略
Figure BDA0002347704590000085
也相应地确定;
Figure BDA0002347704590000086
的决策进行虚拟机资源调度,并更新如下参数:
Figure BDA0002347704590000087
根据公式(21)计算奖赏值r,更新V(s,a):
Figure BDA0002347704590000088
式中,
Figure BDA0002347704590000089
是下一状态的最大价值函数;
如果
Figure BDA00023477045900000810
则更新单步期望值ρ如下:
Figure BDA00023477045900000811
为了验证本发明的有效性,我们将本发明与Maguluri等人提出的Myopic-MaxWeight算法进行比较。采用如表1所示的资源参数。
表1资源参数
Figure BDA00023477045900000812
(1)任务完成时间vs到达速率
设三类虚拟机请求的平均时长均为4个时隙,设到Type-2和Type-3的到达速率分别为λ2=0.025任务/时隙,λ3=0.15任务/时隙,则系统的平均任务完成时间随着Type-1虚拟机到达速率的变化如图2所示。
由图2可见,在系统容量及Type-2和Type-3的到达速率固定的情况下,虚拟机的平均任务完成时间随着Type-1虚拟机到达速率的上升而延长,这是因为虚拟机任务在系统的排队时长随着Type-1虚拟机到达速率的上升而延长,但基于本文所提出的强化学习算法的平均任务完成时间均低于Myopic-MaxWeight算法,这是因为基于延迟的强化学习策略能根据系统状态的变化动态地学习优化的策略,从而得到在不同速率下的优化任务完成时间。
当所有类型虚拟机的到达速率都比较大时,本文所提的基于延迟的强化学习算法性能优势更加显著,如图3所示。由图3可见,随着所有类型的虚拟机到达速率的上升,Myopic-MaxWeight算法的平均任务完成时间快速上升,例如,当每类虚拟机任务的到达速率为0.125请求/时隙时,平均任务完成时间达到2000时隙,而本文所提算法能保证平均任务完成时间不高于1000时隙,相当于Myopic-MaxWeight算法的一半。
(2)任务完成时间vs任务时长
设三类虚拟机任务的到达速率分别为λ1=0.025任务/时隙,λ2=0.025任务/时隙,λ3=0.15任务/时隙。设Type-1和Type-2虚拟机请求的平均时长为4个时隙,则系统的平均任务完成时间随着Type-3虚拟机任务时长的变化如图4所示。
由图4可见,平均任务完成时间随着Type-3虚拟机任务时长的增长而延长,这是因为在系统容量和虚拟机请求到达速率(每时隙虚拟机请求的数量)不变的情况下,业务负载随着任务时长的增长而增长,虚拟机任务在系统的排队时长也随着增长,从而在任何虚拟机调度算法下,平均任务完成时间都随着任务时长的增长而增长。但是,强化学习算法下得到的任务完成时间明显低于Myopic-MaxWeigh算法的任务完成时间,尤其当Type-3虚拟机任务的平均时长大于8时隙/任务之后。
图5进一步验证了本文所提算法的有效性。如图5所示,当所有类型虚拟机任务的平均时长增加时,基于Myopic-MaxWeigh算法的任务完成时间快速上升,而本文所提的基于延迟的强化学习算法的平均任务完成时间约为Myopic-MaxWeigh算法的一半,有效降低了延迟。
以上所述仅为本发明的较佳实施方式,本发明并不局限于上述实施方式,在实施过程中可能存在局部微小的结构改动,如果对本发明的各种改动或变型不脱离本发明的精神和范围,且属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变型。

Claims (7)

1.一种基于强化学习的虚拟机资源调度方法,其特征在于,包括以下步骤:
S101:建立云计算排队系统模型,确认允许用户每单位时间最大可使用的资源;
S102:建立虚拟机任务数估算模型,确认时刻t在系统等待的第v类虚拟机请求的任务数,得出等待所有资源请求的任务数;
S103:根据总任务数,把优化平均任务完成时间目标映射为数学模型,找出多个影响平均任务完成时间的决策条件;
S104:引入虚拟机配置数组,将多个影响平均任务完成时间的决策条件转换为单维的虚拟机调度决策条件,降低算法的时间复杂度;
S105:输入虚拟机实例数量、虚拟机请求数量与虚拟机请求的工作量,作为初始参数;
S106:得出决策点、行为空间、奖励函数、状态-行为价值函数与贪婪行为策略;
S107:在虚拟机调度模型中迭代计算,开始强化学习;
S108:选出使得状态-行为价值函数最大的行为组,作为最优虚拟机资源调度策略;
S109:根据策略输出最优虚拟机资源调度方法。
2.根据权利要求1所述的基于强化学习的虚拟机资源调度方法,其特征在于,所述步骤S101具体为,
将虚拟机划分为V类,每类虚拟机对应设备资源,表示允许用户每单位时间最大可使用的资源;令K={1,…,k}和V={1,…V}分别表示资源类型和虚拟机类型空间;令Rvk表示第v类虚拟机需要的第k类资源的数量,令Ck表示第k类资源的系统容量;系统能支持第v类虚拟机的条件是:
Figure FDA0002347704580000011
一个可行的虚拟机配置定义如下:
定义1:若一个云计算系统能同时调度N1个类型-1的虚拟机实例、N2个类型-2的虚拟机实例,…,Nv个类型-V的虚拟机实例,则称V元素矢量N=(N1,…Nv)为云计算系统的一个可行的虚拟机配置;当且仅当公式(2)成立时,N是一个可行的虚拟机配置;
Figure FDA0002347704580000012
Figure FDA0002347704580000013
Figure FDA0002347704580000021
表示系统可支持的第V类虚拟机的最大数量。
3.根据权利要求2所述的基于强化学习的虚拟机资源调度方法,其特征在于,所述步骤S102具体为,
建立模型为:S1021:虚拟机请求随机地到达系统,不同类型的虚拟机请求到达速率相互独立;S1022:对每一类虚拟机,每单位时隙虚拟机请求的数量服从相互独立相同分布,每个请求的虚拟机运行时长也服从i.i.d分布;
令初始化系统为空闲状态;令Jv(t)≥C表示第v类虚拟机在时间间隔[t,t+1]到达的请求数量,
Figure FDA00023477045800000210
表示第v类虚拟机第j个请求的请求时长,其中0≤j<Jv(t);令λv表示第v类虚拟机请求数量的到达速率,计算
Figure FDA0002347704580000022
Figure FDA0002347704580000023
表示第v类请求的平均时长,计算:
Figure FDA0002347704580000024
Figure FDA0002347704580000025
表示在时隙t开始调度的第v类虚拟机实例的数量,
Figure FDA0002347704580000026
表示在t前已经调度且在t仍需调度的第v类虚拟机实例的数量;在[t,t+1]内,第v类虚拟机实例的总调度数量为:
Figure FDA0002347704580000027
令Qv(t)表示时刻t在系统等待的第v类虚拟机请求的数量:
Figure FDA0002347704580000028
令Wv(t)表示在时刻t在系统等待的第v类虚拟机请求的工作量:
Figure FDA0002347704580000029
4.根据权利要求3所述的基于强化学习的虚拟机资源调度方法,其特征在于,所述步骤S103具体为,
Figure FDA0002347704580000031
表示第j个类型-v的虚拟机任务的完成时间,其定义为:
Figure FDA0002347704580000032
式中,
Figure FDA0002347704580000033
表示响应时间,
Figure FDA0002347704580000034
是运行时长;
类型-v虚拟机任务的平均完成时间为:
Figure FDA0002347704580000035
最小化:
Figure FDA0002347704580000036
限制条件:
Figure FDA0002347704580000037
Figure FDA0002347704580000038
Figure FDA0002347704580000039
Figure FDA00023477045800000310
公式(11)是所有虚拟机类型所有时间的平均任务完成时间;公式(12)是资源限制条件;公式(13)依据公式(7);公式(14)依据公式(8);公式(9)依据公式(6);
优化方程的决策变量是Nv(t)和
Figure FDA00023477045800000311
5.根据权利要求4所述的基于强化学习的虚拟机资源调度方法,其特征在于,所述步骤S104具体为,
引入虚拟机配置数组
Figure FDA00023477045800000312
来表示可调度策略的集合,其定义如下:
定义2:当且仅当行向量
Figure FDA00023477045800000313
是时刻t的可行的虚拟机配置时,
Figure FDA00023477045800000314
被称为时刻t的虚拟机配置数组,
Figure FDA00023477045800000315
满足以下限制条件时:
Figure FDA0002347704580000041
称为时刻t的可行的虚拟机配置;方程组(16)中,NP(at,v)等效于
Figure FDA0002347704580000042
At是一个数字变量,表示时隙t系统可支持的虚拟机配置数量。
6.根据权利要求5所述的基于强化学习的虚拟机资源调度方法,其特征在于,所述步骤S105具体为,
定义状态空间S:由公式(16)、(19)-(20)得出
Figure FDA0002347704580000043
Qv(t)和Wv(t)主要影响调度策略的选择,状态用向量
Figure FDA0002347704580000044
表示;
计算决策点和行为空间A:本文用每个时隙的开始时刻作为决策点;虚拟机配置数组的每一个行向量是一个调度决策,行为空间为
Figure FDA0002347704580000045
定义奖赏函数r:每次决策并执行之后,即时观察系统的性能,并进行奖赏;奖赏函数为:
Figure FDA0002347704580000046
式中,
Figure FDA0002347704580000047
是第v类虚拟机的统计平均任务完成时间,β是大于0的系数;
定义状态-行为价值函数V(s,a):在状态s下选择行为a的价值是从当前状态当前行为之后所有状态和行为的奖赏函数的累积,为当前奖赏值与下一状态的价值函数之和的数学期望,即
ν(s,a)=E[Rt+1+γV(St+1,At+1)|St=s,At=a] (22)
定义∈-贪婪行为策略:采用∈-贪婪行为策略来确定当前状态的行为,以
Figure FDA0002347704580000048
的概率选择价值函数最大值的行为,以
Figure FDA0002347704580000049
概率随机选择其它行为:
Figure FDA0002347704580000051
7.根据权利要求6所述的基于强化学习的虚拟机资源调度方法,其特征在于,所述步骤S106具体为,
初始状态:单步期望值ρ=0=0,状态空间S={0}
在每个决策点t,执行如下步骤:
(1)感知当前状态
Figure FDA0002347704580000052
(2)如果
Figure FDA0002347704580000053
则将st添加到S并令V(s,a)=0;
(3)计算虚拟机配置数组
Figure FDA0002347704580000054
(4)基于∈-贪婪行为策略选择行为
Figure FDA0002347704580000055
则优化的虚拟机配置策略
Figure FDA0002347704580000056
也相应地确定;
(5)按
Figure FDA0002347704580000057
的决策进行虚拟机资源调度,并更新如下参数:
Figure FDA0002347704580000058
(6)根据公式(21)计算奖赏值r,更新V(s,a):
Figure FDA0002347704580000059
式中,
Figure FDA00023477045800000510
是下一状态的最大价值函数;
(7)如果
Figure FDA00023477045800000511
则更新单步期望值ρ如下:
Figure FDA00023477045800000512
CN201911401932.6A 2019-12-31 2019-12-31 一种基于强化学习的虚拟机资源调度方法 Pending CN111143036A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911401932.6A CN111143036A (zh) 2019-12-31 2019-12-31 一种基于强化学习的虚拟机资源调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911401932.6A CN111143036A (zh) 2019-12-31 2019-12-31 一种基于强化学习的虚拟机资源调度方法

Publications (1)

Publication Number Publication Date
CN111143036A true CN111143036A (zh) 2020-05-12

Family

ID=70522233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911401932.6A Pending CN111143036A (zh) 2019-12-31 2019-12-31 一种基于强化学习的虚拟机资源调度方法

Country Status (1)

Country Link
CN (1) CN111143036A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052071A (zh) * 2020-09-08 2020-12-08 福州大学 强化学习和机器学习相结合的云软件服务资源分配方法
CN112231091A (zh) * 2020-11-05 2021-01-15 北京理工大学 一种基于强化学习策略的并行云工作流调度方法
CN113095140A (zh) * 2021-03-12 2021-07-09 南京理工大学 基于Q-Learning的移动终端传感器调度方法
CN115550236A (zh) * 2022-08-31 2022-12-30 国网江西省电力有限公司信息通信分公司 一种面向安全中台资源池路由优化的数据保护方法
WO2023207663A1 (zh) * 2022-04-29 2023-11-02 阿里云计算有限公司 流量调度方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052071A (zh) * 2020-09-08 2020-12-08 福州大学 强化学习和机器学习相结合的云软件服务资源分配方法
CN112052071B (zh) * 2020-09-08 2023-07-04 福州大学 强化学习和机器学习相结合的云软件服务资源分配方法
CN112231091A (zh) * 2020-11-05 2021-01-15 北京理工大学 一种基于强化学习策略的并行云工作流调度方法
CN112231091B (zh) * 2020-11-05 2022-08-23 北京理工大学 一种基于强化学习策略的并行云工作流调度方法
CN113095140A (zh) * 2021-03-12 2021-07-09 南京理工大学 基于Q-Learning的移动终端传感器调度方法
WO2023207663A1 (zh) * 2022-04-29 2023-11-02 阿里云计算有限公司 流量调度方法
CN115550236A (zh) * 2022-08-31 2022-12-30 国网江西省电力有限公司信息通信分公司 一种面向安全中台资源池路由优化的数据保护方法
CN115550236B (zh) * 2022-08-31 2024-04-30 国网江西省电力有限公司信息通信分公司 一种面向安全中台资源池路由优化的数据保护方法

Similar Documents

Publication Publication Date Title
CN111143036A (zh) 一种基于强化学习的虚拟机资源调度方法
Ge et al. GA-based task scheduler for the cloud computing systems
Zhang et al. Online adaptive interference-aware VNF deployment and migration for 5G network slice
CN111381950B (zh) 一种面向边缘计算环境基于多副本的任务调度方法和系统
Chunlin et al. Hybrid cloud adaptive scheduling strategy for heterogeneous workloads
CN112039965B (zh) 一种时间敏感网络中的多任务卸载方法及系统
CN108228347A (zh) 一种任务感知的Docker自适应调度系统
JPH07282013A (ja) 分散処理システム
CN112799823B (zh) 边缘计算任务的在线分派调度方法和系统
Ding et al. Kubernetes-oriented microservice placement with dynamic resource allocation
JP4265377B2 (ja) 負荷分散方法及び装置とシステム並びにプログラム
CN106201681B (zh) Hadoop平台下基于预释放资源列表的任务调度方法
Shen et al. Goodbye to fixed bandwidth reservation: Job scheduling with elastic bandwidth reservation in clouds
Ilyushkin et al. The impact of task runtime estimate accuracy on scheduling workloads of workflows
CN117155942A (zh) 一种微服务动态自适应客户端负载均衡方法及系统
Zikos et al. A clairvoyant site allocation policy based on service demands of jobs in a computational grid
CN113190342B (zh) 用于云-边协同网络的多应用细粒度卸载的方法与系统架构
Iverson et al. Hierarchical, competitive scheduling of multiple dags in a dynamic heterogeneous environment
Santoso et al. Hierarchical job scheduling for clusters of workstations
Chatterjee et al. A new clustered load balancing approach for distributed systems
Bensalem et al. Towards optimal serverless function scaling in edge computing network
Wang et al. Geoclone: Online task replication and scheduling for geo-distributed analytics under uncertainties
CN109298932B (zh) 基于OpenFlow的资源调度方法、调度器及系统
CN116880968A (zh) 一种作业调度方法及调度系统
Fan et al. Associated task scheduling based on dynamic finish time prediction for cloud computing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200512

WD01 Invention patent application deemed withdrawn after publication