CN110990159A - 一种基于历史数据分析的容器云平台资源配额预测方法 - Google Patents

一种基于历史数据分析的容器云平台资源配额预测方法 Download PDF

Info

Publication number
CN110990159A
CN110990159A CN201911360632.8A CN201911360632A CN110990159A CN 110990159 A CN110990159 A CN 110990159A CN 201911360632 A CN201911360632 A CN 201911360632A CN 110990159 A CN110990159 A CN 110990159A
Authority
CN
China
Prior art keywords
cpu
resource usage
quota
load
memory
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
CN201911360632.8A
Other languages
English (en)
Other versions
CN110990159B (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.)
Zhejiang University ZJU
China Mobile Online Services Co Ltd
Original Assignee
Zhejiang University ZJU
China Mobile Online Services 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 Zhejiang University ZJU, China Mobile Online Services Co Ltd filed Critical Zhejiang University ZJU
Priority to CN201911360632.8A priority Critical patent/CN110990159B/zh
Publication of CN110990159A publication Critical patent/CN110990159A/zh
Application granted granted Critical
Publication of CN110990159B publication Critical patent/CN110990159B/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • 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"
    • 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)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于历史数据分析的容器云平台资源配额预测方法,该方法创新性地基于混合统计学模型,根据容器实例的不同资源维度历史负载,在满足服务质量前提下获得服务的不同维度资源消耗的关系;在请求负载一定的情况下,通过数据分析的方法,选出待选配额值中最优的配额值;通过不同级别负载测试实验,得到相应负载级别下的资源分配量,根据这些对应不同服务负载下的资源分配量协同负载预测方法进行资源分配预测,优化资源配额方法,通过得到特定场景下服务所需资源量,结合考虑负载预测特性的调度方法,能预先针对负载做出调度及扩缩容决策,降低调度对服务质量影响,提升容器云平台稳定性。

Description

