CN109165081B - 基于机器学习的Web应用自适应资源配置方法 - Google Patents

基于机器学习的Web应用自适应资源配置方法 Download PDF

Info

Publication number
CN109165081B
CN109165081B CN201810930969.7A CN201810930969A CN109165081B CN 109165081 B CN109165081 B CN 109165081B CN 201810930969 A CN201810930969 A CN 201810930969A CN 109165081 B CN109165081 B CN 109165081B
Authority
CN
China
Prior art keywords
response time
machine learning
web application
virtual machines
machine
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.)
Active
Application number
CN201810930969.7A
Other languages
English (en)
Other versions
CN109165081A (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 CN201810930969.7A priority Critical patent/CN109165081B/zh
Publication of CN109165081A publication Critical patent/CN109165081A/zh
Application granted granted Critical
Publication of CN109165081B publication Critical patent/CN109165081B/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/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于机器学习的Web应用自适应资源配置方法,其包括以下步骤:步骤S1:将物理机操作系统虚拟化,分为两个虚拟机,两个虚拟机分别运行各自的操作系统;步骤S2:针对上述两个虚拟机分别提出两个机器学习模型;利用基于机器学习的响应时间的预测模型去预测给定环境变化下的响应时间;步骤S3:利用基于遗传算法的在线决策机制,根据以上的模型制定响应的适应度函数来搜索具有最优响应时间的软硬件资源配置分配方案。本发明可以从历史数据中训练出预测模型并根据遗传算法自动地为Web应用服务分配软硬件资源。

Description

基于机器学习的Web应用自适应资源配置方法
技术领域
本发明属于软件工程云计算领域,具体涉及云环境下软硬件资源的自学习和自适应的分配方法。
背景技术
作为一种基于互联网的指导方法论,云计算可以进入资源共享池,将资源进行合理配置,使这些资源能够被快速提供且恰当运用。在工程实践中,本发明常常需要考虑Web应用工作负载数量的急剧变化与持续增长、网络资源利用率的情况、服务器状态等因素,及时调整Web应用系统的服务器内存分配比例以处理当前的请求量,避免系统因负载过大而部署规模不适应当前需求造成瘫痪。但是,如果本发明为了预防可能产生的未知风险,将Web应用的部署规模始终维持在一个较为庞大的水平上,这对于平时正常情况来说是一种资源浪费现象。若是采用人工进行资源配置的操作繁琐且通常不够及时,因此本发明希望能研究出一种技术,能让Web应用感知网络环境的变化,即Web应用需要一定的自适应能力,随着负载的增加而进行动态配置,实时的调整配置参数从而持续满足应用目标的需求。
作为人工智能的分类学科,机器学习主要是对历史数据或历史经验进行学习、归纳和综合,以此对算法进行优化从而达到改善计算机系统性能的目的。传统情况下需要依靠人工干预的方式给出对应的知识和策略,这很难在线上对资源调度做出实时决策。而若是将机器学习运用到资源自适应配置的知识获取和决策的确定中,通过前期实验采集大量的相关数据,再通过机器学习获取一定的决策与知识库运用到Web应用资源的实时自适应配置中,则会大大提高了系统的自主能力。然而,进行机器学习需要庞大的数据集并选择对应的模型进行训练,因此,数据采集和模型选择至关重要。
发明内容
本发明提出了一种基于机器学习的Web应用自适应资源配置方法。
为实现上述目的,本发明采用依稀技术方案:一种基于机器学习的Web应用自适应资源配置方法,其包括以下步骤:步骤S1:将物理机操作系统虚拟化,分为两个虚拟机,两个虚拟机分别运行各自的操作系统;步骤S2:针对上述两个虚拟机分别提出两个机器学习模型;利用基于机器学习的响应时间的预测模型去预测给定环境变化下的响应时间;步骤S3:利用基于遗传算法的在线决策机制,根据以上的模型制定响应的适应度函数来搜索具有最优响应时间的软硬件资源配置分配方案。
在本发明一实施例中,步骤S2中的基于机器学习的响应时间的预测模型的建立包括以下步骤:
用公式(1)表示基于机器学习的响应时间的预测模型;
Y=predict(X);X=(N,S,H) (1)
其中输入X包括工作负载的数量N、软件资源S和硬件资源H;输出Y是Web应用响应时间的预测值;使用历史数据的数据集来训练该预测模型,数据集主要包含三大类:第一类是软件配置参数,第二类是硬件配置参数,第三类是每次不同软硬件配置状态下该次实验的结果参数;并选取虚拟机CPU与内存利用率作为平均响应时间的辅助参数。
在本发明一实施例中,步骤S2中两个机器学习模型分别为支持向量机SVM方法、分类和回归树CART方法,对于支持向量机SVM方法的机器学习模型,设置超平面方程和核函数,其中超平面方程如公式2所示:
Figure BDA0001766609820000024
X为输入矩阵和Y为输出矩阵;uT,v为通过高斯核进行特征空间的映射X为输入矩阵和Y为输出矩阵;uT,v为通过高斯核函数进行特征空间映射的方程参数;
Figure BDA0001766609820000021
公式3计算了空间中任一点xi到某一点xj之间欧氏距离的单调函数,σ为函数的宽度参数,控制了函数的径向作用范围;
公式2和公式3共同构成了SVM机器学习模型;
对于分类回归树CART方法的机器学习模型,设置数据集纯度和Gini指标函数的计算公式,数据集的纯度计算如公式(4);其中数据集D=(X,Y)包含输入矩阵X和输出矩阵Y,pk是数据集中第k个类别的比例,数据集分为r类;
Figure BDA0001766609820000022
在输入矩阵X的属性列中,属性att的Gini值计算函数被描述为公式(5),Gini系数最小的一种被认为是最优的配分属性;
Figure BDA0001766609820000023
在本发明一实施例中,步骤S3包括以下具体步骤:
步骤S31:初始化参数值,包括种群大小、最大迭代和初始化的染色体数量;
步骤S32:用公式(6)计算每条染色体的适应度值,然后选择适应度函数值fitness最小的染色体为最佳染色体;
fitness=RT (6)
其中RT为响应时间;
步骤S33:通过选择、突变和交叉操作来更新种群;
步骤S34:重新计算每个染色体的适应度函数值,并更新最佳染色体;
步骤S35:迭代次数+1,若迭代次数小于最大迭代次数则跳转到步骤S33。
在本发明一实施例中,步骤S33中的选择采用轮盘赌算法,交叉指遗传过程中两个匹配染色体根据设定的交叉率相互交换基因形成两个新的染色体,变异是指遗传过程中将染色体中的基因根据变异率进行替换形成新的染色体。
较佳的,交叉率0.8,变异率0.2,种群规模20。
与现有技术相比,本发明可以从历史数据中训练出预测模型并根据遗传算法自动地为Web应用服务分配软硬件资源。它的不同之处主要在两个方面。首先,本发明将资源分配的解决方案分为两部分,包括预测模型和决策算法,在训练预测模型时大大减少了搜索空间。其次,本发明可以在大多数资源分配情况下使用,并且同时兼顾软硬件配置。若是在硬件资源已经达到饱和的状态下,通过调整软件资源的相关参数来控制系统资源配置,从而使系统达到最佳性能。同理,若是软件资源达到饱和的状态下,也可以通过调整硬件资源使系统达到最佳性能。此外,本发明的方法可以独立于工作负载变化,不受工作负载变化情况的影响。
附图说明
图1为本发明一实施例的系统虚拟化。
图2为本发明一实施例的“资源分配”染色体的编码方案。
图3为本发明一实施例的基因交叉。
图4为本发明一实施例的基因变异。
图5为本发明一实施例的工作负载变化图。
图6为本发明与真实时间的响应时间对比图。
图7为本发明和固定配置的响应时间对比图。
图8为本发明一实施例的资源配置示意图。
图9为本发明一实施例的自适应资源配置真实时间示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步解释说明。
本发明提供一种基于机器学习的Web应用自适应资源配置方法,其包括以下步骤:步骤S1:将物理机操作系统虚拟化,分为两个虚拟机,两个虚拟机分别运行各自的操作系统;步骤S2:针对上述两个虚拟机分别提出两个机器学习模型;利用基于机器学习的响应时间的预测模型去预测给定环境变化下的响应时间;步骤S3:利用基于遗传算法的在线决策机制,根据以上的模型制定响应的适应度函数来搜索具有最优响应时间的软硬件资源配置分配方案。
Web应用的环境变化会引起响应时间的变化,其中,环境变化又分为外部变化和内部变化。在本发明中,外部变化以工作负载数为主,内部变化以可重配的软硬件资源为主。当运行环境发生变化时,Web应用服务会给出不同的响应时间。如表1所示,在这个问题领域中有三个主要元素,包括外部变化、内部变化和目标对象。外部变化是指具有不同数量的工作负载。内部变化是指分配的软硬件资源,硬件资源以内存资源为主,软件资源以线程池数量资源为主。目标对象是自动为Web应用服务分配合适的软硬件资源以保证服务质量,对此本发明可以细分为两个目标对象,一个是给定环境变化预测Web应用的响应时间,另一个是给定工作负载数,计算出最优的软硬件配置使Web应用的响应时间最小。
表1问题域中的元素描述
Figure BDA0001766609820000041
其中,由于硬件重新配置分区是复杂且繁琐的,因此在本发明中,是在两台虚拟机上进行模拟硬件重配置的。如图1所示,将物理机操作系统虚拟化,一共分为两个虚拟机,他们分别运行各自的操作系统,以达到硬件资源的内存分配的目的。此时,一台物理机的内存等于两台虚拟机内存的总和。进行内存资源分配相当于分配两台虚拟机各自的内存,只需保证内存总和一定,即一共2GB内存,若是一台虚拟机占用了1.5GB内存,则另一台虚拟机只能分配0.5GB内存。
对于上述两个目标对象,本发明提出两个模型进行求解。求解内容一是利用基于机器学习的响应时间的预测模型,即对大量历史数据中进行模型训练去预测给定环境变化下的响应时间;二是利用基于遗传算法的在线决策机制,根据以上的模型制定响应的适应度函数来搜索具有最优响应时间的软硬件资源配置分配方案。
3.模型训练:
预测模型的目的是通过使用工作负载的信息和软硬件资源分配情况为输入来预测Web应用的响应时间。
预测模型被表示为公式1。输入(X)包括工作负载的数量(N),软件资源(S)和硬件资源(H)。输出(Y)是Web应用响应时间的预测值。
Y=predict(X);X=(N,S,H) (1)
本发明使用历史数据的数据集来训练预测模型,数据集主要包含三大类,第一类是软件配置参数,第二类是硬件配置参数,第三类是每次不同软硬件配置状态下该次实验的结果参数。如表2所示。数据集的前三列为第一类数据集,分别代表工作负载数、tomcat连接池数、数据库连接数;第四、五列为第二类数据集,此处表示两台虚拟机的内存比例,总共2GB内存;后五列为第三类数据集,分别表示平均请求响应时间、1号虚拟机的CPU利用率和内存利用率、2号虚拟机的CPU利用率和内存利用率。其中,本发明选取具有代表性的虚拟机CPU与内存利用率作为平均响应时间的辅助参数。
表2数据集
Figure BDA0001766609820000051
本发明使用两种机器学习方法,分别为支持向量机、分类和回归树,用于训练预测模型。这意味着输入X和输出Y之间的相关性是通过上述方法探索的。
4.机器学习模型:
对于支持向量机(SVM)方法,本发明需要设置超平面方程和核函数。超平面方程如公式2所示。
Figure BDA0001766609820000052
输入矩阵X和输出矩阵Y如公式2定义。参数(uT,v)通过高斯核进行特征空间的映射。X为输入矩阵和Y为输出矩阵;uT,v为通过高斯核函数进行特征空间映射的方程参数;
Figure BDA0001766609820000061
公式3计算了空间中任一点xi到某一点xj之间欧氏距离的单调函数,σ为函数的宽度参数,控制了函数的径向作用范围;公式2和公式3共同构成了SVM机器学习模型。
对于分类回归树(CART)方法,本发明需要设置数据集纯度和Gini指标函数的计算公式。数据集的纯度计算如公式4。数据集D=(X,Y)包含在公式1中定义的输入矩阵X和输出矩阵Y。pk是数据集中第k个类别的比例,其中数据集可以分为r类。
Figure BDA0001766609820000062
Figure BDA0001766609820000063
在输入矩阵X的属性列中,属性att的Gini值计算函数被描述为公式5。基尼系数最小的一种被认为是最优的配分属性。
5.基于遗传算法的在线决策:
在遗传算法的基础上,进行资源的在线自动分配决策。本发明描述了如何使用遗传算法搜索最合适的资源分配方案。
遗传算法分为四部分:编码、适应度函数、遗传算子和运行参数。对于编码,本发明使用十进制编码方法对资源配置问题进行编码。染色体代表一种资源分配计划。染色体由四维参数(包括软硬件配置参数)组成。其中,tomcat和mysql的连接数分别控制在【50,100,…,300】和【25,50,…,150】范围内,对应成1到6的编码;内存比例有1:1,1:2,1:3,2:1,3:1这几种情况,对应成1到3的编码。例如,图2显示了一个对资源分配计划编码的染色体。该实例描述了分配的资源为tomcat连接池数为250,数据库连接数为75,两台虚拟机内存比为1:3,即部署tomcat的虚拟机内存分配0.5GB,部署mysql的虚拟机内存分配1.5GB。
资源分配计划由适应度函数进行评估。如公式6所示,本发明中的适应度函数即为响应时间。当然,适应度函数值越低越好。
fitness=RT (6)
对于遗传算子,遗传算法主要包括选择、变异和交叉。RT是response time的简写,整个公式的意思是适应度函数值fitness=响应时间RT。
选择是选择染色体以此繁衍下一代。对于选择计算,本发明常用的是轮盘赌算法,即P(个体被选中)与fitness(个体适应度)的值成反比例相关,其中P表示概率,fitness表示适应度函数。在公式7中定义了染色体的相对概率,这表明具有较好的适应度值的染色体更有可能被选为下一代的新成员。
Figure BDA0001766609820000071
交叉计算则是指遗传过程中两个匹配染色体根据设定的交叉率按照某种方式相互交换基因形成两个新的染色体。如图3所示,一对染色体交换中间片段的基因形成新的染色体。变异则是指遗传过程中将染色体中的基因根据变异率进行替换形成新的染色体。如图4所示,在十进制表示情况下将染色体的第二位和第三位基因进行替换,原来的31基因值被替换为22。
对于运行参数,默认的matlab遗传算法中交叉率0.8,变异率0.2,种群规模20。
遗传算法的步骤简述如下。
步骤1:初始化参数值,如种群大小、最大迭代和初始化的染色体数量。
步骤2:用公式6计算每条染色体的适应度值,然后选择最低适应度函数值的染色体为最佳。
步骤3:通过选择、突变和交叉操作来更新种群。
步骤4:重新计算每个染色体的适应度函数值,并更新最佳染色体。
步骤5:跳转到第3步,直到满足结束循环条件。遗传算法是通过迭代进行计算,每执行一次步骤S33,则迭代次数+1;而循环条件是此时迭代次数=S31步骤中设置的最大迭代次数。
本发明通过RUBiS基准测试进行实验评估。评估的目标是(1)从历史数据中训练的预测模型是否能够通过使用工作负载数量、硬件资源分配情况以及软件资源分配情况作为输入来预测响应时间的值;(2)基于遗传算法的在线决策与单一的固定配置进行比较。
RUBiS作为一款评估应用程序设计模式和应用程序服务器性能的伸缩性的标准负载测试程序,经常被科研界作为负载模拟、服务器负载测试的测试实验平台,然而它在04年后就停止更新了。RUBiS是一个基于eBay.com网站的拍卖网站。它的用户分为三类:游客,买家和卖家。它提供了一个客户端,它可以模拟不同工作负载数量的用户行为。客户端的数量表示工作负载的数量。本发明假设工作负载的数量通常在[100,2000]范围内。
本发明收集了一个月的运行数据,并分别基于两种机器学习方法对预测模型进行了训练。如表3所示,经过实验测试,发现CART预测的响应时间在大部分情况下会更接近于真实响应时间,预测效果明显优于SVM回归预测分析,其中,SVM的预测正确率为48%-52%,然而CART的预测正确率可达74-78%。因此,本发明中遗传算法部分采用CART预测响应时间作为适应度函数进行选择。
表3 SVM与CART预测模型的部分结果对比
Figure BDA0001766609820000081
如图5所示,本发明一实施例,选取了七组工作负载数进行展示。
为了评估模型的准确性,本发明对七组不同工作负载数的网络环境进行模拟测试,基于模型预测出对应的响应时间。如表4所示,本发明的预测模型能够通过使用工作负载数量、硬件资源分配情况以及软件资源分配情况作为输入来预测响应时间的值。如图6所示,将本发明方法即本发明中预测的平均请求响应时间与真实数据中的平均请求响应时间进行比较,得知波动在误差允许的正常范围内,且基本接近真实时间。
表4数据展示
Figure BDA0001766609820000091
以工作负载数=1200为例,本文遗传算法给出的结果为“【50,25,1,1】,294.1667ms”。该结果表示当工作负载数为1200时本文遗传算法给出的最优配置为:tomcat连接池数50,数据库连接数25,服务器端和数据库端虚拟机内存比为1:1,此时Web应用的平均请求响应时间最优,且预测最优为294.1667ms。
为了评估基于遗传算法的在线决策方法,本发明与单一的固定配置进行了比较。如表5所示,本发明选取【100,100,1,1】的资源配置计划作为固定配置进行比对。表6是基于本发明中的自适应步骤给出的资源配置技术。
表5固定配置
Figure BDA0001766609820000101
表6本发明自适应
Figure BDA0001766609820000102
本发明将两种资源配置计划的响应时间进行对比,如图7,本发明可以看出基于遗传算法的在线决策明显优于单一的固定配置。因为一开始给服务器端虚拟机和数据库端虚拟机分配等比例内存,并设置tomcat连接池数和数据库连接数均为100。网络环境复杂多样,可能出现很多种情况。比如说,随着工作负载数增加,服务器端虚拟机的内存使用率接近饱和状态,此时需要给服务器端虚拟机分配更多的内存,以满足应用目标的持续需求。或者是随着工作负载数的继续增加,分配多比例的内存已经不能满足应用目标的需要,此时需要增加tomcat连接池的数量,并发处理多个请求。又或者是发现随着工作负载数增大,由于数据库的最大性能瓶颈来自于内存,本发明需要调整虚拟机的内存分配比例,给数据库端虚拟机分配更多的内存以响应更多的请求。无论是哪一种情况,本发明都需要对资源进行重新配置,一成不变的资源配置计划只会加剧Web应用的响应负担,造成响应时间的急剧增大。因此,本发明需要引入一种自适应技术,让Web应用能感知网络环境的变化,并随着网络环境的变化而动态配置软硬件资源。
图8给出了本发明中给出的资源配置计划的示意图。图9给出了本文方法给出的资源配置方案对应的真实时间,这是一个大致的趋势示意图。当配置和工作负载数一定的情况下,给出一组配置,由于每一种配置都有一定的工作负载承受区间,区间内响应时间趋于稳定。随着工作负载数的增加,超出承受区间,响应时间会急剧增大,此时加入自适应资源配置,时间会有所下降并趋于稳定。工作负载数继续增大,这个过程将会往复进行。
上述实施例仅供说明本发明之用,本技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变化,因此,所有等同的技术方案也应该属于本发明的范畴。

Claims (2)

1.一种基于机器学习的Web应用自适应资源配置方法,其特征在于:包括以下步骤:
步骤S1:将物理机操作系统虚拟化,分为两个虚拟机,两个虚拟机分别运行各自的操作系统;
步骤S2:针对上述两个虚拟机分别提出两个机器学习模型;利用基于机器学习的响应时间的预测模型去预测给定环境变化下的响应时间;
步骤S3:利用基于遗传算法的在线决策机制,根据以上的模型制定响应的适应度函数来搜索具有最优响应时间的软硬件资源配置分配方案;
步骤S2中的基于机器学习的响应时间的预测模型的建立包括以下步骤:
用公式(1)表示基于机器学习的响应时间的预测模型;
Y=predict(X);X=(N,S,H) (1)
其中输入X包括工作负载的数量N、软件资源S和硬件资源H;输出Y是Web应用响应时间的预测值;
使用历史数据的数据集来训练该预测模型,数据集包含三大类:第一类是软件配置参数,第二类是硬件配置参数,第三类是每次不同软硬件配置状态下的结果参数:并选取虚拟机CPU与内存利用率作为平均响应时间的辅助参数;
步骤S2中两个机器学习模型分别为支持向量机SVM方法、分类和回归树CART方法,
对于支持向量机SVM方法的机器学习模型,设置超平面方程和核函数,其中超平面方程如公式2所示:
Figure FDA0003184362700000011
X为输入矩阵和Y为输出矩阵;uT,v为通过高斯核函数进行特征空间映射的方程参数;
Figure FDA0003184362700000012
公式3计算了空间中任一点xi到某一点xj之间欧氏距离的单调函数,σ为函数的宽度参数,控制了函数的径向作用范围;
公式2和公式3共同构成了SVM机器学习模型;
对于分类回归树CART方法的机器学习模型,设置数据集纯度和Gini指标函数的计算公式,数据集的纯度计算如公式(4):其中数据集D=(X,Y)包含输入矩阵X和输出矩阵Y,pk是数据集中第k个类别的比例,数据集分为r类;
Figure FDA0003184362700000013
在输入矩阵X的属性列中,属性att的Gini值计算函数被描述为公式(5),Gini系数最小的一种被认为是最优的配分属性;
Figure FDA0003184362700000021
步骤S3包括以下具体步骤:
步骤S31:初始化参数值,包括种群大小、最大迭代和初始化的染色体数量;
步骤S32:用公式(6)计算每条染色体的适应度值,然后选择适应度函数值fitness最小的染色体为最佳染色体;
fitness=RT (6);
其中RT为响应时间;
步骤S33:通过选择、突变和交叉操作来更新种群;
步骤S34:重新计算每个染色体的适应度函数值,并更新最佳染色体;
步骤S35:迭代次数+1,若迭代次数小于最大迭代次数则跳转到步骤S33;
步骤S33中的选择采用轮盘赌算法,
交叉指遗传过程中两个匹配染色体根据设定的交叉率相互交换基因
形成两个新的染色体,变异是指遗传过程中将染色体中的基因根据变异率进行替换形成新的染色体;
所述物理机的内存等于两台虚拟机内存的总和,对物理机进行内存资源分配相当于分配两台虚拟机各自的内存,两台虚拟机的内存总合为固定值;
两台虚拟机分别为数据库端虚拟机和基于tomcat的服务器端虚拟机;所述软件资源S为tomcat连接池数和数据库连接数;所述硬件资源H为给服务器端虚拟机和数据库端虚拟机分配的内存比例;
当web应用自适应资源配置方法应用于web应用时,方法为:
在web应用的配置和工作负载数一定的情况下,web应用自适应资源配置方法先给出对应该情况的一组配置,每组配置都有对应的工作负载承受区间;在该区间内响应时间趋于稳定;
当工作负载数的增加并超出原来配置的承受区间并使web应用响应时间急剧增大时,web应用自适应资源配置方法加入自适应资源配置,使响应时间下降并趋于稳定。
2.根据权利要求1所述的基于机器学习的Web应用自适应资源配置方法,其特征在于:交叉率0.8,变异率0.2,种群规模20。
CN201810930969.7A 2018-08-15 2018-08-15 基于机器学习的Web应用自适应资源配置方法 Active CN109165081B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810930969.7A CN109165081B (zh) 2018-08-15 2018-08-15 基于机器学习的Web应用自适应资源配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810930969.7A CN109165081B (zh) 2018-08-15 2018-08-15 基于机器学习的Web应用自适应资源配置方法

Publications (2)

Publication Number Publication Date
CN109165081A CN109165081A (zh) 2019-01-08
CN109165081B true CN109165081B (zh) 2021-09-28

Family

ID=64895882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810930969.7A Active CN109165081B (zh) 2018-08-15 2018-08-15 基于机器学习的Web应用自适应资源配置方法

Country Status (1)

Country Link
CN (1) CN109165081B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947567B (zh) * 2019-03-14 2021-07-20 深圳先进技术研究院 一种多智能体强化学习调度方法、系统及电子设备
CN110138612B (zh) * 2019-05-15 2020-09-01 福州大学 一种基于QoS模型自校正的云软件服务资源分配方法
CN113129048A (zh) * 2019-12-31 2021-07-16 阿里巴巴集团控股有限公司 资源供给方法、装置、电子设备及计算机可读存储介质
JP2021157339A (ja) * 2020-03-25 2021-10-07 富士通株式会社 情報処理方法、及び情報処理プログラム
CN112068933B (zh) * 2020-09-02 2021-08-10 成都鱼泡科技有限公司 一种实时分布式数据监听方法
CN113590261B (zh) * 2021-06-30 2022-05-06 济南浪潮数据技术有限公司 一种分布式服务的部署方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158855A (zh) * 2014-07-24 2014-11-19 浙江大学 基于遗传算法的移动服务组合计算卸载方法
CN104994021A (zh) * 2015-07-21 2015-10-21 三星电子(中国)研发中心 确定最优路径的方法及装置
CN105704255A (zh) * 2016-04-29 2016-06-22 浙江理工大学 一种基于遗传算法的服务器负载均衡方法
CN107491341A (zh) * 2017-08-31 2017-12-19 福州大学 一种基于粒子群优化的虚拟机分配方法
CN107995039A (zh) * 2017-12-07 2018-05-04 福州大学 面向云软件服务的资源自学习与自适应分配方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278381A1 (en) * 2004-05-26 2005-12-15 Yixin Diao Method and apparatus for online sample interval determination
WO2012147116A1 (en) * 2011-04-25 2012-11-01 Hitachi, Ltd. Computer system and virtual machine control method
US10387794B2 (en) * 2015-01-22 2019-08-20 Preferred Networks, Inc. Machine learning with model filtering and model mixing for edge devices in a heterogeneous environment
CN108009003A (zh) * 2017-12-01 2018-05-08 湖南女子学院 一种多目标虚拟机自适应位置选择方法、分布式云系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158855A (zh) * 2014-07-24 2014-11-19 浙江大学 基于遗传算法的移动服务组合计算卸载方法
CN104994021A (zh) * 2015-07-21 2015-10-21 三星电子(中国)研发中心 确定最优路径的方法及装置
CN105704255A (zh) * 2016-04-29 2016-06-22 浙江理工大学 一种基于遗传算法的服务器负载均衡方法
CN107491341A (zh) * 2017-08-31 2017-12-19 福州大学 一种基于粒子群优化的虚拟机分配方法
CN107995039A (zh) * 2017-12-07 2018-05-04 福州大学 面向云软件服务的资源自学习与自适应分配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Self-Adaptive and Online QoS Modeling for Cloud-Based Software Services;Tao Chen;《IEEE》;20170531;全文 *

Also Published As

Publication number Publication date
CN109165081A (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
CN109165081B (zh) 基于机器学习的Web应用自适应资源配置方法
CN107995039B (zh) 面向云软件服务的资源自学习与自适应分配方法
CN108009016B (zh) 一种资源负载均衡控制方法及集群调度器
US9111232B2 (en) Portable workload performance prediction for the cloud
CN110138612A (zh) 一种基于QoS模型自校正的云软件服务资源分配方法
CN113361680B (zh) 一种神经网络架构搜索方法、装置、设备及介质
CN112270545A (zh) 基于迁移样本筛选的金融风险预测方法、装置和电子设备
US20130346614A1 (en) Workload adaptive cloud computing resource allocation
CN111314120A (zh) 基于迭代QoS模型的云软件服务资源自适应管理框架
US10956541B2 (en) Dynamic optimization of software license allocation using machine learning-based user clustering
US20210406932A1 (en) Information processing apparatus, information processing method and program thereof
CN115168027A (zh) 一种基于深度强化学习的算力资源度量方法
KR20210066545A (ko) 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
CN113255873A (zh) 一种聚类天牛群优化方法、系统、计算机设备和存储介质
CN114461386A (zh) 任务分配方法及任务分配装置
Jacob et al. Resource scheduling in cloud using bacterial foraging optimization algorithm
US20230004870A1 (en) Machine learning model determination system and machine learning model determination method
CN111209930A (zh) 一种生成授信策略的方法、装置和电子设备
CN109919219A (zh) 一种基于粒计算ML-kNN的Xgboost多视角画像构建方法
Li et al. The extreme counts: modeling the performance uncertainty of cloud resources with extreme value theory
JP2024507665A (ja) 自動時系列予測パイプラインランク付け
Yin et al. An optimized resource scheduling algorithm based on GA and ACO algorithm in fog computing
CN113657501A (zh) 模型自适应训练方法、装置、设备、介质及程序产品
CN118539438B (zh) 一种电力负荷数据的预测方法、电子设备及存储介质
Gao et al. Adaptive decision method in C3I system

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