CN111314120A - 基于迭代QoS模型的云软件服务资源自适应管理框架 - Google Patents
基于迭代QoS模型的云软件服务资源自适应管理框架 Download PDFInfo
- Publication number
- CN111314120A CN111314120A CN202010076102.7A CN202010076102A CN111314120A CN 111314120 A CN111314120 A CN 111314120A CN 202010076102 A CN202010076102 A CN 202010076102A CN 111314120 A CN111314120 A CN 111314120A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- resource
- qos
- particle
- model
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出基于迭代QoS模型的云软件服务资源自适应管理框架,包括数据收集方法、模型训练方法、运行决策方法和资源调整方法;数据收集方法采集虚拟机集群软件服务的工况数据,工况数据包括服务质量QoS值、分配虚拟机、虚拟机资源调整操作及资源调整后的服务质量调整结果值QoSt+1;模型训练方法以多种机器学习方法针对工况数据进行训练建模;所述运行决策方法从模型训练方法生成的模型中选择最优模型,并由最优模型获取最优的虚拟机资源管理方案,并据此生成针对当前虚拟机集群运行工况的决策方案;所述资源调整方法根据决策方案对虚拟机集群进行资源调整操作;本发明能通过提高QoS预测模型的准确度来提高云资源分配的有效性,从而提升云软件服务的性能。
Description
技术领域
本发明涉及云端计算技术领域,尤其是基于迭代QoS模型的云软件服务资源自适应管理框架。
背景技术
随着云计算技术的飞速发展,将软件服务部署在云端,并按需分配云资源,对外提供计算服务的模式已经被广泛应用。在这种服务模式下,如何为基于云的软件服务分配合适的资源,是云软件工程师需要面对的核心问题。一方面,要保证软件服务的服务质量。另一方面,也要考虑云资源的成本。然而,由于软件服务的服务质量需求不同,其外部环境(如工作负载)也是时刻变化的,这使得工程师们对云资源的管理变得越来越困难。为此,本文提出一种面向云软件服务的资源自适应管理框架;首先对云软件服务的资源管理问题进行形式化定义,其次提出一种基于迭代QoS预测模型的资源管理方法。最后设计和实现了云软件服务的资源自适应管理框架。
本发明已在CloudStack跟RUBiS软件服务上设计实验并进行评估验证;实验结果显示:本发明所述方法能提高QoS预测模型的准确度,与传统模型相比准确度提高超过15%;同时,本文方法能提高云资源分配的有效性,性能提高 5%-6%。
发明内容
本发明提出基于迭代QoS模型的云软件服务资源自适应管理框架,能通过提高QoS预测模型的准确度来提高云资源分配的有效性,从而提升云软件服务的性能。
本发明采用以下技术方案。
基于迭代QoS模型的云软件服务资源自适应管理框架,用于通过虚拟机集群承载的云平台的软件服务的管理,所述自适应管理框架包括数据收集方法、模型训练方法、运行决策方法和资源调整方法;所述数据收集方法采集虚拟机集群软件服务的工况数据,所述工况数据包括服务质量QoS值、分配虚拟机、虚拟机资源调整操作及资源调整后的服务质量调整结果值QoSt+1;
所述模型训练方法以多种机器学习方法针对工况数据进行训练建模;
所述运行决策方法从模型训练方法生成的模型中选择最优模型,并由最优模型获取最优的虚拟机资源管理方案,并据此生成针对当前虚拟机集群运行工况的决策方案;
所述资源调整方法根据决策方案对虚拟机集群进行资源调整操作,所述资源调整操作包括对虚拟机集群内承载软件服务的虚拟机进行添加和删除。
所述数据收集方法采集工况数据的方法为:把虚拟机集群软件服务的响应时间数据映射成预定区间内的连续值,作为服务质量QoS值,同时采集与服务质量QoS值对应的负载请求L、已分配虚拟机VM、虚拟机资源调整操作Action;并采集完成虚拟机资源调整操作后的服务质量调整结果值QoSt+1;所述调整操作 Action包括对虚拟机集群内承载软件服务的虚拟机进行添加和删除;
采集工况数据时,所述数据收集方法收集在特定工作负载下,资源调整动作之前的响应时间以及资源调整之后的响应时间,并使用相关的函数将响应时间映射为具体的服务质量值,从而组成对应该工作负载的完整数据集。
所述数据收集方法以响应时间为敏感指标,且设置云软件服务的SLA规定的响应时间容忍度为2s,通过sigmoid函数将响应时间映射成[0,1]区间内的服务质量曲线;所述服务质量曲线为S型变化曲线,以SLA的要求RTSLA作为对称点,越靠近对称点则曲线变化越大。
所述模型训练方法的机器学习方法包括非线性回归、支持向量机和分类与回归树;所述针对工况数据的训练建模为训练迭代QoS预测模型
QoSt+1=F(L,VM,QoSt,Action) (公式4-1)。
所述非线性回归的机器学习方法中,对于当前的工作负载L、分配的虚拟机数量VM、采取的资源管理操作Action以及当前的服务质量QoS值,可以设置的回归方程如下:
公式4-2中,<W,b>是所要求解的参数;
非线性回归的机器学习方法中,设置损失函数为真实值yactual和预测值ypredicted之间的误差平法和,即|yactual-ypredicted|2,可以通过最小二乘法进行参数求解。
所述支持向量机的机器学习方法中,设定训练数据QoSt+1和L、VM、QoSt、 Action之间是线性不可分的,通过引入核函数进行解空间的维度映射;
引入核函数后的超平面方程表示为
其中,<U,v>是所要求解的参数,求解时选用高斯核函数,通过核函数转换后,可以转为对偶问题求解参数,如公式
所述分类与回归树的机器学习方法中,基于训练数据集T={X,Y},采用平法误差最小化标准进行特征选择,生成回归决策树;
若输入空间可以划分为M个区域R1,R2,R3,...,RM,则生成的决策树各节点值为:
然后对于生成后的决策树剪枝形成子树序,并对子树序列进行验证,以选择最优子树。
所述运行决策方法采用基于粒子群优化算法的决策机制;所述粒子群优化算法为采用用遗传算法更新策略的PSO算法,算法中包括用于代替原始粒子的运动的特定运算,所述特定运算包括变异运算和交叉运算;
所述PSO算法中的个体编码、适应度函数以及更新策略,设计如下:
个体编码为问题编码,个体编码的设计方式为:
采用离散编码方式对PSO的粒子进行编码。假设有m种虚拟机,每一种虚拟机的数量表示为vml(1≤l≤m);则某一种资源分配方案的粒子编码可以定义为如下公式:
VM={vm1,vm2,vm3,...,vmm} (公式10);
所述适应度函数是指导粒子群优化算法搜寻求解的方向,适应度函数的设计方式为:
直接采用管理目标函数作为粒子群算法的适应度函数,以使更好的资源分配方案得到更小的适应度函数值,其公式为
所述更新策略为粒子的更新策略,包括突变策略和交叉策略;
所述突变策略是在代表虚拟机的原始粒子中表示虚拟机类型的位点里随机选择一个,然后突变该位点的值,形成一个新的粒子;
所述交叉策略是首先在代表虚拟机的原始粒子中表示虚拟机类型的位点里随机选择两个,再把这两个位点之间的片段替换为局部最优粒子中对应的片段,生成中间临时粒子,然后再随机选取临时粒子的两个位点,用全局最优粒子中相应的片段替换这两位点之间的片段,从而生成新粒子。
所述PSO算法包括以下步骤;
Step1:初始化相关参数的值,所述相关参数包括粒子群大小、最大迭代次数和初始粒子群大小;
Step2:根据公式11计算出每个粒子的适应度值。将每个粒子设为其自身的局部最优粒子,并将适应度值最小的粒子设为全局最优粒子;
Step3:根据突变和交叉运算更新粒子,并重新计算每个粒子的适应度值;
Step4:如果更新后的粒子的适应度值优于其局部最优粒子,则用更新后的粒子替换局部最优粒子;
Step5:如果更新后的粒子的适应度值优于全局最优粒子,则用更新后的粒子替换全局最优粒子;
Step6:继续执行第Step3步,直到满足所需条件,所述的所需条件包括达到最大迭代次数。
所述云平台的资源以虚拟机为单位分配给软件服务;最主要的云平台资源元素是VirtualMachine,每一个VirtualMachine元素都表示一台虚拟机;
每台虚拟机资源的基本信息,包括该虚拟机使用的模板Template元素对应的系统镜像,还包括计算方案ServiceOffering元素对应的CPU内核数、CPU频率、内存,还包括磁盘方案DiskOffering元素对应的分配磁盘空间,还包括网络配置GuestNetwork元素;
资源调整方法的主要方式是通过云平台中和虚拟机相关的元素及其API进行调整;
虚拟机集群软件服务的工况数据则需要借助第三方插件或通过编写数据采集脚本远程执行收集。
本发明的优点在于:对所述云资源的管理是以虚拟机为单位的,可为云软件服务分配合适数量和类型的虚拟机,而且在云软件服务的负载发生变化时,通过迭代QoS模型对云软件服务的资源进行调整判断,从而实现虚拟机分配的自适应。
本发明提出云软件服务资源自适应管理框架,通过构建基于云管理平台的运行时模型,能实时采集云中资源的数据。
本发明能通过提高QoS预测模型的准确度来提高云资源分配的有效性,从而提升云软件服务的性能。
附图说明
下面结合附图和具体实施方式对本发明进一步详细的说明:
附图1是本发明在云资源调整时的示意图
附图2是本发明所述云平台的虚拟机资源元素关系示意图;
附图3是本发明的架构示意图;
附图4是服务质量曲线的示意图;
附图5是本发明的原理示意图。
附图6是粒子更新策略中突变策略的示意图;
附图7是粒子更新策略中交叉策略的示意图;
附图8是云资源的统一操作示意图;
附图9是粒子结构示意图;
附图10是迭代QoS模型准确度的评估数据示意图;
附图11是工况数据的数据集表格示意图。
具体实施方式
如图1-7所示,基于迭代QoS模型的云软件服务资源自适应管理框架,用于通过虚拟机集群承载的云平台的软件服务的管理,所述自适应管理框架包括数据收集方法、模型训练方法、运行决策方法和资源调整方法;所述数据收集方法采集虚拟机集群软件服务的工况数据,所述工况数据包括服务质量QoS值、分配虚拟机、虚拟机资源调整操作及资源调整后的服务质量调整结果值QoSt+1;
所述模型训练方法以多种机器学习方法针对工况数据进行训练建模;
所述运行决策方法从模型训练方法生成的模型中选择最优模型,并由最优模型获取最优的虚拟机资源管理方案,并据此生成针对当前虚拟机集群运行工况的决策方案;
所述资源调整方法根据决策方案对虚拟机集群进行资源调整操作,所述资源调整操作包括对虚拟机集群内承载软件服务的虚拟机进行添加和删除。
所述数据收集方法采集工况数据的方法为:把虚拟机集群软件服务的响应时间数据映射成预定区间内的连续值,作为服务质量QoS值,同时采集与服务质量QoS值对应的负载请求L、已分配虚拟机VM、虚拟机资源调整操作Action;并采集完成虚拟机资源调整操作后的服务质量调整结果值QoSt+1;所述调整操作 Action包括对虚拟机集群内承载软件服务的虚拟机进行添加和删除;
采集工况数据时,所述数据收集方法收集在特定工作负载下,资源调整动作之前的响应时间以及资源调整之后的响应时间,并使用相关的函数将响应时间映射为具体的服务质量值,从而组成对应该工作负载的完整数据集。
所述数据收集方法以响应时间为敏感指标,且设置云软件服务的SLA规定的响应时间容忍度为2s,通过sigmoid函数将响应时间映射成[0,1]区间内的服务质量曲线;所述服务质量曲线为S型变化曲线,以SLA的要求RTSLA作为对称点,越靠近对称点则曲线变化越大。
所述模型训练方法的机器学习方法包括非线性回归、支持向量机和分类与回归树;所述针对工况数据的训练建模为训练迭代QoS预测模型
QoSt+1=F(L,VM,QoSt,Action) (公式4-1)。
所述非线性回归的机器学习方法中,对于当前的工作负载L、分配的虚拟机数量VM、采取的资源管理操作Action以及当前的服务质量QoS值,可以设置的回归方程如下:
公式4-2中,<W,b>是所要求解的参数;
非线性回归的机器学习方法中,设置损失函数为真实值yactual和预测值ypredicted之间的误差平法和,即|yactual-ypredicted|2,可以通过最小二乘法进行参数求解。
所述支持向量机的机器学习方法中,设定训练数据QoSt+1和L、VM、QoSt、 Action之间是线性不可分的,通过引入核函数进行解空间的维度映射;
引入核函数后的超平面方程表示为
其中,<U,v>是所要求解的参数,求解时选用高斯核函数,通过核函数转换后,可以转为对偶问题求解参数,如公式
所述分类与回归树的机器学习方法中,基于训练数据集T={X,Y},采用平法误差最小化标准进行特征选择,生成回归决策树;
若输入空间可以划分为M个区域R1,R2,R3,...,RM,则生成的决策树各节点值为:
然后对于生成后的决策树剪枝形成子树序,并对子树序列进行验证,以选择最优子树。
所述运行决策方法采用基于粒子群优化算法的决策机制;所述粒子群优化算法为采用用遗传算法更新策略的PSO算法,算法中包括用于代替原始粒子的运动的特定运算,所述特定运算包括变异运算和交叉运算;
所述PSO算法中的个体编码、适应度函数以及更新策略,设计如下:
个体编码为问题编码,个体编码的设计方式为:
采用离散编码方式对PSO的粒子进行编码。假设有m种虚拟机,每一种虚拟机的数量表示为vml(1≤l≤m);则某一种资源分配方案的粒子编码可以定义为如下公式:
VM={vm1,vm2,vm3,...,vmm} (公式10);
所述适应度函数是指导粒子群优化算法搜寻求解的方向,适应度函数的设计方式为:
直接采用管理目标函数作为粒子群算法的适应度函数,以使更好的资源分配方案得到更小的适应度函数值,其公式为
所述更新策略为粒子的更新策略,包括突变策略和交叉策略;
所述突变策略是在代表虚拟机的原始粒子中表示虚拟机类型的位点里随机选择一个,然后突变该位点的值,形成一个新的粒子;
所述交叉策略是首先在代表虚拟机的原始粒子中表示虚拟机类型的位点里随机选择两个,再把这两个位点之间的片段替换为局部最优粒子中对应的片段,生成中间临时粒子,然后再随机选取临时粒子的两个位点,用全局最优粒子中相应的片段替换这两位点之间的片段,从而生成新粒子。
所述PSO算法包括以下步骤;
Step1:初始化相关参数的值,所述相关参数包括粒子群大小、最大迭代次数和初始粒子群大小;
Step2:根据公式11计算出每个粒子的适应度值。将每个粒子设为其自身的局部最优粒子,并将适应度值最小的粒子设为全局最优粒子;
Step3:根据突变和交叉运算更新粒子,并重新计算每个粒子的适应度值;
Step4:如果更新后的粒子的适应度值优于其局部最优粒子,则用更新后的粒子替换局部最优粒子;
Step5:如果更新后的粒子的适应度值优于全局最优粒子,则用更新后的粒子替换全局最优粒子;
Step6:继续执行第Step3步,直到满足所需条件,所述的所需条件包括达到最大迭代次数。
所述云平台的资源以虚拟机为单位分配给软件服务;最主要的云平台资源元素是VirtualMachine,每一个VirtualMachine元素都表示一台虚拟机;
每台虚拟机资源的基本信息,包括该虚拟机使用的模板Template元素对应的系统镜像,还包括计算方案ServiceOffering元素对应的CPU内核数、CPU频率、内存,还包括磁盘方案DiskOffering元素对应的分配磁盘空间,还包括网络配置GuestNetwork元素;
资源调整方法的主要方式是通过云平台中和虚拟机相关的元素及其API进行调整;
虚拟机集群软件服务的工况数据则需要借助第三方插件或通过编写数据采集脚本远程执行收集。
实施例1:
本例中,采集的数据集(Data Set)主要包含了四个部分:负载请求L (Workload)、已分配虚拟机VM(Virtual Machine)、对当前已分配虚拟机资源的调整操作Action以及服务质量QoS(Quality of Service)。其中,Action包括添加和删除虚拟机。服务质量包括当前的服务质量值QoSt以及完成相应资源调整操作后的服务质量值QoSt+1。假设有请求的类型有n种,虚拟机的类型有m 种,那么数据集可以表示成图11。
其中,工作负载表示为(xi,1,xi,2,...,xi,n),请求负载类型共有n种,xi,j表示第j种类型的工作负载数量。已经分配给云软件服务的资源表示为 (xi,n+1,xi,n+2,...,xi,n+m),虚拟机的类型共有m种,xi,m+k表示分配的第k种类型的虚拟机数量。Action表示为(xi,m+n+1,xi,m+n+2,...,xi,m+n+n),xi,m+n+p表示对第p种类型虚拟机的调整数量。(xi,m+n+n+1)表示当前的服务质量值QoSt,(yi)表示完成相应资源调整操作后的服务质量值QoSt+1。
实施例2:
本例中,粒子的更新策略中的突变策略:突变是在原始粒子中随机选择一个位点,然后突变该位点的值,形成一个新的粒子。对于某一位点的值,设计了两种突变情况:增加1,减少1,每种情况的概率是1/2。如图2,假设虚拟机有三种类型,突变前粒子为(1,2,6)。经过突变操作后,产生新粒子(1,2,7)。即原粒子中的第3个位点的值增加了1。
交叉策略:交叉包括两个步骤。首先,对于某个粒子,随机选取该粒子中的两个位点,将它们之间的片段替换为局部最优粒子中对应的片段,生成中间临时粒子。其次,再随机选取临时粒子的两个位点,用全局最优粒子中相应的片段替换这两位点之间的片段,从而生成新粒子。图7说明了交叉运算的过程。已知原始粒子为(1,2,7),局部最优粒子为(0,2,6),全局最优粒子为(0,2,5)。先将原始粒子和局部最优粒子的第一、第二位点之间的片段进行交叉,生成中间临时粒子 (0,2,7);再使得临时粒子和全局最优粒子进行第二、第三位点之间的片段进行交叉,产生新粒子(0,2,5)。这样的交叉运算,保证了粒子群逐步朝着最优的方向不断进化和演变。
实施例3:
云软件服务资源中的资源调整方法,是通过云平台管理软件的API接口对云资源进行监控和控制的。通过监控(Monitor)接口,收集云软件服务的各种运行时数据(Datasetof Runtime Data),包括负载的请求数量和种类,已分配的虚拟机种类和数量,以及虚拟机实时的情况。通过控制(Excute)接口,可以针对资源调整方案在云平台上进行相应的部署或停止虚拟机。
资源中,最主要的云资源元素是VirtualMachine,每一个VirtualMachine元素都表示一台虚拟机,即本例所管理的云资源。VirtualMachine描述了该虚拟机资源的基本信息,包括该虚拟机使用的模板Template元素(系统镜像),计算方案ServiceOffering元素(CPU内核数,CPU频率,内存),磁盘方案DiskOffering 元素(分配的磁盘大小),网络配置GuestNetwork元素的相关信息。实际上一个云平台应该还包含有其他元素,本文只对虚拟机直接相关的元素进行处理。
模板或者是系统镜像。在云软件服务资源自适应管理框架中,虚拟机模板起到很关键的作用。软件的部署工作一般都比较繁琐,虚拟机模板可以保存虚拟机的操作系统及其上面安装的应用程序信息。因此,只要安装部署一次云软件服务,并将其制作成一个模板,那么直接根据该模板创建虚拟机既相当在新的虚拟机上部署了云软件服务,只需将其加入云软件的负载均衡中,就实现了对云软件服务的添加资源操作。
ServiceOffering和DiskOffering元素是影响虚拟机工作性能的重要因素。ServiceOffering表示了为虚拟机提供的一个计算资源,包括CPU内核数、CPU 频率和内存大小等信息。DiskOffering表示了为虚拟机提供的磁盘方案,包括分配的磁盘大小等信息。在本文中,给虚拟机分配的DiskOffering根据部署的云应用是固定的,而ServiceOffering则是变化的,不同的ServiceOffering配置表示不同类型的虚拟机。
Volume表示当前存储卷集合,而每一个Volume都代表虚拟机对应的存储卷,可以为虚拟机增加而外的持久块存储。
GuestNetwork表示可以使用的网络,每一个GuestNetwork表示具体的来宾网络,描述了虚拟机使用的基本网络信息。
本例直接使用CloudStack云平台默认的网络分配方案,网络这块只关注ip 分配是否正常。
对于虚拟机及其相关的云资源元素,云平台都提供了对应的操作API,对云资源元素建立统一操作模型,通过配置配置映射,即可实现通过统一操作模型对不同的云资源元素进行操作,如图8所示。
实施例4:
本例中的模型训练方法通过在线学习模块,针对监控接口提供的数据,对数据进行处理,使用多种机器学习模型进行训练,并选择一个最佳模型提供给自适应管理模块。自适应管理模块,结合在线学习模块提供的模型,使用粒子群优化算法搜索出当前环境下的较优解,根据较优解,提供资源调整的决策方案。
在线学习模块中,通过对云资源模块收集的软件服务运行时数据进行处理,使用不同的机器学习方法训练模型,最后选择最佳效果的模型在自适应管理模块中使用。
实施例5:
训练数据集包括:当前软件服务的请求负载、已分配的虚拟机、软件服务的服务质量、对虚拟机资源的添加或删除操作以及该操作之后的软件服务质量。云资源模块中,框架可以采集当前软件服务的工作负载情况、已经分配给软件服务的虚拟机情况以及软件服务的响应时间。因此,框架收集在某个工作负载下,资源调整动作之前的响应时间以及资源调整之后的响应时间,并使用相关的函数将响应时间映射为具体的服务质量值,从而组成一条完整的数据集。
实施例6:
本例中,基于Java语言对本发明使用的粒子群优化算法实现进行简单介绍。本例的粒子是按分配的不同类型虚拟机的数量进行编码的,即一个资源分配方案。因此,需要一个整型变量typeNums表示虚拟机类型的数量以及一个 vmNums数组存储每种类型的虚拟机数量,如图9所示。
实施例6:
本例表述迭代QoS模型准确度的评估。
本例中,收集了RUBiS的运行时数据,共计5000多条。收集数据时,设置负载量从100开始,并且设置负载增量为100,逐步增加到5000。每个负载量下随机设置只浏览和其他行为两类负载类型的比例,以及不同类型的虚拟机数量,启动RUBiS客户端,运行约6分钟,可收集到在某个负载数量、某种负载类型的比例以及虚拟机数量配置下,RUBiS的平均响应时间。
在进行各种负载类型和数量的模拟测试,完成数据集的收集后。基于三种机器学习的方法分别训练迭代QoS预测模型和一般的QoS预测模型。
为了更好的评估模型的准确度,本文将QoS的预测值和实际值定义为QoS predict和QoSactual,并引入允许误差范围E,和置信度P。误差E表示模型预测的服务质量QoS值QoSpredict和实际的值QoSactual之差的绝对值。置信度P 是表示误差在E范围内的QoSpredict数量的比例,如公式(6-2)。
P=Pr(QoSactual-E≤QoSpredicted≤QoSactual+E) (6-2)
在实验中,随机分配4000条数据为训练集,1000条数据为测试集,并设置4个允许的误差范围E来评估模型的准确度,分别是E=0.1,E=0.15,E=0.2 和E=0.25,如图10所示。
针对相同的数据集规模,基于三种机器学习方法进行训练,迭代QoS预测模型的置信度与一般的QoS预测模型相比都有明显的提高。当允许的误差范围设置为0.1时,使用SVM的迭代QoS模型得到的最高准确率比基于CART 的QoS模型的最高准确率还高了46.87%。模型准确性的巨大提高是因为本文的迭代QoS预测模型和以前的QoS模型之间的差异,本例的迭代QoS模型是逐步预测并调整QoS值的,而以前的QoS模型则是直接预测最终的结果,这在数据相对集中的时候,产生的误差会比较大。
很明显,模型的准确度随着误差范围E的增加而增加。对于所有允许的误差范围,本文的方法在使用SVM时会产生最好准确度,例如E=0.1时为 88.89%,E=0.15时为93.35%,E=0.2时为96.03%而E=0.25时则为 97.02%。相比之下,之前的QoS模型最适合的是CART。尽管如此,本文的方法仍然胜过其最佳情况,即96.73%对82.16%。两种模型在NLREG中的准确率最低,原因可能在于回归方程的设置与SVM和CART相比相对简单,因此无法适当地处理云中复杂的情况以进行资源分配。
总的来说,本例的方法可以提高超过15%的更好QoS预测准确度。
Claims (10)
1.基于迭代QoS模型的云软件服务资源自适应管理框架,用于通过虚拟机集群承载的云平台的软件服务的管理,其特征在于:所述自适应管理框架包括数据收集方法、模型训练方法、运行决策方法和资源调整方法;所述数据收集方法采集虚拟机集群软件服务的工况数据,所述工况数据包括服务质量QoS值、分配虚拟机、虚拟机资源调整操作及资源调整后的服务质量调整结果值QoSt+1;
所述模型训练方法以多种机器学习方法针对工况数据进行训练建模;
所述运行决策方法从模型训练方法生成的模型中选择最优模型,并由最优模型获取最优的虚拟机资源管理方案,并据此生成针对当前虚拟机集群运行工况的决策方案;
所述资源调整方法根据决策方案对虚拟机集群进行资源调整操作,所述资源调整操作包括对虚拟机集群内承载软件服务的虚拟机进行添加和删除。
2.根据权利要求1所述的基于迭代QoS模型的云软件服务资源自适应管理框架,其特征在于:所述数据收集方法采集工况数据的方法为:把虚拟机集群软件服务的响应时间数据映射成预定区间内的连续值,作为服务质量QoS值,同时采集与服务质量QoS值对应的负载请求L、已分配虚拟机VM、虚拟机资源调整操作Action;并采集完成虚拟机资源调整操作后的服务质量调整结果值QoSt+1;所述调整操作Action包括对虚拟机集群内承载软件服务的虚拟机进行添加和删除;采集工况数据时,所述数据收集方法收集在特定工作负载下,资源调整动作之前的响应时间以及资源调整之后的响应时间,并使用相关的函数将响应时间映射为具体的服务质量值,从而组成对应该工作负载的完整数据集。
3.根据权利要求2所述的基于迭代QoS模型的云软件服务资源自适应管理框架,其特征在于:所述数据收集方法以响应时间为敏感指标,且设置云软件服务的SLA规定的响应时间容忍度为2s,通过sigmoid函数将响应时间映射成[0,1]区间内的服务质量曲线;所述服务质量曲线为S型变化曲线,以SLA的要求RTSLA作为对称点,越靠近对称点则曲线变化越大。
4.根据权利要求2所述的基于迭代QoS模型的云软件服务资源自适应管理框架,其特征在于:所述模型训练方法的机器学习方法包括非线性回归、支持向量机和分类与回归树;所述针对工况数据的训练建模为训练迭代QoS预测模型
QoSt+1=F(L,VM,QoSt,Action) (公式4-1)。
8.根据权利要求2所述的基于迭代QoS模型的云软件服务资源自适应管理框架,其特征在于:所述运行决策方法采用基于粒子群优化算法的决策机制;所述粒子群优化算法为采用用遗传算法更新策略的PSO算法,算法中包括用于代替原始粒子的运动的特定运算,所述特定运算包括变异运算和交叉运算;
所述PSO算法中的个体编码、适应度函数以及更新策略,设计如下:
个体编码为问题编码,个体编码的设计方式为:
采用离散编码方式对PSO的粒子进行编码;假设有m种虚拟机,每一种虚拟机的数量表示为vml(1≤l≤m);则某一种资源分配方案的粒子编码可以定义为如下公式:
VM={vm1,vm2,vm3,...,vmm} (公式10);
所述适应度函数是指导粒子群优化算法搜寻求解的方向,适应度函数的设计方式为:
直接采用管理目标函数作为粒子群算法的适应度函数,以使更好的资源分配方案得到更小的适应度函数值,其公式为
所述更新策略为粒子的更新策略,包括突变策略和交叉策略;
所述突变策略是在代表虚拟机的原始粒子中表示虚拟机类型的位点里随机选择一个,然后突变该位点的值,形成一个新的粒子;
所述交叉策略是首先在代表虚拟机的原始粒子中表示虚拟机类型的位点里随机选择两个,再把这两个位点之间的片段替换为局部最优粒子中对应的片段,生成中间临时粒子,然后再随机选取临时粒子的两个位点,用全局最优粒子中相应的片段替换这两位点之间的片段,从而生成新粒子。
9.根据权利要求8所述的基于迭代QoS模型的云软件服务资源自适应管理框架,其特征在于:所述PSO算法包括以下步骤;
Step1:初始化相关参数的值,所述相关参数包括粒子群大小、最大迭代次数和初始粒子群大小;
Step2:根据公式11计算出每个粒子的适应度值;将每个粒子设为其自身的局部最优粒子,并将适应度值最小的粒子设为全局最优粒子;
Step3:根据突变和交叉运算更新粒子,并重新计算每个粒子的适应度值;
Step4:如果更新后的粒子的适应度值优于其局部最优粒子,则用更新后的粒子替换局部最优粒子;
Step5:如果更新后的粒子的适应度值优于全局最优粒子,则用更新后的粒子替换全局最优粒子;
Step6:继续执行第Step3步,直到满足所需条件,所述的所需条件包括达到最大迭代次数。
10.根据权利要求8所述的基于迭代QoS模型的云软件服务资源自适应管理框架,其特征在于:所述云平台的资源以虚拟机为单位分配给软件服务;最主要的云平台资源元素是VirtualMachine,每一个VirtualMachine元素都表示一台虚拟机;
每台虚拟机资源的基本信息,包括该虚拟机使用的模板Template元素对应的系统镜像,还包括计算方案ServiceOffering元素对应的CPU内核数、CPU频率、内存,还包括磁盘方案DiskOffering元素对应的分配磁盘空间,还包括网络配置GuestNetwork元素;
资源调整方法的主要方式是通过云平台中和虚拟机相关的元素及其API进行调整;
虚拟机集群软件服务的工况数据则需要借助第三方插件或通过编写数据采集脚本远程执行收集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010076102.7A CN111314120A (zh) | 2020-01-23 | 2020-01-23 | 基于迭代QoS模型的云软件服务资源自适应管理框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010076102.7A CN111314120A (zh) | 2020-01-23 | 2020-01-23 | 基于迭代QoS模型的云软件服务资源自适应管理框架 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111314120A true CN111314120A (zh) | 2020-06-19 |
Family
ID=71147045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010076102.7A Pending CN111314120A (zh) | 2020-01-23 | 2020-01-23 | 基于迭代QoS模型的云软件服务资源自适应管理框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314120A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052071A (zh) * | 2020-09-08 | 2020-12-08 | 福州大学 | 强化学习和机器学习相结合的云软件服务资源分配方法 |
CN112711755A (zh) * | 2020-12-26 | 2021-04-27 | 重庆扬成大数据科技有限公司 | 科技特派员通过云平台进行信息筛选工作方法 |
CN112733999A (zh) * | 2021-01-19 | 2021-04-30 | 昆明理工大学 | 一种基于自我纠错机制粒子群优化算法的服务模式构建方法 |
CN112965813A (zh) * | 2021-02-10 | 2021-06-15 | 山东英信计算机技术有限公司 | 一种ai平台资源调控方法、系统及介质 |
CN113641445A (zh) * | 2021-07-02 | 2021-11-12 | 山东师范大学 | 基于深度确定性策略的云资源自适应配置方法及系统 |
CN114489938A (zh) * | 2022-01-05 | 2022-05-13 | 汕头大学 | 一种基于云边协同模式的用户侧QoS预测模型构建方法 |
CN115086249A (zh) * | 2022-05-23 | 2022-09-20 | 华东师范大学 | 一种基于深度强化学习的云数据中心资源分配方法 |
CN117234882A (zh) * | 2023-09-28 | 2023-12-15 | 哈尔滨工业大学(威海) | 一种在线应用云资源供应软件定义模型构建方法及终端机 |
CN117492934A (zh) * | 2024-01-02 | 2024-02-02 | 深圳市伊登软件有限公司 | 一种基于云服务智能部署的数据处理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102928720A (zh) * | 2012-11-07 | 2013-02-13 | 广东电网公司 | 油浸式主变压器的缺陷率检测方法 |
US8756323B2 (en) * | 2010-11-26 | 2014-06-17 | International Business Machines Corporation | Semantic- and preference-based planning of cloud service templates |
CN104951425A (zh) * | 2015-07-20 | 2015-09-30 | 东北大学 | 一种基于深度学习的云服务性能自适应动作类型选择方法 |
CN107995039A (zh) * | 2017-12-07 | 2018-05-04 | 福州大学 | 面向云软件服务的资源自学习与自适应分配方法 |
CN110138612A (zh) * | 2019-05-15 | 2019-08-16 | 福州大学 | 一种基于QoS模型自校正的云软件服务资源分配方法 |
-
2020
- 2020-01-23 CN CN202010076102.7A patent/CN111314120A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8756323B2 (en) * | 2010-11-26 | 2014-06-17 | International Business Machines Corporation | Semantic- and preference-based planning of cloud service templates |
CN102928720A (zh) * | 2012-11-07 | 2013-02-13 | 广东电网公司 | 油浸式主变压器的缺陷率检测方法 |
CN104951425A (zh) * | 2015-07-20 | 2015-09-30 | 东北大学 | 一种基于深度学习的云服务性能自适应动作类型选择方法 |
CN107995039A (zh) * | 2017-12-07 | 2018-05-04 | 福州大学 | 面向云软件服务的资源自学习与自适应分配方法 |
CN110138612A (zh) * | 2019-05-15 | 2019-08-16 | 福州大学 | 一种基于QoS模型自校正的云软件服务资源分配方法 |
Non-Patent Citations (2)
Title |
---|
XING CHEN等: "Self-adaptive resource allocation for cloud-based software services based on iterative QoS prediction model", 《FUTURE GENERATION COMPUTER SYSTEMS》 * |
王平: "基于云计算的信息资源增值利用模型构建", 《情报杂志》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052071A (zh) * | 2020-09-08 | 2020-12-08 | 福州大学 | 强化学习和机器学习相结合的云软件服务资源分配方法 |
CN112052071B (zh) * | 2020-09-08 | 2023-07-04 | 福州大学 | 强化学习和机器学习相结合的云软件服务资源分配方法 |
CN112711755A (zh) * | 2020-12-26 | 2021-04-27 | 重庆扬成大数据科技有限公司 | 科技特派员通过云平台进行信息筛选工作方法 |
CN112733999A (zh) * | 2021-01-19 | 2021-04-30 | 昆明理工大学 | 一种基于自我纠错机制粒子群优化算法的服务模式构建方法 |
CN112965813A (zh) * | 2021-02-10 | 2021-06-15 | 山东英信计算机技术有限公司 | 一种ai平台资源调控方法、系统及介质 |
CN113641445B (zh) * | 2021-07-02 | 2024-03-26 | 山东师范大学 | 基于深度确定性策略的云资源自适应配置方法及系统 |
CN113641445A (zh) * | 2021-07-02 | 2021-11-12 | 山东师范大学 | 基于深度确定性策略的云资源自适应配置方法及系统 |
CN114489938A (zh) * | 2022-01-05 | 2022-05-13 | 汕头大学 | 一种基于云边协同模式的用户侧QoS预测模型构建方法 |
CN115086249A (zh) * | 2022-05-23 | 2022-09-20 | 华东师范大学 | 一种基于深度强化学习的云数据中心资源分配方法 |
CN115086249B (zh) * | 2022-05-23 | 2023-08-01 | 华东师范大学 | 一种基于深度强化学习的云数据中心资源分配方法 |
CN117234882A (zh) * | 2023-09-28 | 2023-12-15 | 哈尔滨工业大学(威海) | 一种在线应用云资源供应软件定义模型构建方法及终端机 |
CN117234882B (zh) * | 2023-09-28 | 2024-04-16 | 哈尔滨工业大学(威海) | 一种在线应用云资源供应软件定义模型构建方法及终端机 |
CN117492934A (zh) * | 2024-01-02 | 2024-02-02 | 深圳市伊登软件有限公司 | 一种基于云服务智能部署的数据处理方法及系统 |
CN117492934B (zh) * | 2024-01-02 | 2024-04-16 | 深圳市伊登软件有限公司 | 一种基于云服务智能部署的数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111314120A (zh) | 基于迭代QoS模型的云软件服务资源自适应管理框架 | |
US20230216914A1 (en) | Automated server workload management using machine learning | |
CN110138612B (zh) | 一种基于QoS模型自校正的云软件服务资源分配方法 | |
Tanha et al. | A hybrid meta-heuristic task scheduling algorithm based on genetic and thermodynamic simulated annealing algorithms in cloud computing environments | |
Szabo et al. | Science in the cloud: Allocation and execution of data-intensive scientific workflows | |
US9111232B2 (en) | Portable workload performance prediction for the cloud | |
Mahgoub et al. | {OPTIMUSCLOUD}: Heterogeneous configuration optimization for distributed databases in the cloud | |
CN110389820B (zh) | 一种基于v-TGRU模型进行资源预测的私有云任务调度方法 | |
Chen et al. | Self-adaptive trade-off decision making for autoscaling cloud-based services | |
CN110673951B (zh) | 通用运行环境的拟态调度方法、系统及介质 | |
CN109165081B (zh) | 基于机器学习的Web应用自适应资源配置方法 | |
CN112052071B (zh) | 强化学习和机器学习相结合的云软件服务资源分配方法 | |
US11055139B2 (en) | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster | |
CN109586954B (zh) | 一种网络流量预测方法、装置及电子设备 | |
CN113467944B (zh) | 面向复杂软件系统的资源部署装置及方法 | |
US20230394110A1 (en) | Data processing method, apparatus, device, and medium | |
Kafle et al. | Intelligent and agile control of edge resources for latency-sensitive IoT services | |
WO2021127640A1 (en) | Modeling cloud inefficiencies using domain-specific templates | |
JP2014021847A (ja) | リソース管理装置及びリソース管理方法及びプログラム | |
CN104778088A (zh) | 一种基于减少进程间通信开销的并行i/o优化方法与系统 | |
CN112417748A (zh) | 一种调度自动驾驶仿真任务的方法、系统、设备及介质 | |
Ebadifard et al. | A modified black hole-based multi-objective workflow scheduling improved using the priority queues for cloud computing environment | |
CN113448680A (zh) | 价值模型的训练方法以及相关设备 | |
CN116149855A (zh) | 一种微服务架构下中性能资源成本优化方法及系统 | |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200619 |