一种基于历史数据分析的容器云平台资源配额预测方法
技术领域
本发明属于云计算领域,具体属于容器云平台资源配额、资源预测领域,尤其涉及一种历史数据分析的容器云平台资源配额预测方法及装置。
背景技术
云计算技术迅速发展,基于云平台的应用也层出不穷。云平台通过虚拟化技术将计算机资源整合成资源池,以按需付费的方式实现了用户对计算资源的弹性需求。云计算发展至今,虚拟化技术一直是云平台中的关键技术,而容器技术则是近年来新兴的一种虚拟化技术。它的出现给传统虚拟化技术带来了挑战,为构建高效的云平台提供了新的思路。
现今各大云计算运营商正在大量的构建基于Docker容器技术的云平台。其中kubernetes是一个全新的基于容器技术的分布式架构领先方案。Kubernetes在Docker的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。然而kubernetes在Pod的资源配额中,不同维度配额值关系,配额值粒度大小应该设置多少是普遍存在的一个问题,其直接导致现在的Pod资源利用率低,资源配额碎片化;另外,现阶段还存在服务调度扩缩容的延时性等问题。
针对不同的服务对不同维度的资源有着不同的需求,如果不考虑这个特性,那么针对服务的资源分配会存在较大的浪费和碎片化问题,这将大大减少对于资源的有效利用。同时,对服务在特定负载级别下所需资源值的预估也对资源的分布、分配以致对于资源利用率的提升都有着十分重要的应用,结合负载预测的调度算法,能够提高服务的稳定性。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于历史数据分析的容器云平台资源配额预测方法。本发明是一种资源配额、资源预估方法,用于解决现在kubernetes资源调度存在的资源利用不均衡、资源配额碎片化严重、调度扩缩容的延时性等问题。
本发明的目的是通过以下技术方案来实现的:一种基于历史数据分析的容器云平台资源配额预测方法,包括以下步骤:
(1)分别在实验环境和线上环境监控kubernetes服务实例并获得服务负载数据和资源使用量数据;所述资源使用量数据包括CPU资源使用量和内存资源使用量等。
(2)根据步骤(1)得到的服务负载数据和资源使用量数据,基于统计学模型获取CPU资源使用量和内存资源使用量之间的关系。
(3)设置CPU参考配额值,并通过均匀采样生成一组CPU待选配额值;再根据步骤(2)获取的CPU资源使用量和内存资源使用量之间的关系,得到对应的内存待选配额值,构成CPU、内存配额值组;对不同的配额值组重复配额实验,根据实验得到的最小资源占用值确定配额较优值组。
(4)将服务配额设定为步骤(3)得到的配额较优值组,采用不同级别负载作为实验环境的服务请求,记录不同级别请求负载对应的CPU资源使用量。
(5)根据步骤(4)得到的不同级别请求负载对应的CPU资源使用量,通过线性回归的方法得到请求负载和服务CPU资源使用量的函数关系,从而根据请求负载预测CPU资源使用量。
进一步地,所述步骤(1)包括以下子步骤:
(11)同时在实验环境和线上环境下,在kubernetes的每一个容器节点运行cAdvisor,用于实时获取容器节点的资源使用量数据,包括CPU资源使用量R和内存资源使用量M,并按照时间排序,生成CPU时序序列Tscpu和内存时序序列Tsmem;在kubernetes的每一个主机节点上部署node-exporter工具,配置普罗米修斯用于汇集服务质量指标数据;在kubernetes中安装部署Prometheus custom metrics API adapter和k8s-prometheus-adapter工具用于配置水平自动扩缩容;
(12)在实验环境下,根据服务质量指标为服务配置水平自动扩缩容,根据线上环境的历史服务请求数据提取服务负载周期Tload,模拟线上环境的单位时间请求数配置实验环境的服务请求负载。
进一步地,所述步骤(2)包括以下子步骤:
(21)初始化箱型图方法阈值T、线性相关系数阈值C,记录CPU时序序列Tscpu和内存时序序列Tsmem;统一CPU资源使用量R的单位为mCPU,内存资源使用量M的单位为MB;
(22)获得步骤(21)得到的内存时序序列Tsmem和CPU时序序列Tscpu的比值序列ratio=Tsmem/Tscpu;利用箱型图方法得到比值序列ratio的上四分位数Q3和下四分位数Q1以及中位值Median;如果|Q3-Q1|≤T,则CPU资源使用量R和内存资源使用量M之间的关系为M=R×Median;否则,执行步骤(23);
(23)计算步骤(21)得到的CPU时序序列Tscpu和内存时序序列Tsmem的皮尔逊积矩相关系数
Figure BDA0002337080770000021
其中,σcpu、σ内存分别为Tscpu、Tsmem的方差;如果|ρ|≥C,则对Tscpu和Tsmem一元线性回归得到线性函数,作为CPU资源使用量R和内存资源使用量M之间的关系;否则,执行步骤(24);
(24)以一个步骤(12)提取的服务负载周期Tload为时间窗口,分别对CPU时序序列Tscpu、内存时序序列Tsmem和时间的关系曲线求积分,得到CPU积分面积area_cpu和内存积分面积area_mem,再计算比值area_ratio=area_mem/area_cpu,则CPU资源使用量R和内存资源使用量M之间的关系为M=R×area_ratio。
进一步地,所述步骤(3)包括以下子步骤:
(31)设置CPU参考配额值initcpu、采样区间长度lengthofsample、采样数numberofsample,其中initcpu-lengthofsample/2>0;从配额值闭区间[initcpu-lengthofsample/2,initcpu+lengthofsample/2]中均匀采样得到numberofsample个CPU待选配额值;再根据步骤(2)获取的CPU资源使用量R和内存资源使用量M之间的关系,得到对应的内存待选配额值,构成CPU、内存配额值组;
(32)根据步骤(31)得到的CPU、内存配额值组配置服务pod内存资源配额参数memRequest和CPU资源配额参数cpuRequest,重复lengthofsample次相同请求负载的实验,每次的实验时间为一个服务负载周期Tload,按相同采样间隔Δt获取Pod实例数NumOfPod,CPU资源使用量R=cpuRequest*NumOfPod;
(33)在下式中选择一个计算步骤(32)中单次实验的CPU资源使用量时序对应的资源占用值A:
Figure BDA0002337080770000031
Figure BDA0002337080770000032
其中,Ri为步骤(32)中第i次实验的CPU资源使用量R,Δt为采样间隔;n为单次实验的采样次数;取lengthofsample次实验中资源占用值A最小的CPU、内存配额值组作为配额较优值组。
进一步地,所述步骤(4)具体为:实验环境配置为配额较优值组,初始化负载持续时间间隔Tc和请求负载步长D;取步骤(1)得到的线上环境的负载请求数据的峰值P作为实验环境模拟的请求负载峰值L峰值,从0次/s开始,以相同的负载持续时间间隔Tc和请求负载步长D增加请求负载直到达到L峰值,记录第x次实验的请求负载及其对应的CPU资源使用量为<Lx,Rx>。
进一步地,所述步骤(5)包括以下子步骤:
(51)利用一元线性回归的方法,得到请求负载L与CPU资源使用量R之间的函数关系R=a×L+b。
(52)构建请求负载与CPU资源使用量映射关系函数如下:当0≤请求负载≤L峰值,去除请求负载为0的情况,如Lx-1<请求负载≤Lx,则CPU资源使用量R=Rx;当L峰值<请求负载,则CPU资源使用量
Figure BDA0002337080770000041
本发明的有益效果是:本发明提供了一种基于历史数据分析的容器云平台kubernetes资源配额及所需资源量预测方法。该方法创新性地基于混合统计学模型,根据容器实例的不同资源维度历史负载,在满足服务质量前提下获得服务的不同维度资源消耗的关系;在请求负载一定的情况下,通过AUC的方法,选出待选配额值中最优的配额值;通过不同级别负载测试实验,得到相应负载级别下的资源分配量,根据这些对应不同服务负载下的资源分配量协同负载预测方法进行资源分配预测,优化资源配额方法,通过得到特定场景下服务所需资源量,结合考虑负载预测特性的调度方法,能预先针对负载做出调度及扩缩容决策,降低调度对服务质量影响,提升容器云平台稳定性。
附图说明
图1为容器云平台资源配额方法数据采集的主体架构图;
图2为利用水平自动扩缩容控制服务质量指标在指定值邻域示意图;
图3为根据服务历史数据分析服务cpu和内存关系流程图;
图4为可直接用Median作为CPU和内存比值关系的样例箱型图;
图5为不可直接用Median作为CPU和内存比值关系的示例ratio数据折线图;
图6为通过线性回归得到CPU和内存比值关系的回归图;
图7为根据实验历史数据确定资源较优配额示意图;
图8为负载记录实验程序流程图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
本发明kubernetes资源配额方法数据采集的主体架构如图1所示,该方法为监控容器云平台kubernetes上每个Pod和容器实例,获取Pod及容器实例历史负载数据及衡量服务质量维度指标,创新性地提出混合统计学模型方法,根据Pod、容器实例监控数据汇聚成的服务的不同资源维度历史负载,在满足服务质量前提下获得服务的不同维度资源消耗的关系;在请求负载一定的情况下,在不同粒度的Pod配额策略中根据实验数据选出待选配额值中最优配额值;在此Pod配额值基础上,通过梯度提升的不同级别负载测试实验,得到相应负载级别下的所需Pod数,根据这些对应不同服务负载下的所需Pod数协同负载预测方法进行资源分配预测,通过得到不同负载场景下服务所需Pod数及资源量,结合考虑负载预测特性的调度方法,能预先针对负载做出调度及扩缩容决策,降低调度对服务质量影响,优化容器云平台资源碎片化问题,提升集群服务稳定性;具体包括以下步骤:
(1)分别在验证环境和线上环境监控容器实例的负载数据和服务质量指标。具体包括:
(11)在kubernetes的每一个容器节点运行cAdvisor,在每一个物理节点部署node-exporter工具,实时获取容器节点的资源利用率数据和服务质量指标数据,包括容器CPU、内存、磁盘、网络、响应时间等多个维度和集群主机硬件和操作系统数据。
(12)集群中的普罗米修斯汇集这些指标,部分收集的数据经过处理持久化到数据库中。
(13)如图2所示,在集群中安装部署Prometheus custom metrics API adapter和k8s-prometheus-adapter等工具以支持自定义指标水平自动扩缩容。实验环境下,为指定的服务根据服务质量指标M配置水平自动扩缩容,使得实验中服务的实时指标M’长期在M的邻域内。根据线上环境的历史服务请求数据利用模拟单位时间请求数配置实验环境的服务请求。
(2)根据每个容器实例的历史负载数据,基于统计学模型获取相应服务CPU和内存的关系。如图3所示,具体包括:
(21)初始化箱型图方法阈值T,线性相关系数阈值C及相应服务CPU、内存历史数据,相应服务CPU、内存历史数据进行单位变换,CPU单位为mCPU,内存单位为MB。转化格式分别转化为例如CPU数据{<Timestamp1,Valueofcpu1>,<Timestamp2,Valueofcpu2>,…,<Timestampn,Valueofcpun>},内存数据{<Timestamp1,Valueofmem1>…,<Timestampn,Valueofmemn>}形式。
(22)按照对应时间得到对应内存序列与CPU序列之间的比值ratio,利用箱型图的方法,得到上四分位数Q3和下四分位数Q1以及中位值Median,如果比值数据大体上分布集中,即|Q3-Q1|≤T,数据样例箱型图如图4,直接以中位值Median作为CPU和内存之间的关系:内存=CPU×Median。
(23)如果|Q3-Q1|>T,即ratio数据的折线图如图5所示,则按照对应的时间序列,分析CPU时间序列和内存时间序列的线性相关性,得到皮尔逊积矩相关系数
Figure BDA0002337080770000051
其中,Cov(Tscpu,Tsmem)为CPU时间序列Tscpu和内存时间序列Tsmem的相关系数,σcpu、σ内存分别为Tscpu、Tsmem的方差,如果线性相关系数|ρ|≥C,则进行一元线性回归得到线性函数:内存=k×CPU+b作为CPU和内存之间的关系。例如图6所示,线性函数为:内存=290.94×CPU+397.73。
(24)如果|ρ|≥C,以一个周期为时间窗口,将CPU数据和内存数据分别利用积分进行面积的计算,得到面积的比值area_ratio,将area_ratio作为CPU和内存之间的关系。
(3)根据物理节点上各个容器的下一个时间窗口的负载预测值,计算各个物理节点下一个时间窗口的综合负载,并根据综合负载情况,为其设置负载标志。如图7所示,具体包括:
(31)设置CPU参考配额值initcpu,及采样区间长度lengthofsample(需满足initcpu-lengthofsample/2>0),采样数numberofsample,利用均匀采样的方法,从闭区间[initcpu-lengthofsample/2,initcpu+lengthofsample/2]产生一组numberofsample个CPU配额待选值{x1,x2,…xnumberofsample}。例如产生待选值个数numberofsample为9个,lengthofsample为0.4,CPU参考配额值为0.5mCPU,假设我们得到的CPU和内存之间的关系为内存=1000*CPU,得到CPU和内存参考配额值<initcpu,initmem>为<0.5,500>,我们可以得到一组待选值为{<0.30,300>,<0.35,350>,<0.40,400>,<0.45,450>,<0.5,500>,<0.55,550>,<0.60,600>,<0.65,650>,<0.7,700>}。
(32)分别根据待选配额值重复lengthofsample次相同请求负载的实验,每次实验时间保持为请求负载的1个周期Tload,按相同采样间隔Δt=timestamp2-timestamp1获取CPU资源使用量数据。获取的数据序列按时间戳排序为Exam1{<timestamp1,资源使用量1>,<timestamp2,资源使用量2>,<timestamp3,资源使用量3>…<timestampn,资源使用量n>},Exam2{<timestamp1,资源使用量1>,<timestamp2,资源使用量2>,<timestamp3,资源使用量3>…<timestampn,资源使用量3>}…Exam9{<timestamp1,资源使用量1>,<timestamp2,资源使用量2>,<timestamp3,资源使用量3>…<timestampn,资源使用量n>};其中资源使用量=服务CpuRequest*Pod数。
(33)分别针对得到的实验数据用积分方法得到资源占用值A,并取最小值对应的策略作为配额较优值。即针对每一个Examx{<timestamp1,资源使用量1>,<timestamp2,资源使用量2>,<timestamp3,资源使用量3>,…,<timestampn,资源使用量n>},通过计算A=(timestamp2-timestamp1)×((资源使用量1+资源使用量n)/2+资源使用量2+…+资源使用量n-1),分别得到{A1,A2,…,A9},取min{A1,A2,…,A9}对应的实验配额值作为较优配额值。优化计算过程我们可以针对每一个Examx数据通过计算中间变量B=(资源使用量1+资源使用量2+…+资源使用量n),即分别得到{B1,B2,…,B9},取min{B1,B2,…,B9}对应的实验配额值作为较优配额值。
(4)在服务配额为步骤(33)得到的较优配额值的基础上用不同请求负载作为验证环境的服务请求,记录不同级别下的所需要的资源量。具体程序示意图如图8所示,具体为:
(41)实验环境配置好较优配额值后,初始化负载持续时间间隔Tc,请求负载步长D,根据真实上线的负载请求数据,取峰值P作为我们实验环境模拟的请求负载峰值L峰值,初始化按照均匀间隔从0次/s开始依次按照相同间隔Tc依次以请求负载步长D增加请求负载,并记录不同负载级别所需资源值。记录按照负载排序,形式为{<L1,R1>,<L2,R2>,<L3,R3>…<L峰值,R峰值>}。
(5)根据得到的不同负载级别对应的资源量通过线性回归的方法结合历史记录得到请求负载和资源量的对应关系。根据请求级别是否在记录阈值内,返回相应资源所需量预估结果。具体包括:
(51)用一元线性回归的方法,得到负载L与服务CPU资源使用量R之间的函数关系。记为R=a×L+b。
(52)构建返回映射关系函数,即当0≤负载请求≤L峰值,去除负载请求为0的情况,则此时有Lx-1<负载请求≤Lx,返回值为所需资源量x;当L峰值<负载请求,则此时返回
Figure BDA0002337080770000071
Figure BDA0002337080770000072

