CN112052071A - 强化学习和机器学习相结合的云软件服务资源分配方法 - Google Patents

强化学习和机器学习相结合的云软件服务资源分配方法 Download PDF

Info

Publication number
CN112052071A
CN112052071A CN202010932875.0A CN202010932875A CN112052071A CN 112052071 A CN112052071 A CN 112052071A CN 202010932875 A CN202010932875 A CN 202010932875A CN 112052071 A CN112052071 A CN 112052071A
Authority
CN
China
Prior art keywords
value
management operation
scheme
current
resource allocation
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
Application number
CN202010932875.0A
Other languages
English (en)
Other versions
CN112052071B (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.)
Fuzhou University
Original Assignee
Fuzhou 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 Fuzhou University filed Critical Fuzhou University
Priority to CN202010932875.0A priority Critical patent/CN112052071B/zh
Publication of CN112052071A publication Critical patent/CN112052071A/zh
Application granted granted Critical
Publication of CN112052071B publication Critical patent/CN112052071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Development Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种强化学习和机器学习相结合的云软件服务资源分配方法。建立面向变化负载的管理操作决策模型。首先,使用强化学习方法,针对历史数据计算每一管理操作在不同环境、状态下的Q值;其次,使用机器学习方法,基于Q值预测模型,输入环境和状态,就能预测每一管理操作的Q值;最后,根据Q值预测模型,在运行时进行管理操作决策,通过反馈控制,逐步推理合适的资源分配方案。本发明方法使用在实际应用RUBiS中,结果显示:本发明方法能够提高云应用资源分配的有效性,管理操作决策的正确性达到92.3%,相比传统机器学习方法,资源分配效果提高约6%。

Description

