法律状态公告日
法律状态信息
法律状态
2019-08-30
授权
授权
2017-07-07
实质审查的生效 IPC(主分类):G06F11/34 申请日:20170123
实质审查的生效
2017-06-13
公开
公开
技术领域
本发明涉及一种基于机器学习算法的云平台容量规划方法。
背景技术
随着云平台应用的日益广泛,虚拟资源已经成为数据中心资源分配的主要形式。在应用系统投产和运维阶段,云平台需要投入多少资源才能保障应用系统的设计性能指标,是困扰大多数数据中心进行容量规划的难题。传统数据中心容量规划主要以经验为主,为了保障稳定的系统性能,经常采用过量分配资源的方式,导致数据中心服务器资源利用率整体非常低,造成资源浪费。如将服务器整体有效资源利用率从20%提升至40%,将可以大幅节省数据中心物理资源投入。
发明内容
本发明的主要目的在于提供一种基于机器学习的云平台容量规划方法,解决上述数据中心容量规划问题。
本发明的目的是通过以下技术方案实现的:一种基于机器学习的云平台容量规划方法,该方法为:每发生一次迁移,即根据拓扑结构,对相关节点触发一次容量评估,响应时间T'或物理资源利用率Up'最先达到阈值的节点的虚拟资源或物理资源所能支撑的访问量作为该云平台的容量值。
所述响应时间T'和物理资源利用率Up'通过以下步骤获得:
步骤1:采用操作系统底层命令,采用逻辑时钟同步方式,实时获取物理资源利用率Up与虚拟资源利用率Ua,业务系统访问日志。
步骤2:从访问日志中提取占请求比例最大的K类请求,获得每类请求的到达率Rk,根据Ua=∑kSk×Rk,获得第k类请求的服务时间Sk。进一步获得虚拟化资源开销模型:
步骤3:采用隐马尔可夫模型,结合当前访问日志中提取的K类请求,预测下一段时间每类请求的到达率Rk'。
步骤4:根据预测的请求到达率Rk'和服务时间Sk,对下一段时间的虚拟资源利用率Ua'进行预测:Ua'=∑kSk×Rk'
进一步根据步骤2训练的虚拟化资源开销模型都对下一段时间的虚拟化资源开销Uv'进行预测,Uv'=∑kaRk'2+bRk'+c;
由此获得下一段时间的物理资源利用率Up',Up'=Ua'+Uv';
步骤5:采用队列模型,结合每个请求的到达率Rk'和事务的服务时间Sk,对响应时间T'进行预测。
进一步地,所述相关节点为:与迁移直接相关的节点。
本发明的有益效果在于:本发明适用于大型数据中心云平台的容量预测和规划,单纯依靠运维人员的经验,很难准确预测和估算云平台资源使用是否合理。本发明引入了基于多项式回归的云平台资源利用率估算和基于序列分析的应用系统响应事件预测,通过预测这些性能指标,衡量当前云平台资源是否可以满足应用系统运行指标。本发明适用于应用系统上线前、业务增长期和设配运维过程中数据中心容量规划,在保障应用性能的前提下,合理布局软硬件设备。
附图说明
图1为云平台容量规划场景示意图;
图2为基于机器学习的云平台容量规划流程图;
图3为单个物理节点上的虚拟化资源消耗的估算准确度以及计算所需时间开销统计图。
具体实施方式
动态虚拟资源调度是主流云平台的基本功能之一,实现虚拟机、容器等的动态迁移,实现云平台的负载均衡,然而由于虚拟化带来的额外开销,将虚拟资源运行在不同的物理主机上,虚拟化开销代价也各不相同,从而影响整个云平台的容量。本发明的容量预测将综合考虑每台物理主机和每台虚拟主机能够支撑的应用系统的最大访问量,形成动态的集群容量布局规划,结合动态资源调度来实现动态实时容量预测。
本发明结合云平台采用的动态迁移策略,实时计算物理服务器的负载状态,实时计算每台服务当前的容量使用情况和能够承受的最大容量。由于云平台的资源开销包括应用开销和虚拟化开销,其中虚拟化开销与应用系统特点、虚拟机配置和虚拟机部都有关系,因此虚拟机迁移前后,云平台整体的容量会随之发生变化。本发明通过迁移直接相关的节点对特定业务的容量规划分析,可以准确预测调度云平台的容量。每发生一次虚拟机迁移,即根据拓扑结构,对相关节点触发一次容量评估,响应时间T'或物理资源利用率Up'最先达到阈值的节点的虚拟资源或物理资源所能支撑的业务量作为该云平台的容量值。
其中,所述响应时间T'和物理资源利用率Up'通过以下步骤获得:
步骤1:采用操作系统底层命令,采用逻辑时钟同步方式,实时获取物理资源利用率Up与虚拟资源利用率Ua,业务系统访问日志,作为数据中心容量规划的基础。本发明采用逻辑时钟同步方式,实现各节点数据选取时间间隔的一致性。
步骤2:云平台性能分析,包括两个部分:应用服务时间估算和平台虚拟化开销估算,分别从应用系统资源消耗和虚拟化管理资源消耗两个方面进行分析。
复杂用系统包含大量的服务请求,每类请求对应的资源开销存在明显差异,应用系统服务时间估算变得非常复杂。本发明针对复杂混合事务,设计一套多元回归分析方法,估算每类访问请求的服务时间。具体如下:
从访问日志中提取占请求比例最大的K类请求,获得每类请求的到达率Rk,根据Ua=∑kSk×Rk,获得第k类请求的服务时间Sk。
在应用系统事务服务时间估算的基础上,结合应用系统访问请求负载变化条件下,服务器整体资源利用率的预测。虚拟环境下,虚拟化将带来额外的资源开销,因此资源利用率预测也将分为两个部分,即事务相关的应用资源开销和虚拟化相关的开销,其中虚拟化资源开销同样也与应用系统负载直接相关。以CPU资源利用率为例,除事务的CPU计算需求外,虚拟化层将应用事务映射到物理层指令的过程也需要CPU计算开销,应用事务负载越重,虚拟化资源开销也会越多。
在云平台虚拟化环境下,服务器资源利用率不仅受应用系统影响,虚拟化以及虚拟资源管理也会带来资源开销,虚拟化开销主要体现在虚拟化管理层将应用系统的虚拟指令转化为物理机的指令,虚拟化管理开销取决于虚拟资源的调度开销,实验发现这些开销都与虚拟机上应用系统的负载相关,负载越大尤其是IO负载越大,虚拟化带来的资源开销也会越大。多项式模型是曲线拟合的常用方式,虚拟化资源开销的定义如下:
其中Uv表示服务器虚拟化资源开销,定义为
在分析过程中,i的值越大,拟合准确度通常越高,算法复杂度也会响应增加,实际应用过程中,通常会在计算复杂度和准确度之间做个平衡,为此我们进行大量实验,对单个物理节点上的虚拟化资源消耗的估算准确度以及计算所需时间开销统计如下。准确度时间随多项式次数增加呈缓慢增长趋势,而时间复杂度增长迅速,选取二次多项式是较好折衷方案,具体如下:
a,b,c为多项式系数,
步骤3:采用隐马尔可夫模型,结合当前访问日志中提取的K类请求,预测下一段时间每类请求的到达率Rk'。
步骤4:根据预测的请求到达率Rk'和服务时间Sk,对下一段时间的虚拟资源利用率Ua'进行预测:Ua'=∑kSk×Rk'
进一步根据步骤2训练的虚拟化资源开销模型都对下一段时间的虚拟化资源开销Uv'进行预测,以预测特定负载情况下的平台资源利用率,Uv'=∑kaRk'2+bRk'+c;
由此获得下一段时间的物理资源利用率Up',Up'=Ua'+Uv';
步骤5:采用队列模型,结合每个请求的到达率Rk'和事务的服务时间Sk,对响应时间T'进行预测。响应时间是评估数据中心服务质量的重要指标之一,响应时间指标不能超出系统设计指标是进行容量规划的前提,而准确预测响应时间变化是其中的关键。
机译: 一种系统,一种用于训练基于机器学习的处理器电路的方法,适用于表征车辆的envi-Ronment
机译: 一种基于AI的帕金森氏病诊断信息方法,该方法使用机器学习对NIGROSOME-1区域进行分类,并通过多种学习模型对多种预测结果进行分类
机译: 基于一种或多种类型的概念漂移的确定影响确定机器学习培训方法的系统和方法