Claims (6)

1.一种基于历史数据分析的容器云平台资源配额预测方法,其特征在于,包括以下步骤:
(1)分别在实验环境和线上环境监控kubernetes服务实例并获得服务负载数据和资源使用量数据;所述资源使用量数据包括CPU资源使用量和内存资源使用量等。
(2)根据步骤(1)得到的服务负载数据和资源使用量数据,基于统计学模型获取CPU资源使用量和内存资源使用量之间的关系。
(3)设置CPU参考配额值,并通过均匀采样生成一组CPU待选配额值;再根据步骤(2)获取的CPU资源使用量和内存资源使用量之间的关系,得到对应的内存待选配额值,构成CPU、内存配额值组;对不同的配额值组重复配额实验,根据实验得到的最小资源占用值确定配额较优值组。
(4)将服务配额设定为步骤(3)得到的配额较优值组,采用不同级别负载作为实验环境的服务请求,记录不同级别请求负载对应的CPU资源使用量。
(5)根据步骤(4)得到的不同级别请求负载对应的CPU资源使用量,通过线性回归的方法得到请求负载和服务CPU资源使用量的函数关系,从而根据请求负载预测CPU资源使用量。
2.根据权利要求1所述基于历史数据分析的容器云平台资源配额预测方法,其特征在于,所述步骤(1)包括以下子步骤:
(11)同时在实验环境和线上环境下,在kubernetes的每一个容器节点运行cAdvisor,用于实时获取容器节点的资源使用量数据,包括CPU资源使用量R和内存资源使用量M,并按照时间排序,生成CPU时序序列Tscpu和内存时序序列Tsmem;在kubernetes的每一个主机节点上部署node-exporter工具,配置普罗米修斯用于汇集服务质量指标数据;在kubernetes中安装部署Prometheus custom metrics API adapter和k8s-prometheus-adapter工具用于配置水平自动扩缩容;
(12)在实验环境下,根据服务质量指标为服务配置水平自动扩缩容,根据线上环境的历史服务请求数据提取服务负载周期Tload,模拟线上环境的单位时间请求数配置实验环境的服务请求负载。
3.根据权利要求2所述基于历史数据分析的容器云平台资源配额预测方法,其特征在于,所述步骤(2)包括以下子步骤:
(21)初始化箱型图方法阈值T、线性相关系数阈值C,记录CPU时序序列Tscpu和内存时序序列Tsmem;统一CPU资源使用量R的单位为mCPU,内存资源使用量M的单位为MB;
(22)获得步骤(21)得到的内存时序序列Tsmem和CPU时序序列Tscpu的比值序列ratio=Tsmem/Tscpu;利用箱型图方法得到比值序列ratio的上四分位数Q3和下四分位数Q1以及中位值Median;如果|Q3-Q1|≤T,则CPU资源使用量R和内存资源使用量M之间的关系为M=R×Median;否则,执行步骤(23);
(23)计算步骤(21)得到的CPU时序序列Tscpu和内存时序序列Tsmem的皮尔逊积矩相关系数
Figure FDA0002337080760000021
其中,σcpu、σ内存分别为Tscpu、Tsmem的方差;如果|ρ|≥C,则对Tscpu和Tsmem一元线性回归得到线性函数,作为CPU资源使用量R和内存资源使用量M之间的关系;否则,执行步骤(24);
(24)以一个步骤(12)提取的服务负载周期Tload为时间窗口,分别对CPU时序序列Tscpu、内存时序序列Tsmem和时间的关系曲线求积分,得到CPU积分面积area_cpu和内存积分面积area_mem,再计算比值area_ratio=area_mem/area_cpu,则CPU资源使用量R和内存资源使用量M之间的关系为M=R×area_ratio。
4.根据权利要求2所述基于历史数据分析的容器云平台资源配额预测方法,其特征在于,所述步骤(3)包括以下子步骤:
(31)设置CPU参考配额值initcpu、采样区间长度lengthofsample、采样数numberofsample,其中initcpu-lengthofsample/2>0;从配额值闭区间[initcpu-lengthofsample/2,initcpu+lengthofsample/2]中均匀采样得到numberofsample个CPU待选配额值;再根据步骤(2)获取的CPU资源使用量R和内存资源使用量M之间的关系,得到对应的内存待选配额值,构成CPU、内存配额值组;
(32)根据步骤(31)得到的CPU、内存配额值组配置服务pod内存资源配额参数memRequest和CPU资源配额参数cpuRequest,重复lengthofsample次相同请求负载的实验,每次的实验时间为一个服务负载周期Tload,按相同采样间隔Δt获取Pod实例数NumOfPod,CPU资源使用量R=cpuRequest*NumOfPod;
(33)在下式中选择一个计算步骤(32)中单次实验的CPU资源使用量时序对应的资源占用值A:
Figure FDA0002337080760000022
Figure FDA0002337080760000023
其中,Ri为步骤(32)中第i次实验的CPU资源使用量R,Δt为采样间隔;n为单次实验的采样次数;取lengthofsample次实验中资源占用值A最小的CPU、内存配额值组作为配额较优值组。
5.根据权利要求1所述基于历史数据分析的容器云平台资源配额预测方法,其特征在于,所述步骤(4)具体为:实验环境配置为配额较优值组,初始化负载持续时间间隔Tc和请求负载步长D;取步骤(1)得到的线上环境的负载请求数据的峰值P作为实验环境模拟的请求负载峰值L峰值,从0次/s开始,以相同的负载持续时间间隔Tc和请求负载步长D增加请求负载直到达到L峰值,记录第x次实验的请求负载及其对应的CPU资源使用量为<Lx,Rx>。
6.根据权利要求1所述基于历史数据分析的容器云平台资源配额预测方法,其特征在于,所述步骤(5)包括以下子步骤:
(51)利用一元线性回归的方法,得到请求负载L与CPU资源使用量R之间的函数关系R=a×L+b。
(52)构建请求负载与CPU资源使用量映射关系函数如下:当0≤请求负载≤L峰值,去除请求负载为0的情况,如Lx-1<请求负载≤Lx,则CPU资源使用量R=Rx;当L峰值<请求负载,则CPU资源使用量
Figure FDA0002337080760000031
CN201911360632.8A 2019-12-25 2019-12-25 一种基于历史数据分析的容器云平台资源配额预测方法 Active CN110990159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911360632.8A CN110990159B (zh) 2019-12-25 2019-12-25 一种基于历史数据分析的容器云平台资源配额预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911360632.8A CN110990159B (zh) 2019-12-25 2019-12-25 一种基于历史数据分析的容器云平台资源配额预测方法