强化学习和机器学习相结合的云软件服务资源分配方法
技术领域
本发明属于软件工程云计算领域,具体涉及一种强化学习和机器学习相结合的云软件服务资源分配方法。
背景技术
云计算的发展使得应用系统可以按需使用资源。将软件部署在云中,可以利用云平台的资源池,根据负载变化对资源进行动态调整,一方面能够满足应用性能需求,如降低响应时间,与用户高效交互,另一方面能满足服务质量要求,如降低资源成本、提高数据吞吐率。因此,管理员动态进行资源分配,需要保证软件服务质量同时降低资源开销。自适应资源分配是实现资源动态调整的主要技术手段。
一些自适应技术已经被应用到云资源管理中,包括启发式方法、控制论和机器学习。传统的自适应方法如启发式方法往往基于专家知识,针对每个系统单独制定一套管理规则,成本高、效率低且范围受限。基于控制论的资源分配方法则需要大量的迭代来找到合适的资源分配方案,频繁的虚拟机开关会导致高昂的额外开销。机器学习方法需要大量的历史数据来建立准确的QoS预测模型,导致在实际中预测模型的准确度往往不高,这极大影响了资源分配的有效性。强化学习要求环境固定(负载),针对固定负载,可以使用运行数据训练决策模型,负载变化则需要重新训练,因此,很难应用在负载多变的实际环境中。
发明内容
本发明的目的在于提供一种强化学习和机器学习相结合的云软件服务资源分配方法,该方法能够提高云应用资源分配的有效性,相比传统机器学习方法,资源分配效果大大提高。
为实现上述目的,本发明的技术方案是:一种强化学习和机器学习相结合的云软件服务资源分配方法,包括如下步骤:
步骤S1、使用强化学习方法,针对历史数据计算每一管理操作在不同环境、状态下的Q值;
步骤S2、使用机器学习方法,训练管理操作的Q值预测模型,而后,基于Q值预测模型,输入当前环境和状态,预测每一管理操作的Q值;
步骤S3、根据Q值预测模型,在运行时进行管理操作决策,通过反馈控制,逐步推理调整资源分配。
在本发明一实施例中,步骤S1中,以工作负载作为环境、已分配的资源作为状态、每一种类型虚拟机数量增减一台作为管理操作、达到目标资源分配方案作为奖励,使用Q-Learning算法计算相应环境、状态下每一管理操作的Q值。
在本发明一实施例中,所述使用Q-Learning算法计算相应环境、状态下每一管理操作的Q值的具体过程如下:
S31、初始化Q值表;
S32、将当前虚拟机配置方案vmcurrent随机初始化为可供选择的虚拟机配置方案VMoptional中的任意方案,若当前虚拟机配置方案vmcurrent不是目标资源分配方案vmobjective时,基于当前虚拟机配置方案vmcurrent在对应奖励值表reward_table中随机选取奖励值大于-1的动作作为action;
S33、利用奖励函数公式计算步骤S32的动作action对应的reward值,基于该action得出下一步配置方案vmnext;奖励函数公式如下:
Figure BDA0002670561580000021
所有的奖励值初始值设为0,若在当前虚拟机分配方案vmallocated下通过选择动作action即可转变为最优配置vmobjective,则将在此分配方案下对应动作的奖励值设为10;若在当前虚拟机分配方案vmallocated下通过选择动作action转变为一种不存在于VMoptional中的分配状态,则将在此分配方案下对应动作的奖励值设为-1;
S34、基于下一步配置方案vmnext选出最大的Q值maxQ(vmnext,action’);
S35、根据Q值更新公式对当前配置方案的Q值进行迭代更新,每执行一步策略就更新一次值函数估计,并将vmnext标记为当前方案vmcurrent,完成状态的转换;
通过重复步骤S32-S35计算从当前方案到最优方案的每一可选方案管理操作的Q值。
在本发明一实施例中,步骤S2中,使用机器学习方法,训练管理操作的Q值预测模型之前,需对基于Q-learning算法计算出的管理操作Q值进行预处理,具体Q值预处理公式如下:
Figure BDA0002670561580000022
在本发明一实施例中,步骤S2中,所述机器学习方法为SVM、CART和NLREG机器学习方法。
在本发明一实施例中,步骤S3中,根据当前环境、状态和软件服务质量,使用预测模型计算不同类型管理操作的Q值,比较不同类型管理操作的Q值,进行管理操作决策,通过反馈控制,逐步寻找目标资源分配方案。
在本发明一实施例中,步骤S3中,根据Q值预测模型,在运行时进行管理操作决策,采用的决策算法实现如下:
S71、输入当前工作负载和虚拟机配置,对于将当前分配方案转变为不合法分配方案的管理操作,其Q值设为临界值I,对于将当前分配方案转变为合法分配方案的管理操作,其Q值根据管理操作Q值预测模型进行计算;
S72、当除临界值I以外所有类型管理操作的Q值均小于或等于阈值T时,不再需要执行任何管理操作,即找到目标资源分配方案,结束;
S73、当存在其中一类型管理操作的Q值大于阈值T时,执行具有最小Q值的管理操作,即继续寻找目标资源分配方案,重新执行步骤S71。
相较于现有技术,本发明具有以下有益效果:本发明方法能够提高云应用资源分配的有效性,相比传统机器学习方法,资源分配效果大大提高。
附图说明
图1为本发明的架构图。
图2为在十种场景下本发明方法与理想方法得出不同分配方案的适应度函数值(Fitness)对比图。
图3为本发明在距离理想方案不同步数时基于Q值预测的管理操作决策准确度。
图4为在十种场景下本发明方法与传统机器学习方法得出不同分配方案的适应度函数值(Fitness)对比图。
图5为在十种场景下本发明方法与规则驱动学习方法得出不同分配方案的适应度函数值(Fitness)对比图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供了一种强化学习和机器学习相结合的云软件服务资源分配方法,包括如下步骤:
步骤S1、使用强化学习方法,针对历史数据计算每一管理操作在不同环境、状态下的Q值;
步骤S2、使用机器学习方法,训练管理操作的Q值预测模型,而后,基于Q值预测模型,输入当前环境和状态,预测每一管理操作的Q值;
步骤S3、根据Q值预测模型,在运行时进行管理操作决策,通过反馈控制,逐步推理调整资源分配。
步骤S1中,以工作负载作为环境、已分配的资源作为状态、每一种类型虚拟机数量增减一台作为管理操作、达到目标资源分配方案作为奖励,使用Q-Learning算法计算相应环境、状态下每一管理操作的Q值。
所述使用Q-Learning算法计算相应环境、状态下每一管理操作的Q值的具体过程如下:
S31、初始化Q值表;
S32、将当前虚拟机配置方案vmcurrent随机初始化为可供选择的虚拟机配置方案VMoptional中的任意方案,若当前虚拟机配置方案vmcurrent不是目标资源分配方案vmobjective时,基于当前虚拟机配置方案vmcurrent在对应奖励值表reward_table中随机选取奖励值大于-1的动作作为action;
S33、利用奖励函数公式计算步骤S32的动作action对应的reward值,基于该action得出下一步配置方案vmnext;奖励函数公式如下:
Figure BDA0002670561580000041
所有的奖励值初始值设为0,若在当前虚拟机分配方案vmallocated下通过选择动作action即可转变为最优配置vmobjective,则将在此分配方案下对应动作的奖励值设为10;若在当前虚拟机分配方案vmallocated下通过选择动作action转变为一种不存在于VMoptional中的分配状态,则将在此分配方案下对应动作的奖励值设为-1;
S34、基于下一步配置方案vmnext选出最大的Q值maxQ(vmnext,action’);
S35、根据Q值更新公式对当前配置方案的Q值进行迭代更新,每执行一步策略就更新一次值函数估计,并将vmnext标记为当前方案vmcurrent,完成状态的转换;
通过重复步骤S32-S35计算从当前方案到最优方案的每一可选方案管理操作的Q值。
在本发明一实施例中,步骤S2中,使用机器学习方法,训练管理操作的Q值预测模型之前,需对基于Q-learning算法计算出的管理操作Q值进行预处理,具体Q值预处理公式如下:
Figure BDA0002670561580000042
步骤S2中,所述机器学习方法为SVM、CART和NLREG机器学习方法。
步骤S3中,根据当前环境、状态和软件服务质量,使用预测模型计算不同类型管理操作的Q值,比较不同类型管理操作的Q值,进行管理操作决策,通过反馈控制,逐步寻找目标资源分配方案。
步骤S3中,根据Q值预测模型,在运行时进行管理操作决策,采用的决策算法实现如下:
S71、输入当前工作负载和虚拟机配置,对于将当前分配方案转变为不合法分配方案的管理操作,其Q值设为临界值I,对于将当前分配方案转变为合法分配方案的管理操作,其Q值根据管理操作Q值预测模型进行计算;
S72、当除临界值I以外所有类型管理操作的Q值均小于或等于阈值T时,不再需要执行任何管理操作,即找到目标资源分配方案,结束;
S73、当存在其中一类型管理操作的Q值大于阈值T时,执行具有最小Q值的管理操作,即继续寻找目标资源分配方案,重新执行步骤S71。
以下为本发明的具体实现过程。
本发明提出一种强化学习和机器学习相结合的云软件服务自适应资源分配方法,如下:
将强化学习与机器学习结合,建立面向变化负载的管理操作决策模型。使用强化学习方法,针对历史数据,计算每一管理操作在不同环境、状态下的Q值;
进一步使用机器学习方法,基于上述数据训练Q值预测模型,输入环境和状态就能预测每一管理操作的Q值;
最后,基于Q值预测模型,在系统运行过程中进行管理操作决策,通过反馈控制,逐步推理合适的资源分配方案。
将方法使用在实际应用RUBiS中,结果显示:方法能够提高云应用资源分配的有效性,管理操作决策的正确性达到92.3%,相比传统机器学习方法,资源分配效果提高6%。
1、本发明需解决问题:
随着时间的推移,基于云的软件服务的质量也会随着时间的变化而变化。环境变化分为两种:外部变化和内部变化。外部因素主要是指工作负载(WL);内部因素是指分配的资源(VM)。在为基于云的软件服务分配资源时,云工程师或自适应系统应根据预设目标在服务质量(QoS)和资源成本(Cost)之间取得平衡。预设目标参考由适应度函数计算的评估值(Fitness),如公式(1)所示,更好的资源分配方案将获得较小的适应度函数值。因此,可以预测当前工作负载下每个可能的资源分配方案的适应度函数评估值,以便做出更有效的决策。在云软件服务运行过程中,云管理员或者自适应系统需要衡量好服务质量和资源代价之间的关系,在保证服务质量良好的场景下,使得资源代价越小越好。
Fitness=r1*1/QoS+r2*Cost (1)
评估值的一个组成部分是资源成本。一般来说,为云软件服务分配的计算资源越多,服务质量越好。但是,计算资源数量和资源成本密切相关。资源成本主要来自虚拟机的租赁成本(CostL)和非连续成本(CostD),如公式(2)所示。CostL是所有已分配的虚拟机的总价,而CostD是关闭已分配的虚拟机时的总损失值。频繁的调整会带来不必要的成本,其中包括计算和系统的额外费用。The discontinued cost可以通过避免不必要地关闭已分配的虚拟机来最大程度地减少不必要的成本,并保持软件服务的稳定性。
Cost=CostL+CostD (2)
评估值的另一个组成部分是QoS值(QoS),它可以包括服务水平协议(SLA)通常指定的指标,例如响应时间(RT),数据吞吐量(DH)等,如公式(3)所示。例如,RT是响应软件服务请求所花费的总时间。DH是对系统在给定时间内可以处理多少个信息单元的度量。
QoS=SLA(RT,DH,…) (3)
根据上述定义,对云软件服务资源规划问题进行形式化。当前环境被描述为当前工作负载(WL)和当前资源分配方案(VMallocated),如表1所示。工作负载被表示为(xi,0xi,1…xi,w),其中xi,0表示当前工作负载数,xi,m(1≤m≤w)表示当前负载下不同任务类型的比例。当前资源分配方案被表示为(xi,w+1xi,w+2…xi,w+r),其中xi,w+n(1≤n≤r)表示第n种类型的虚拟机资源数。
表1:运行时环境下的数据集
Figure BDA0002670561580000061
对于任一当前环境,对应多个可供选择的资源分配方案,如表2所示。可供选择的资源分配方案(VMobjective)被表示为(xi,w+r+1xi,w+r+2…xi,w+r+r),其中xi,w+r+n(1≤n≤r)表示第n种类型的虚拟机资源数,与该可选资源分配方案对应的QoS、Cost、Fitness分别被表示为xi,w+2r+1,xi,w+2r+2,xi,w+2r+3
表2:资源分配方案数据集
Figure BDA0002670561580000062
不同的虚拟机分配方案对应不同的Fitness值,本申请的目标方案即最优配置应同时考虑QoS值和Cost值,由管理员根据当前环境和软件服务的实际运行数据得出具有最小Fitness值的方案作为理想的目标方案,即对于表1中的任一当前环境,在对应的表2中搜索最优配置(VMobjective)。
然而,选择合适的资源分配方案难度较大。传统的方法基于专家知识来计算目标方案,针对每个系统单独制定一套管理规则,成本高、效率低且范围受限;控制论方法通过不断迭代尝试来寻找目标方案,频繁的虚拟机开关会导致高昂的额外开销;机器学习方法通过建立QoS预测模型来搜索目标方案,它需要大量的历史数据来建立准确的QoS预测模型,导致在实际中预测模型的准确度不高,极大影响了资源分配的有效性;强化学习要求环境固定(负载),针对固定负载,可以使用运行数据训练决策模型,负载变化则需要重新训练,因此,很难应用在负载多变的实际环境中。
2、本发明方法:
本发明提出了一种强化学习和机器学习相结合的云软件服务自适应资源分配方法,如图1所示,将强化学习与机器学习结合,建立面向变化负载的管理操作决策模型,具体包括三个步骤,如下。
首先,使用强化学习方法,针对历史运行数据计算每一管理操作在不同环境、状态下的Q值。历史运行数据的每一条数据记录了某一时刻的工作负载、已分配资源(每一种类型的虚拟机数量),以及在该场景下的目标资源分配方案;将工作负载作为环境、分配的资源为状态、每一种类型虚拟机数量增减一台作为管理操作、达到目标资源分配方案作为奖励,使用Q-Learning算法计算该场景(工作负载、已分配资源)下每一管理操作的Q值。
其次,根据管理经验对数据预处理,使用机器学习方法训练管理操作的Q值预测模型。从迭代推理目标资源分配方案的角度,根据管理经验,对Q-Learning算法得到的管理操作Q值进行预处理;使用SVM等机器学习方法训练管理操作的Q值预测模型,输入当前环境(工作负载)、状态(已分配资源)和软件服务质量,就能预测每一类型管理操作的Q值。
最后,基于Q值预测模型在运行时进行管理操作决策,逐步推理合适的资源分配方案。在系统运行过程中,根据当前工作负载、已分配资源和软件服务质量,使用预测模型计算不同类型管理操作的Q值,比较不同类型管理操作的Q值,进行管理操作决策,通过反馈控制,逐步寻找目标资源分配方案。
2.1 管理操作的Q值计算
由于基于强化学习的自动决策方法不需要应用程序性能模型的相关先验知识,因此该方法非常适用于云计算环境。强化学习是一种反复试验的探索学习机制,通过代理与环境交互,从而随后对目标进行自动化学习并制定良好的决策。它要求在学习初期就预先制定良好的策略,以在最佳步长中实现收敛。它通过交互积累知识,交互包括观察状态的当前配置,选择有效的配置操作及对于给定状态下不同操作进一步评估得到的即时奖励。
强化学习任务通常用马尔科夫决策过程(Markov Decision Process,简称MDP)来描述。假定代理处于环境E中,所有可能存在的状态空间标记为S,其中对于每个状态s∈S都是机器感知到的环境的描述。代理能采取的所有动作构成动作空间标记为A,其中对于每个作用在当前状态s的动作a∈A,潜在的转移函数P将使得环境从当前状态按某种概率或某种规则转移成另一个状态。在进行状态转移的同时,环境会根据潜在的“奖励”(reward)函数R给代理反馈一个奖励值。综合上述过程,强化学习任务对应了四元组E=<S,A,P,R>。
在环境中,代理是决策者,它观察当前状态s∈S,选择动作a∈A,通过强化学习策略计算选择该动作得到的即时奖励,所选动作的执行导致状态转移为s’并立即获得奖励R(s,a),使用值函数Q(s,a)对其进行更新。Q(s,a)指的是在某个状态s(s∈S)下采取某个动作a(a∈A)能够获得的价值,其更新方式被描述如下:
Q(s,a)←Q(s,a)+α[reward’+γmaxQ(s’,a’)-Q(s,a)] (4)
其中,reward’表示当处于状态s下采取动作a之后得到的即时回报,s’表示状态s采取动作a将会转移的下一状态,a’表示处于状态s’下采取的新动作a’,α表示学习速率,γ表示对未来预期回报的折扣参数。
目前,基于模型的学习算法区别主要在于模型更新的方式。在本文中,我们采用Q-learning算法来指导学习过程。表3列出了本文中使用的符号及其说明。本文的强化学习任务四元组如表4所示。在本文中,每一个状态s包括当前工作负载WLcurrent=(xi,0xi,1…xi,w)和当前虚拟机分配方案vmallocated=(xi,w+1xi,w+2…xi,w+r),其中xi,0表示当前工作负载数,xi,m(1≤m≤w)表示当前负载下不同任务类型的比例,xi,w+n(1≤n≤r)表示第n种类型的虚拟机资源数。状态空间S包含了在当前工作负载WLcurrent下,从当前虚拟机分配方案vmallocated通过对每种类型虚拟机进行添加和删减转变为最优配置vmobjective的所有可能存在状态,其中所有可能存在状态被表示为集合VMoptional。动作空间A={add1,remove1,add2,remove2,…,addr,remover},包括对每种类型虚拟机进行添加和删减的两种动作,其中addn表示添加一台第n种类型的虚拟机,removen表示删减一台第n种类型的虚拟机。采用ε-greedy算法作为动作选取策略,其中以低概率1-ε选择随机动作。潜在的转移函数P(s,s')是状态密度函数为Pr(st+1=s'|st=s,at=a)的概率密度函数。奖励函数R的公式如(5)所示,所有的奖励值初始值设为0,若在当前虚拟机分配方案vmallocated下通过选择动作a(a∈A)即可转变为最优配置vmobjective,则将在此分配方案下对应动作的奖励值设为10;若在当前虚拟机分配方案vmallocated下通过选择动作a(a∈A)转变为一种不存在于VMoptional中的分配状态,则将在此分配方案下对应动作的奖励值设为-1。
Figure BDA0002670561580000081
表3:符号及含义
Figure BDA0002670561580000082
Figure BDA0002670561580000091
表4:强化学习任务四元组
Figure BDA0002670561580000092
本申请采用Q-learning作为强化学习算法。表5-a描述了算法的输入数据集,每一条数据记录了某一时刻的工作负载WLcurrent、已分配资源vmallocated,以及在该场景下的目标资源分配方案vmobjective。算法1描述了在工作负载为WLcurrent、已分配资源为vmallocated,以及目标资源分配方案为vmobjective场景下计算得出对应Q值表的Q-learning算法:初始化Q值表(line1)。强化学习通过多次回合迭代计算从当前方案到最优方案的每一可选方案管理操作的Q值,从而让Q值得到收敛(line2)。在每一个回合迭代计算过程中,将当前虚拟机配置方案vmcurrent随机初始化为可供选择的虚拟机配置方案VMoptional中的任意方案(line3),若当前虚拟机配置方案vmcurrent不是目标资源分配方案vmobjective时,基于当前虚拟机配置方案vmcurrent在对应奖励值表reward_table中随机选取奖励值大于-1的动作作为action(line5-6),利用公式(5)计算该动作action对应的reward值(line7),基于该action得出下一步配置方案vmnext(line8),基于下一步配置方案vmnext选出最大的Q值maxQ(vmnext,action’)(line9),根据Q值更新公式对当前配置方案的Q值进行迭代更新(line10),每执行一步策略就更新一次值函数估计,并将vmnext标记为当前方案vmcurrent,完成状态的转换(line11)。表5-a描述了算法1的输入,即,每一条数据记录了某一时刻的工作负载、已分配资源,以及该场景下的目标资源分配方案;表5-b描述了算法1的输出,即,每一条数据记录了某一时刻的工作负载、已分配资源,以及该场景下的目标资源分配方案和每一管理操作的Q值;表5-a中的每一条数据,将生成表5-b中的一条数据,即增加了对应场景下每一管理操作的Q值。
Figure BDA0002670561580000093
Figure BDA0002670561580000101
表5-a:算法1的输入
Figure BDA0002670561580000102
表5b:算法1的输出
Figure BDA0002670561580000103
2.2 管理操作Q值预测模型训练
如上文所述,根据管理操作Q值决策管理操作,从而逐步得到合适的资源分配方案。然而,由Q-learning得到的管理操作Q值存在如下问题,将干扰管理操作的决策:
A)在采用Q-learning算法的过程中,可以观察得出表中数据越远离目标分配方案,其Q值越小,当分配方案通过某种管理操作转变为不属于可选资源分配方案的方案时,该资源分配方案为不合法方案,即某种类型虚拟机的数量为负或超出某种类型虚拟机最大可分配数量,此时Q值突变为0,变化情况与其他明显不符。如表6-c所示,横轴代表第二种类型虚拟机数量,纵轴代表第三种类型虚拟机数量,当负载为(5000,0.45,0.55),第一种类型虚拟机数量为0时,对于管理操作add2即增加第二种类型虚拟机数量,第二种类型虚拟机为8时,无论第三种类型虚拟机数量多少,Q值始终为0,并不受到表中其他数据的影响,不存在Q值渐变情况,此时直接对该处Q值进行预测结果不精准。
B)同一个操作,越靠近目标资源分配方案Q值越大,而当位于目标资源分配方案时,Q值为0,拟合函数存在奇点,其拟合函数难以准确预测目标资源分配方案附近的管理操作Q值。如表6-c所示,负载为(5000,0.45,0.55)且第一种类型虚拟机数量为0,横轴代表第二种类型虚拟机数量,纵轴代表第三种类型虚拟机数量,当已分配方案为025时,采取管理操作add2即增加第二种类型虚拟机数量,Q值为10,对应目标分配方案035,Q值为0;如表6-e所示,负载为(5000,0.45,0.55)且第一种类型虚拟机数量为0,横轴代表第二种类型虚拟机数量,纵轴代表第三种类型虚拟机数量,当已分配方案为044时,采取管理操作add3即增加第三种类型虚拟机数量,Q值为10,对应目标分配方案045,Q值为0。越接近目标分配方案,其Q值越大,而当位于目标分配方案时,Q值为0。
表6-a:当WLcurrent=(5000,0.45,0.55)且action=add1时Q值表部分示例
Figure BDA0002670561580000111
表6-b:当WLcurrent=(5000,0.45,0.55)且action=remove1时Q值表部分示例
Figure BDA0002670561580000112
表6-c:当WLcurrent=(5000,0.45,0.55)且action=add2时Q值表部分示例
Figure BDA0002670561580000113
Figure BDA0002670561580000121
表6-d:当WLcurrent=(5000,0.45,0.55)且action=remove2时Q值表部分示例
Figure BDA0002670561580000122
表6-e:当WLcurrent=(5000,0.45,0.55)且action=add3时Q值表部分示例
Figure BDA0002670561580000123
表6-f:当WLcurrent=(5000,0.45,0.55)且action=remove3时Q值表部分示例
Figure BDA0002670561580000124
以表6-a、6-b、6-c、6-d、6-e、6-f为例,根据上述步骤处理,得到表7-a、7-b、7-c、7-d、7-e、7-f。如表6、7所示,1、对于同一负载和当前资源分配方案,对于将当前分配方案转变为不合法分配方案的管理操作Q值设为I;2、对于同一负载和当前资源分配方案,将执行Q值小的管理操作(原Q值的倒数);3、当所有操作的Q值为0时,表示当前虚拟机方案即目标资源分配方案。
表7-a:当WLcurrent=(5000,0.45,0.55)且action=add1时对Q值表进行预处理后的部分示例
Figure BDA0002670561580000131
表7-b:当WLcurrent=(5000,0.45,0.55)且action=remove1时对Q值表进行预处理后的部分示例
Figure BDA0002670561580000132
表7-c:当WLcurrent=(5000,0.45,0.55)且action=add2时对Q值表进行预处理后的部分示例
Figure BDA0002670561580000133
表7-d:当WLcurrent=(5000,0.45,0.55)且action=remove2时对Q值表进行预处理后的部分示例
Figure BDA0002670561580000134
Figure BDA0002670561580000141
表7-e:当WLcurrent=(5000,0.45,0.55)且action=add3时对Q值表进行预处理后的部分示例
Figure BDA0002670561580000142
表7-f:当WLcurrent=(5000,0.45,0.55)且action=remove3时对Q值表进行预处理后的部分示例
Figure BDA0002670561580000143
接下来,使用机器学习方法训练管理操作的Q值预测模型。如表8所示,对于每一种类型管理操作,都可以得到单独的数据集。该数据集的主要数据项包括工作负载WL、已分配的虚拟机资源vmallocated,以及当前环境和状态下的软件服务质量QoS和相应管理操作的Q值Q-value,表10中的每一条数据对应表5-b中的一条数据。其中,管理操作Q值预测模型的输入X=(WL,vmallocated,QoS),输出y=(Q-value)。特别的,我们剔除了管理操作Q值为I的记录。
表8:每个管理操作相对应的Q值预测模型训练集
Figure BDA0002670561580000144
本申请使用不同的机器学习方法来研究输入X与输出Y之间的相关性,即y=predict(x)的相关性,本申请主要采用SVM,CART和NLREG来训练迭代Q值预测模型。
Support Vector Machine(SVM)
对于支持向量机(SVM)方法,需要设置超平面方程和核函数。超平面方程如公式(6)所示。
Figure BDA0002670561580000151
其中,X代表输入矩阵,Y代表输出矩阵Y。参数(uT,v)通过高斯核进行特征空间的映射,其函数如公式(7)所示。
Figure BDA0002670561580000152
Classification And Regression Tree(CART)
对于分类回归树(CART)方法,我们需要设置数据集纯度和Gini指标函数的计算公式。数据集的纯度计算如公式(8)。数据集D=(X,Y)包含输入矩阵X和输出矩阵Y。pk是数据集中第k个类别的比例,其中数据集可以分为r类。
Figure BDA0002670561580000153
Figure BDA0002670561580000154
在输入矩阵X的属性列中,属性att的Gini值计算函数被描述为公式(9)。基尼系数最小的一种被认为是最优的配分属性。
Nonlinear Regression(NLREG)
对于非线性回归(NLREG)方法,我们需要将回归方程设置为公式(10)。
Figure BDA0002670561580000155
其中,采用均方误差来进行模型求解,利用最小二乘法建立矩阵来对w和b进行估计以达到最小化yk的目的。
通过以上三种统计学习的回归方法可以得到三个Q值预测模型。基于上述Q值预测模型,对与给定的工作负载和资源分配场景,得到采取对应管理操作的Q值。
2.3 管理操作的运行时决策
基于上述Q值预测模型训练,能够在系统运行过程中进行管理操作决策,决策算法如算法2所示:
A)输入当前负载和虚拟机配置,对于将当前分配方案转变为不合法分配方案的管理操作,其Q值设为临界值I(第2-3行),对于将当前分配方案转变为合法分配方案的管理操作,其Q值根据管理操作Q值预测模型进行计算(第4-6行);
B)当所有类型管理操作的Q值均小于或等于阈值T时(除临界值I以外),不再需要执行任何管理操作(第8-9行),即找到合适的资源分配方案。
C)当存在某一类型管理操作的Q值大于阈值T时,执行具有最小Q值的管理操作(第10-14行),即继续寻找目标资源分配方案。
Figure BDA0002670561580000161
基于上述管理操作决策算法,可以在运行时,通过反馈控制逐步推理目标资源分配方案。每次迭代,根据决策算法计算合适的管理操作类型并执行,直到决策算法输出的管理操作为空,此时,即找到了目标资源分配方案,停止迭代。
3、本发明方法的有效性验证:
本节中,建立云环境并使用RUBiS基准,通过以下三个研究问题评估提出的方法:
RQ1:本发明方法是否能实现系统在不同环境下的自适应资源分配(Section 1)
RQ2:本发明方法中管理操作Q值预测模型的训练代价和决策性能(Section 2)
RQ3:相比传统方法,本发明方法对系统资源分配效果有多大的提升(Section 3)
对于RQ1,实验结果表明,本发明方法推理得到的资源分配方案,均接近理想方案,相比于理想方案,性能差距约2%;对于RQ2,实验结果表明,本发明方法在采用SVM进行模型训练时,管理操作决策的准确率达到93.7%;对于RQ3,实验结果表明,相比于传统机器学习和规则驱动的方法,本发明方法对系统资源分配效果分别提升了5-7%和10-13%。
3.1、RQ1:本发明方法是否能实现系统在不同环境下的自适应资源分配
3.1.1 The Setting
RUBiS基准是根据eBay.com建模的拍卖网站原型。它提供了一个客户端,可以针对各种工作负载模式模拟用户行为,客户数量表示工作负载,用户行为分为浏览页面和竞价拍卖等两种类型。在搭建的云平台上运行该系统,云平台存在三种类型的虚拟机,如表9所示。每种类型的虚拟机的数量分别表示为vmS,vmM和vmL,于是,分配的虚拟机资源可以表示为vmallocated=(vmS,vmM,vmL)。
表9:三种虚拟机类型及其参数
Figure BDA0002670561580000171
公式(11)是反映系统管理目标的适应度函数(Fitness),更好的资源分配方案将获得较小的适应度值。权重r1和r2由云工程师预先定义,反应了他们对QoS和资源成本的不同偏好。例如,较高的r1表示对QoS的敏感性更高,需要更多的虚拟机来保证在相同工作负载下的QoS。r2越高表示对资源成本的敏感度越高,需要更少的虚拟机来降低资源成本。最常见的适应度函数是平衡QoS和资源成本,由于资源和云服务的QoS之间的复杂关系,要实现这一点也具有挑战性。实验中,根据经验设置r1=320和r2=10,以便平衡QoS和资源成本,如公式(11)所示。
Figure BDA0002670561580000172
本申请收集了两个月的系统运行数据,数据集格式如表10所示。数据集中,WLcurrent表示当前工作负载及其请求比例,其中工作负载均匀分布在区间[100,5000],请求比例表示浏览页面在用户行为中所占的比例,分布在区间[0,1],已分配的虚拟机资源vmallocated则是随机生成;针对不同负载、已分配虚拟机资源,管理员根据管理目标,通过尝试得到当前环境、状态下的目标资源分配方案vmobjective。云平台存在三种类型虚拟机,对应的6种管理操作分别是增加或删除一台某种类型的虚拟机,具体表示为add1,remove1,add2,remove2,add3,remove3;采用2.1节中的Q-learning算法,计算不同环境、状态下每一种管理操作的Q值,其中,回合数episode设为100,学习速率α设为1,对未来Reward的衰减值γ设为0.8。
表10:系统历史运行数据的数据集
Figure BDA0002670561580000181
进一步的,采用2.2节中的预处理方法对上述数据进行预处理,并采用SVM、CART和NLREG方法训练不同类型管理操作的Q值预测模型,并选用在决策方面表现最佳的模型,给定的环境和状态,能够预测对应管理操作的Q值。
最后,本发明模拟了十种系统运行场景,每种场景具有不同的工作负载、任务比和已分配的虚拟机资源,如表11所示。采用2.3节中的运行时决策方法,在不同场景下,推理目标资源分配方案。实验中,我们根据经验设定Q值阈值为0.1,当所有管理操作的Q值预测值均小于等于阈值0.1时,不再执行任何管理操作,即找到合适的资源分配方案。
表11:十种场景下的初始工作负载和资源分配方案
Figure BDA0002670561580000182
3.1.2 Measurement
在这一部分,主要验证本发明方法的可行性,因此,衡量指标为:本发明方法推理得到的资源分配方案,是否能够接近理想方案,其性能差距是否能够满足系统管理的要求。
3.1.3 Results
表12列出了上述10种场景下本发明方法得到的资源管理方案和理想方案,结果显示,本发明方法得到的方案均接近理想方案。其中,在场景2、场景4、场景5、场景7和场景9下,本发明方法得到的方案即理想方案;在场景3、场景8下,本发明方法在距离理想方案仅1步管理操作时停止;在场景1、场景6、场景10下,本发明方法达到理想方案后仅额外执行1步管理操作。进一步的,比较本发明方法得到的资源管理方案与理想方案的资源分配效果,即两种资源分配方案的Fitness值,如图2所示,其性能差距仅2%左右,能够满足系统管理的要求。
表12:基于十种场景得到的本发明资源管理方案和理想方案
Figure BDA0002670561580000191
表13以场景9为例,详细介绍本发明方法的资源分配过程。该场景下,工作负载为5000,任务比为0.45,虚拟机初始配置为(0,1,1)。当虚拟机分配方案为(0,1,1)时,管理操作add2的Q值预测值最小,于是,第二种虚拟机的数量增加1台,虚拟机分配方案变为(0,2,1);当虚拟机分配方案为(0,2,1)时,管理操作add3的Q值预测值最小,于是,第三种虚拟机的数量增加1台,虚拟机分配方案变为(0,2,2);当虚拟机分配方案为(0,2,2)时,管理操作add3的Q值预测值最小,于是,第三种虚拟机的数量增加1台,虚拟机分配方案变为(0,2,3);当虚拟机分配方案为(0,2,3)时,管理操作add3的Q值预测值最小,于是,第三种虚拟机的数量增加1台,虚拟机分配方案变为(0,2,4);当虚拟机分配方案为(0,2,4)时,管理操作add3的Q值预测值最小,于是,第三种虚拟机的数量增加1台,虚拟机分配方案变为(0,2,5);当虚拟机分配方案为(0,2,5)时,管理操作add2的Q值预测值最小,于是,第二种虚拟机的数量增加1台,虚拟机分配方案变为(0,3,5);当虚拟机分配方案为(0,3,5)时,所有管理操作的Q值预测值均小于阈值0.10,不再执行任何管理操作,即,找到合适的资源分配方案。
表13:以场景9为例的本发明方法的资源分配过程
Figure BDA0002670561580000201
3.2、RQ2:本发明方法中管理操作Q值预测模型的训练代价和决策性能
3.2.1 The Setting
对于RQ2,采用与RQ1相同的实验设置。管理操作Q值预测模型的输入X=(WL,vmallocated,Qos),输出Y=(Q-value)。在第一节中,本申请采集到两个月的历史数据,其中,3000条作为训练集,1000条作为测试集。
3.2.2 Compared Approaches
为了研究输入X与输出Y之间的相关性,以及模型训练代价,使用3种不同的机器学习方法进行模型训练:Support Vector Machine(SVM)、Classification And RegressionTree(CART)和Nonlinear Regression(NLREG)。
3.2.3 Measurement
采用MSE、MAE和R2作为预测模型的评价指标。
平均绝对误差(MAE)是实际观测值(observedt)与预测观测值(predictedt)之间的绝对差的平均值,如公式(12)所示。
Figure BDA0002670561580000202
R-Squared是用于评估模型的更直观的索引,其值介于0和1之间,其中meant表示平均观测值,如公式(13)所示。
Figure BDA0002670561580000203
管理操作决策准确度(action accuracy rate,AAR)是用于Q值预测模型的管理操作决策准确度,如公式(14)所示。当方法得到的管理操作(详见2.3节)是逐步接近理想方案时,即认定决策正确。其中,N表示测试集数据总数,A表示操作判定为准确的测试集数据条数。
Figure BDA0002670561580000204
3.2.4 Results
表14展示了SVM,NLREG和CART三种方法的模型训练时间,三种方法均能在秒级完成管理操作Q值预测模型的训练,训练代价小。
表14:三种预测模型的训练时长
Figure BDA0002670561580000211
表15中显示了在同一测试集中三个回归预测模型的各项指数。MAE的值排序情况为:NLREG>CART>SVM,R2的值排序情况为:SVM>CART>NLREG,操作判定准确率的值排序情况为SVM>CART>NLREG。SVM模型具有最小的MAE和最高的R2,且其管理操作决策准确率最高,因此SVM模型在管理操作决策方面表现最佳。
表15:三种回归预测模型的评估项
Figure BDA0002670561580000212
接着,研究距离理想方案不同步数时基于Q值预测的管理操作决策准确度,如图3所示,其中,x轴表示距离理想方案的管理操作步数,y轴表示管理操作决策的准确度。随着当前资源配置逐步接近理想方案,管理操作的决策准确度呈下降趋势;例如,当距离理想方案超过7步时,决策准确度达到95%,当距离理想方案超过2步时,决策准确度均超过92%,而当距离理想方案1步或位于理想方案时,决策准确度则分别为90%和88%。因此,距离理想方案较远时,本发明方法往往能够做出正确的管理操作决策,只有当接近理想方案时,决策才会出现偏差,但是,此时的资源分配方案已接近理想方案,能够满足系统管理的要求。
3.3、RQ3:相比传统方法,本发明方法对系统资源分配效果有多大的提升。
3.3.1 The Setting
对于RQ3,采用与RQ1、RQ2相同的实验设置。
3.3.2 Compared Approaches
为了验证本发明方法对系统资源分配效果的提升,将本发明方法与规则驱动方法、传统机器学习方法进行比较。
规则驱动方法:遵循表16中描述的规则,以响应时间RT为判定条件。若响应时间超过1.4s,增加一台大型虚拟机;若响应时间处于1.2s-1.4s间,增加一台中型虚拟机;若响应时间处于1.0s-1.2s间,不采取任何管理操作;若响应时间处于0.8s-1.0s间,减少一台中型虚拟机;若响应时间不大于0.8s,减少一台大型虚拟机。
表16:规则驱动方法的资源分配规则
Conditions Operations
RT>1.4s Increase the number of large virtual machines vm<sub>L</sub> by one
1.2s<RT≤1.4s Increase the number of median virtual machines vm<sub>M</sub> by one
1.0s<RT≤1.2s Keep the numbers of virtual machines of all types unchanged
0.8s<RT≤1.0s Decrease the number of median virtual machines vm<sub>M</sub> by one
RT≤0.8s Decrease the number of large virtual machines vm<sub>L</sub> by one
传统机器学习方法:采用的前期工作作为对比方法,基于QoS预测模型搜索合适的资源分配方案。首先,建立QoS预测模型,采用机器学习方法,基于历史数据训练QoS预测模型,输入工作负载和资源分配方案,能够输出预测的系统QoS;其次,基于遗传算法搜索目标资源方案,根据管理目标计算不同方案的Fitness值(同本发明的适应度函数),并优化搜索过程;于是,给定负载和已分配的虚拟机资源,能够找到合适的资源分配方案。
3.3.3 Measurement
采用适应度函数值即fitness值作为性能提升程度的评价指标,更好的资源分配方案将获得较小的fitness值,适应度函数见公式(11)。
3.3.4 Results
如图4、图5所示,针对以上十种场景,结果表明相比于传统机器学习和规则驱动的方法,本发明方法得出的决策方案对整体资源分配效果分别提升了5-7%和10-13%。其中,传统机器学习方法中QoS模型采用相同数据集和机器学习方法进行训练,其准确率在误差范围不超过0.15的场景下约为77.2%;传统机器学习方法中,建立准确的QoS预测模型需要大量的历史数据,而实际运行历史数据通常不足且变化有限,不能涵盖工作量和分配资源的不同场景,因此QoS预测模型不够准确,导致资源分配效率低;而本发明方法采用强化学习和机器学习相结合的模式,建立管理操作Q值预测模型进行逐步调整资源分配方案,具有更好的资源分配效果。规则驱动方法由专家设定管理规则,这些管理规则往往不能有效处理复杂的资源管理问题,同时,设计规则时需要考虑服务等级协议、每种虚拟机的类型、价格和适应场景等因素,因此,需要专门针对每个系统设计单独的规则,这导致高昂的管理开销和实施难度。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (7)

1.一种强化学习和机器学习相结合的云软件服务资源分配方法,其特征在于,包括如下步骤:
步骤S1、使用强化学习方法,针对历史数据计算每一管理操作在不同环境、状态下的Q值;
步骤S2、使用机器学习方法,训练管理操作的Q值预测模型,而后,基于Q值预测模型,输入当前环境和状态,预测每一管理操作的Q值;
步骤S3、根据Q值预测模型,在运行时进行管理操作决策,通过反馈控制,逐步推理调整资源分配。
2.根据权利要求1所述的强化学习和机器学习相结合的云软件服务资源分配方法,其特征在于,步骤S1中,以工作负载作为环境、已分配的资源作为状态、每一种类型虚拟机数量增减一台作为管理操作、达到目标资源分配方案作为奖励,使用Q-Learning算法计算相应环境、状态下每一管理操作的Q值。
3.根据权利要求2所述的强化学习和机器学习相结合的云软件服务资源分配方法,其特征在于,所述使用Q-Learning算法计算相应环境、状态下每一管理操作的Q值的具体过程如下:
S31、初始化Q值表;
S32、将当前虚拟机配置方案vmcurrent随机初始化为可供选择的虚拟机配置方案VMoptional中的任意方案,若当前虚拟机配置方案vmcurrent不是目标资源分配方案vmobjective时,基于当前虚拟机配置方案vmcurrent在对应奖励值表reward_table中随机选取奖励值大于-1的动作作为action;
S33、利用奖励函数公式计算步骤S32的动作action对应的reward值,基于该action得出下一步配置方案vmnext;奖励函数公式如下:
Figure FDA0002670561570000011
所有的奖励值初始值设为0,若在当前虚拟机分配方案vmallocated下通过选择动作action即可转变为最优配置vmobjective,则将在此分配方案下对应动作的奖励值设为10;若在当前虚拟机分配方案vmallocated下通过选择动作action转变为一种不存在于VMoptional中的分配状态,则将在此分配方案下对应动作的奖励值设为-1;
S34、基于下一步配置方案vmnext选出最大的Q值maxQ(vmnext,action’);
S35、根据Q值更新公式对当前配置方案的Q值进行迭代更新,每执行一步策略就更新一次值函数估计,并将vmnext标记为当前方案vmcurrent,完成状态的转换;
通过重复步骤S32-S35计算从当前方案到最优方案的每一可选方案管理操作的Q值。
4.根据权利要求3所述的强化学习和机器学习相结合的云软件服务资源分配方法,其特征在于,步骤S2中,使用机器学习方法,训练管理操作的Q值预测模型之前,需对基于Q-learning算法计算出的管理操作Q值进行预处理,具体Q值预处理公式如下:
Figure FDA0002670561570000021
5.根据权利要求1所述的强化学习和机器学习相结合的云软件服务资源分配方法,其特征在于,步骤S2中,所述机器学习方法为SVM、CART和NLREG机器学习方法。
6.根据权利要求1所述的强化学习和机器学习相结合的云软件服务资源分配方法,其特征在于,步骤S3中,根据当前环境、状态和软件服务质量,使用预测模型计算不同类型管理操作的Q值,比较不同类型管理操作的Q值,进行管理操作决策,通过反馈控制,逐步寻找目标资源分配方案。
7.根据权利要求6所述的强化学习和机器学习相结合的云软件服务资源分配方法,其特征在于,步骤S3中,根据Q值预测模型,在运行时进行管理操作决策,采用的决策算法实现如下:
S71、输入当前工作负载和虚拟机配置,对于将当前分配方案转变为不合法分配方案的管理操作,其Q值设为临界值I,对于将当前分配方案转变为合法分配方案的管理操作,其Q值根据管理操作Q值预测模型进行计算;
S72、当除临界值I以外所有类型管理操作的Q值均小于或等于阈值T时,不再需要执行任何管理操作,即找到目标资源分配方案,结束;
S73、当存在其中一类型管理操作的Q值大于阈值T时,执行具有最小Q值的管理操作,即继续寻找目标资源分配方案,重新执行步骤S71。
CN202010932875.0A 2020-09-08 2020-09-08 强化学习和机器学习相结合的云软件服务资源分配方法 Active CN112052071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010932875.0A CN112052071B (zh) 2020-09-08 2020-09-08 强化学习和机器学习相结合的云软件服务资源分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010932875.0A CN112052071B (zh) 2020-09-08 2020-09-08 强化学习和机器学习相结合的云软件服务资源分配方法