Publications (2)

Publication Number Publication Date
CN110990159A true CN110990159A (zh) 2020-04-10
CN110990159B CN110990159B (zh) 2023-05-23

Family

ID=70077023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911360632.8A Active CN110990159B (zh) 2019-12-25 2019-12-25 一种基于历史数据分析的容器云平台资源配额预测方法

Country Status (1)

Country Link
CN (1) CN110990159B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507650A (zh) * 2020-07-02 2020-08-07 深圳微品致远信息科技有限公司 一种边缘计算平台算力分配调度方法及系统
CN111638959A (zh) * 2020-06-02 2020-09-08 山东汇贸电子口岸有限公司 云环境下基于负载回归预测的弹性伸缩方法及可读存储介质
CN112187894A (zh) * 2020-09-17 2021-01-05 杭州谐云科技有限公司 一种基于负载相关性预测的容器动态调度方法
CN112199150A (zh) * 2020-08-13 2021-01-08 北京航空航天大学 一种基于微服务调用依赖感知的在线应用动态扩缩容方法
CN112767027A (zh) * 2021-01-19 2021-05-07 杭州朗澈科技有限公司 一种基于业务感知的云成本预测方法和系统
CN112905343A (zh) * 2021-02-09 2021-06-04 重庆大学 一种工业云环境下基于负载特性的资源调度系统
CN113112139A (zh) * 2021-04-07 2021-07-13 上海联蔚盘云科技有限公司 云平台账单的处理方法和设备
CN113254213A (zh) * 2021-06-08 2021-08-13 苏州浪潮智能科技有限公司 一种服务的计算资源配置方法、系统及装置
CN113626282A (zh) * 2021-07-16 2021-11-09 济南浪潮数据技术有限公司 云计算物理节点负载监控方法、装置、终端及存储介质
CN113673822A (zh) * 2021-07-15 2021-11-19 微梦创科网络科技(中国)有限公司 一种弹性调度方法及系统
CN114185642A (zh) * 2021-11-12 2022-03-15 联奕科技股份有限公司 一种基于容器管理平台的智慧校园开发方法及系统
CN114327890A (zh) * 2021-12-27 2022-04-12 杭州谐云科技有限公司 一种多指标融合的容器配额推荐方法和系统
CN114518952A (zh) * 2020-11-20 2022-05-20 中国电信股份有限公司 容器内存使用量预测自反馈优化的方法、装置及存储介质
CN114615177A (zh) * 2022-03-03 2022-06-10 腾讯科技(深圳)有限公司 一种云平台的负载检测方法、装置、电子设备和存储介质
CN115118602A (zh) * 2022-06-21 2022-09-27 中船重工信息科技有限公司 一种基于使用量预测的容器资源动态调度方法及系统
CN115277862A (zh) * 2022-06-21 2022-11-01 阿里巴巴(中国)有限公司 基于容器的资源调度方法及装置
CN115297112A (zh) * 2022-07-31 2022-11-04 南京匡吉信息科技有限公司 一种基于Kubernetes的动态资源配额及调度组件
CN115543577A (zh) * 2022-08-08 2022-12-30 广东技术师范大学 基于协变量的Kubernetes资源调度优化方法、存储介质及设备
CN116257360A (zh) * 2023-03-09 2023-06-13 上海道客网络科技有限公司 一种基于历史使用数据规划容器组资源的方法和系统
CN116414568A (zh) * 2023-06-09 2023-07-11 阿里巴巴(中国)有限公司 针对虚拟无线接入网络的内存调整方法、设备及系统
CN117573373A (zh) * 2024-01-15 2024-02-20 中诚华隆计算机技术有限公司 一种基于云计算的cpu虚拟化调度方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140258546A1 (en) * 2011-10-14 2014-09-11 Alcatel-Lucent Method and apparatus for dynamically assigning resources of a distributed server infrastructure
CN104090813A (zh) * 2014-06-26 2014-10-08 华南理工大学 一种云数据中心的虚拟机cpu使用率的分析建模方法
JP2015022321A (ja) * 2013-07-16 2015-02-02 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
CN108829494A (zh) * 2018-06-25 2018-11-16 杭州谐云科技有限公司 基于负载预测的容器云平台智能资源优化方法
CN109710500A (zh) * 2018-11-29 2019-05-03 西安工程大学 一种基于自动伸缩Docker集群的组合预测方法
CN109976908A (zh) * 2019-03-15 2019-07-05 北京工业大学 一种基于rnn时间序列预测的服务器集群动态伸缩方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140258546A1 (en) * 2011-10-14 2014-09-11 Alcatel-Lucent Method and apparatus for dynamically assigning resources of a distributed server infrastructure
JP2015022321A (ja) * 2013-07-16 2015-02-02 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
CN104090813A (zh) * 2014-06-26 2014-10-08 华南理工大学 一种云数据中心的虚拟机cpu使用率的分析建模方法
CN108829494A (zh) * 2018-06-25 2018-11-16 杭州谐云科技有限公司 基于负载预测的容器云平台智能资源优化方法
CN109710500A (zh) * 2018-11-29 2019-05-03 西安工程大学 一种基于自动伸缩Docker集群的组合预测方法
CN109976908A (zh) * 2019-03-15 2019-07-05 北京工业大学 一种基于rnn时间序列预测的服务器集群动态伸缩方法

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111638959A (zh) * 2020-06-02 2020-09-08 山东汇贸电子口岸有限公司 云环境下基于负载回归预测的弹性伸缩方法及可读存储介质
CN111507650B (zh) * 2020-07-02 2021-01-05 深圳微品致远信息科技有限公司 一种边缘计算平台算力分配调度方法及系统
CN111507650A (zh) * 2020-07-02 2020-08-07 深圳微品致远信息科技有限公司 一种边缘计算平台算力分配调度方法及系统
CN112199150A (zh) * 2020-08-13 2021-01-08 北京航空航天大学 一种基于微服务调用依赖感知的在线应用动态扩缩容方法
CN112187894A (zh) * 2020-09-17 2021-01-05 杭州谐云科技有限公司 一种基于负载相关性预测的容器动态调度方法
CN112187894B (zh) * 2020-09-17 2022-06-10 杭州谐云科技有限公司 一种基于负载相关性预测的容器动态调度方法
CN114518952A (zh) * 2020-11-20 2022-05-20 中国电信股份有限公司 容器内存使用量预测自反馈优化的方法、装置及存储介质
CN112767027A (zh) * 2021-01-19 2021-05-07 杭州朗澈科技有限公司 一种基于业务感知的云成本预测方法和系统
CN112767027B (zh) * 2021-01-19 2022-05-24 杭州朗澈科技有限公司 一种基于业务感知的云成本预测方法和系统
CN112905343A (zh) * 2021-02-09 2021-06-04 重庆大学 一种工业云环境下基于负载特性的资源调度系统
CN112905343B (zh) * 2021-02-09 2023-09-26 重庆大学 一种工业云环境下基于负载特性的资源调度系统
CN113112139A (zh) * 2021-04-07 2021-07-13 上海联蔚盘云科技有限公司 云平台账单的处理方法和设备
CN113254213A (zh) * 2021-06-08 2021-08-13 苏州浪潮智能科技有限公司 一种服务的计算资源配置方法、系统及装置
CN113673822B (zh) * 2021-07-15 2023-08-11 微梦创科网络科技(中国)有限公司 一种弹性调度方法及系统
CN113673822A (zh) * 2021-07-15 2021-11-19 微梦创科网络科技(中国)有限公司 一种弹性调度方法及系统
CN113626282B (zh) * 2021-07-16 2023-12-22 济南浪潮数据技术有限公司 云计算物理节点负载监控方法、装置、终端及存储介质
CN113626282A (zh) * 2021-07-16 2021-11-09 济南浪潮数据技术有限公司 云计算物理节点负载监控方法、装置、终端及存储介质
CN114185642A (zh) * 2021-11-12 2022-03-15 联奕科技股份有限公司 一种基于容器管理平台的智慧校园开发方法及系统
CN114185642B (zh) * 2021-11-12 2023-11-17 联奕科技股份有限公司 一种基于容器管理平台的智慧校园开发方法及系统
CN114327890A (zh) * 2021-12-27 2022-04-12 杭州谐云科技有限公司 一种多指标融合的容器配额推荐方法和系统
CN114327890B (zh) * 2021-12-27 2023-08-25 杭州谐云科技有限公司 一种多指标融合的容器配额推荐方法和系统
CN114615177A (zh) * 2022-03-03 2022-06-10 腾讯科技(深圳)有限公司 一种云平台的负载检测方法、装置、电子设备和存储介质
CN114615177B (zh) * 2022-03-03 2023-10-13 腾讯科技(深圳)有限公司 一种云平台的负载检测方法、装置、电子设备和存储介质
CN115277862A (zh) * 2022-06-21 2022-11-01 阿里巴巴(中国)有限公司 基于容器的资源调度方法及装置
CN115118602A (zh) * 2022-06-21 2022-09-27 中船重工信息科技有限公司 一种基于使用量预测的容器资源动态调度方法及系统
CN115118602B (zh) * 2022-06-21 2024-05-07 中船重工信息科技有限公司 一种基于使用量预测的容器资源动态调度方法及系统
CN115297112A (zh) * 2022-07-31 2022-11-04 南京匡吉信息科技有限公司 一种基于Kubernetes的动态资源配额及调度组件
CN115543577B (zh) * 2022-08-08 2023-08-04 广东技术师范大学 基于协变量的Kubernetes资源调度优化方法、存储介质及设备
CN115543577A (zh) * 2022-08-08 2022-12-30 广东技术师范大学 基于协变量的Kubernetes资源调度优化方法、存储介质及设备
CN116257360B (zh) * 2023-03-09 2023-09-08 上海道客网络科技有限公司 一种基于历史使用数据规划容器组资源的方法和系统
CN116257360A (zh) * 2023-03-09 2023-06-13 上海道客网络科技有限公司 一种基于历史使用数据规划容器组资源的方法和系统
CN116414568A (zh) * 2023-06-09 2023-07-11 阿里巴巴(中国)有限公司 针对虚拟无线接入网络的内存调整方法、设备及系统
CN116414568B (zh) * 2023-06-09 2023-10-31 阿里巴巴(中国)有限公司 针对虚拟无线接入网络的内存调整方法、设备及系统
CN117573373A (zh) * 2024-01-15 2024-02-20 中诚华隆计算机技术有限公司 一种基于云计算的cpu虚拟化调度方法及系统
CN117573373B (zh) * 2024-01-15 2024-03-26 中诚华隆计算机技术有限公司 一种基于云计算的cpu虚拟化调度方法及系统