Publications (2)

Publication Number Publication Date
CN112052071A true CN112052071A (zh) 2020-12-08
CN112052071B CN112052071B (zh) 2023-07-04

Family

ID=73611277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010932875.0A Active CN112052071B (zh) 2020-09-08 2020-09-08 强化学习和机器学习相结合的云软件服务资源分配方法

Country Status (1)

Country Link
CN (1) CN112052071B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416608A (zh) * 2021-01-22 2021-02-26 鹏城实验室 面向云平台性能评估的资源分配方法、装置及存储介质
CN112600906A (zh) * 2020-12-09 2021-04-02 中国科学院深圳先进技术研究院 在线场景的资源分配方法、装置及电子设备
CN112862295A (zh) * 2021-02-02 2021-05-28 上海市城市建设设计研究总院(集团)有限公司 基于q学习的路桥隧养护自主决策方法
CN113254382A (zh) * 2021-07-09 2021-08-13 国家超级计算天津中心 基于超级计算机构建数字数值融合装置的数据处理系统
CN114138416A (zh) * 2021-12-03 2022-03-04 福州大学 面向负载-时间窗口的基于dqn云软件资源自适应分配方法
CN114745392A (zh) * 2022-04-29 2022-07-12 阿里云计算有限公司 流量调度方法
CN116126534A (zh) * 2023-01-28 2023-05-16 哈尔滨工业大学(威海) 一种云资源动态伸缩方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150058265A1 (en) * 2013-08-23 2015-02-26 Vmware, Inc. Automated scaling of multi-tier applications using reinforced learning
CN107995039A (zh) * 2017-12-07 2018-05-04 福州大学 面向云软件服务的资源自学习与自适应分配方法
CN109634719A (zh) * 2018-12-13 2019-04-16 国网上海市电力公司 一种虚拟机调度方法、装置及电子设备
CN111143036A (zh) * 2019-12-31 2020-05-12 广东省电信规划设计院有限公司 一种基于强化学习的虚拟机资源调度方法
CN111314120A (zh) * 2020-01-23 2020-06-19 福州大学 基于迭代QoS模型的云软件服务资源自适应管理框架
US20200241921A1 (en) * 2019-01-28 2020-07-30 EMC IP Holding Company LLC Building neural networks for resource allocation for iterative workloads using reinforcement learning

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150058265A1 (en) * 2013-08-23 2015-02-26 Vmware, Inc. Automated scaling of multi-tier applications using reinforced learning
CN107995039A (zh) * 2017-12-07 2018-05-04 福州大学 面向云软件服务的资源自学习与自适应分配方法
CN109634719A (zh) * 2018-12-13 2019-04-16 国网上海市电力公司 一种虚拟机调度方法、装置及电子设备
US20200241921A1 (en) * 2019-01-28 2020-07-30 EMC IP Holding Company LLC Building neural networks for resource allocation for iterative workloads using reinforcement learning
CN111143036A (zh) * 2019-12-31 2020-05-12 广东省电信规划设计院有限公司 一种基于强化学习的虚拟机资源调度方法
CN111314120A (zh) * 2020-01-23 2020-06-19 福州大学 基于迭代QoS模型的云软件服务资源自适应管理框架

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MENGTING LIN: "Artificial Intelligence-Empowered Resource Management for Future Wireless Communications: A Survey", 中国通信, no. 03 *
闫永明;张斌;郭军;孟煜;: "基于强化学习的SBS云应用自适应性能优化方法", 计算机学报, no. 02 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600906A (zh) * 2020-12-09 2021-04-02 中国科学院深圳先进技术研究院 在线场景的资源分配方法、装置及电子设备
CN112416608A (zh) * 2021-01-22 2021-02-26 鹏城实验室 面向云平台性能评估的资源分配方法、装置及存储介质
CN112416608B (zh) * 2021-01-22 2021-05-11 鹏城实验室 面向云平台性能评估的资源分配方法、装置及存储介质
CN112862295A (zh) * 2021-02-02 2021-05-28 上海市城市建设设计研究总院(集团)有限公司 基于q学习的路桥隧养护自主决策方法
CN112862295B (zh) * 2021-02-02 2022-06-24 上海市城市建设设计研究总院(集团)有限公司 基于q学习的路桥隧养护自主决策方法
CN113254382A (zh) * 2021-07-09 2021-08-13 国家超级计算天津中心 基于超级计算机构建数字数值融合装置的数据处理系统
CN114138416A (zh) * 2021-12-03 2022-03-04 福州大学 面向负载-时间窗口的基于dqn云软件资源自适应分配方法
CN114745392A (zh) * 2022-04-29 2022-07-12 阿里云计算有限公司 流量调度方法
CN116126534A (zh) * 2023-01-28 2023-05-16 哈尔滨工业大学(威海) 一种云资源动态伸缩方法及系统