Also Published As

Publication number Publication date
CN110990159B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
CN110990159A (zh) 一种基于历史数据分析的容器云平台资源配额预测方法
CN110389820B (zh) 一种基于v-TGRU模型进行资源预测的私有云任务调度方法
CN111355606B (zh) 面向web应用的容器集群自适应扩缩容系统和方法
CN111026553B (zh) 离线混部作业的资源调度方法及服务器系统
Nichiforov et al. Deep learning techniques for load forecasting in large commercial buildings
CN108920153A (zh) 一种基于负载预测的Docker容器动态调度方法
CN107566535B (zh) 基于Web地图服务并发访问时序规则的自适应负载均衡方法
CN113822456A (zh) 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法
WO2019085754A1 (zh) 应用清理方法、装置、存储介质及电子设备
CN115525394A (zh) 容器数量的调整方法及装置
Zhang et al. Optimizing video caching at the edge: A hybrid multi-point process approach
CN115913967A (zh) 一种云环境下基于资源需求预测的微服务弹性伸缩方法
CN114977176A (zh) 电力负荷分解方法、装置、设备及存储介质
CN115543626A (zh) 采用异构计算资源负载均衡调度的电力缺陷图像仿真方法
CN117827434A (zh) 基于多维资源预测的混合弹性伸缩方法
CN112801415A (zh) 基于马尔科夫链分布模型的超短期负荷预测方法及系统
CN115883392B (zh) 算力网络的数据感知方法、装置、电子设备及存储介质
CN108173686A (zh) 一种基于arima和小波变换的云数据中心请求流预测方法
CN112214911A (zh) 一种电源的健康状态预测方法
Ismaeel et al. Real-time energy-conserving vm-provisioning framework for cloud-data centers
CN116541128A (zh) 一种负载调节方法、装置、计算设备、及存储介质
CN116467631A (zh) 电力指纹识别模型训练方法、电力指纹识别方法及装置
CN108520311B (zh) 结合sofm网与bp神经网络的雾霾预测模型建立方法及系统
Li et al. The extreme counts: modeling the performance uncertainty of cloud resources with extreme value theory
CN115766728A (zh) 一种面向分布式工业时序数据库的数据负载均衡方法

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