Also Published As

Publication number Publication date
CN112052071B (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
CN112052071A (zh) 强化学习和机器学习相结合的云软件服务资源分配方法
Chen et al. Self-adaptive resource allocation for cloud-based software services based on iterative QoS prediction model
CN111754000B (zh) 质量感知的边缘智能联邦学习方法及系统
US11487579B2 (en) System and method for resource scaling for efficient resource management
CN110138612A (zh) 一种基于QoS模型自校正的云软件服务资源分配方法
CN111770454B (zh) 移动群智感知中位置隐私保护与平台任务分配的博弈方法
Kaur et al. Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud
CN111314120A (zh) 基于迭代QoS模型的云软件服务资源自适应管理框架
CN108092804B (zh) 基于Q-learning的电力通信网效用最大化资源分配策略生成方法
CN109165081B (zh) 基于机器学习的Web应用自适应资源配置方法
CN110119399B (zh) 基于机器学习的业务流程优化方法
CN111290831B (zh) 一种云计算基于强化学习的虚拟机迁移方法
CN113822456A (zh) 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法
Li et al. Weighted double deep Q-network based reinforcement learning for bi-objective multi-workflow scheduling in the cloud
CN107329887A (zh) 一种基于推荐系统的数据处理方法以及装置
CN113641445B (zh) 基于深度确定性策略的云资源自适应配置方法及系统
Sinclair et al. Adaptive discretization in online reinforcement learning
Li et al. Co-evolutionary multi-colony ant colony optimization based on adaptive guidance mechanism and its application
Chen et al. Boosting the performance of computing systems through adaptive configuration tuning
CN116009990B (zh) 基于宽注意力机制的云边协同元强化学习计算卸载方法
Bensalem et al. Towards optimal serverless function scaling in edge computing network
CN113543160A (zh) 5g切片资源配置方法、装置、计算设备及计算机存储介质
CN109347900A (zh) 基于改进狼群算法的云服务系统自适应演化方法
Goel et al. Octopus: A framework for cost-quality-time optimization in crowdsourcing
CN114138416A (zh) 面向负载-时间窗口的基于dqn云软件资源自适应分配方法

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
GR01 Patent grant
GR01 Patent grant