主机资源利用率计算方法和资源调度方法与流程

文档序号:18028698发布日期:2019-06-28 22:25阅读:884来源:国知局
主机资源利用率计算方法和资源调度方法与流程

本发明属于电力系统私有云建设技术领域,具体涉及一种主机资源利用率计算方法和资源调度方法。



背景技术:

云计算服务将大量网络连接的计算和存储资源统一管理和调度,构成一个计算资源池,向用户提供按需服务。虚拟化技术已成为云计算服务的一个显著特征,通过使用虚拟化技术,可以在一台物理主机上运行多台虚拟机,这种方式可以充分利用主机的资源,也保证了用户的应用程序在相互独立的空间内运行互不影响,同时提高了应用程序的可用性。

随着虚拟化技术和应用服务的流行,支撑虚拟化技术的数据中心规模越来越大。使用虚拟化技术在数据中心形成一个虚拟资源池,在虚拟资源管理中,常常需要面对用户和应用需求不断变化,虚拟机的负载也随着变化,虚拟资源不能应对用户随时变化需求造成的负载波动,故静态的资源分配会造成资源浪费或资源分配不足,影响资源使用率、用户服务质量以及能量消耗率。



技术实现要素:

为解决上述问题,本发明提出一种主机资源利用率计算方法和资源调度方法,实现了实现主机资源合理划分,根据不同种类的资源采用不同的优化调度策略,解决主机资源分配不当的技术问题。

本发明采用如下技术方案,主机资源利用率计算方法,包括以下步骤:

1)利用加权平均法分别计算虚拟机资源中预先选定的监测指标在m天内每天同一时刻的采样周期内的多个采样点的加权平均使用率,作为每天同一时刻的监测指标使用率,其中权值为待优化值;

2)计算m天同一时刻的监测指标使用率的平均值;

3)计算m天同一时刻的监测指标使用率的方差;

4)基于方差最小化的原则对所述权值进行优化;

5)基于最优权值计算m天同一时刻的监测指标使用率的平均值,作为虚拟机资源的监测指标在该时刻的平均使用率;

6)重复步骤1)至步骤5),得到虚拟机资源中预先选定的监测指标在m天预设时刻的监测指标使用率的平均值,分别作为虚拟机资源的监测指标在各预设时刻的平均使用率。

优选地,所述监测指标包括cpu资源,cpu资源在各预设时刻的平均使用率的计算方法步骤如下:

11)计算m天内每天a时刻的采样周期内的n个采样点的cpu资源加权平均使用率,即每天a时刻的cpu资源使用率,计算公式如下:

βcpu=[β1β2…βn](1)

其中,分别表示第一天、第二天、第m-1天和第m天a时刻的采样周期内的n个采样点的cpu资源加权平均使用率,即第一天、第二天、第m-1天和第m天a时刻的cpu资源使用率,分别表示第一天、第二天、第m-1天和第m天a时刻的采样周期内的第t个采样点的cpu资源使用率,βt表示第t个采样点对应的cpu资源使用率的权值,βcpu表示n个采样点对应的cpu资源使用率的权值集合;

12)m天内a时刻的cpu资源使用率的平均值θcpu的计算公式如下:

其中,表示第k天a时刻的采样周期内的n个采样点的cpu资源加权平均使用率,即第k天a时刻的cpu资源使用率,按公式(1)计算;

13)m天内a时刻的cpu资源使用率的方差s的计算公式如下:

14)基于方差最小化对所述权值进行优化,利用大数据进行样本训练求得最小方差对应的最优权值集合;

15)基于最优权值计算m天内a时刻的cpu资源使用率的平均值,作为虚拟机的cpu资源在a时刻的平均使用率,按公式(2)进行计算;

16)重复上述步骤,得到虚拟机的cpu资源在m天各预设时刻的使用率的平均值,分别作为虚拟机cpu资源在各预设时刻的平均使用率。

优选地,所述监测指标还包括内存资源、磁盘资源和网络资源,分别计算内存资源、磁盘资源和网络资源在各预设时刻的平均使用率。

优选地,所述步骤14)具体步骤如下:

141)基于m天内a时刻的cpu资源使用率的方差s计算p个m天内a时刻的cpu资源使用率的方差s,取滑动方差序列,p=m,则得到cpu资源使用率的方差矩阵scpu,计算公式如下:

其中,spm表示第p个m天从第m天开始滑动的m天的方差s;

142)利用大数据进行样本训练进行多维集合的优化问题min(s)求解,得到最小方差对应的最优权值集合。

基于主机资源利用率计算方法的资源调度方法,包括以下步骤:

5-1)基于预先选定的监测指标判断物理机的状态,所述物理机的状态包括:高负载物理机、低负载物理机和正常状态物理机;

5-2)若物理机为高负载物理机或低负载物理机,则进行虚拟机迁移;若物理机为正常状态物理机,则实时监测正常状态物理机上虚拟机资源中预先选定的监测指标的使用率,进入步骤5-3);

5-3)基于预先计算的虚拟机资源的监测指标在各预设时刻的平均使用率判断当前时刻的虚拟机状态,所述虚拟机的状态包括高负载虚拟机、正常状态虚拟机和低负载虚拟机;

5-4)若虚拟机为高负载虚拟机,则额外分配资源;若虚拟机为低负载虚拟机,则回收资源。

优选地,所述步骤5-1)的判断方法为双阀值法,具体为:

所述高负载物理机:当物理机连续t个时间段内的预先选定的监测指标中有一项或多项的使用率高于设定的资源利用率上限,此物理机为高负载物理机;

所述低负载物理机:当物理机连续t个时间段内的预先选定的监测指标的使用率均低于设定的资源利用率下限,此物理机为低负载物理机;

所述正常状态物理机:不属于高负载物理机和低负载物理机的物理机即为正常状态物理机。

优选地,所述步骤5-3)中判断方法为双阀值法,具体为:

所述高负载虚拟机:当虚拟机连续t个时间段内的预先选定的监测指标的中有一项或多项的使用率高于对应时刻的虚拟资源利用率上限时,此虚拟机为高负载虚拟机;

所述低负载虚拟机:当虚拟机连续t个时间段内的预先选定的监测指标的使用率均低于对应时刻的虚拟资源利用率下限或连续t个时间段内的预先选定的监测指标的使用率均固定不变,此虚拟机为低负载虚拟机;

所述正常状态虚拟机:不属于高负载虚拟机和低负载虚拟机的虚拟机即为正常状态虚拟机;

所述虚拟资源利用率上限和下限的设定方法为:预先计算虚拟机资源的监测指标在各预设时刻的平均使用率,以虚拟机资源的监测指标在各预设时刻的平均使用率作为基值,上下浮动q%分别作为各预设时刻的虚拟资源利用率上限和下限。

发明所达到的有益效果:本发明是一种主机资源利用率计算方法和资源调度方法,实现了实现主机的资源合理划分,根据不同种类的资源采用不同的优化调度策略,解决主机资源分配不当的技术问题。本发明提出的主机资源利用率计算方法是解决云计算中虚拟机调度问题、虚拟机迁移和虚拟机动态伸缩等相关问题的基础;基于本发明的主机资源利用率计算方法,结合资源利用率模型算法和云环境下虚拟机优化调度策略,能够从全局范围规划调度虚拟资源的使用问题,提高数据中心资源的使用率;通过双阀值法计算主机资源的使用情况,根据不同种类的资源采用不同的优化调度策略,实现资源合理划分。

附图说明

图1是本发明实施例中一种基于主机资源利用率计算方法的资源调度方法的流程图。

具体实施方式

下面根据附图并结合实施对本发明的技术方案作进一步阐述。

首先,获取整个云计算环境中所有物理服务器的资源使用情况;然后,根据这些资源使用情况按照物理服务器分类规则将所有物理服务器划分到不同的队列;队列划分完成后,依据资源利用率模型算法完成对队列中的物理服务器上的虚拟机的优化调度策略制定,最后可按照资源利用率模型算法检查整个平台的资源使用情况,按照调度策略选择关闭多余的空闲物理服务器或虚拟机以实现节约资源的目的。

基于主机资源利用率计算方法的资源调度方法,包括以下步骤:

一)基于预先选定的监测指标判断物理机的状态,所述物理机的状态包括:高负载物理机、低负载物理机和正常状态物理机;本实施例中预先选定的监测指标包括cpu资源,内存资源、磁盘资源和网络资源,具体实施过程如下:

监测物理资源cpu、内存、磁盘和网络使用情况,物理服务器和虚拟机的资源使用情况数据是整个虚拟机调度的基础,直接反应了整个云计算环境资源的运行状况,位于物理服务器上的采集模块采集所在物理服务器和其上运行的虚拟机相关数据的釆集。监控指标如表1所示:

表1监控指标

所述自采集基于安全外壳协议(secureshell,ssh)实现;

所述步骤一)的判断方法为双阀值法,对云计算平台数据中心中的物理机进行分类,具体为:

根据一个监测周期内物理机的资源利用率情况将物理机分为以下三类:

所述高负载物理机:当物理机连续t个时间段内的预先选定的监测指标中有一项或多项的使用率高于设定的对应监测指标的资源利用率上限,此物理机为高负载物理机;即在实时监测过程中,当物理机连续t个时间段内的cpu使用率、内存使用率、磁盘i/o和网络i/o有一项或多项高于设定的对应监测指标的资源利用率上限,则认定此物理机为高负载物理机;

所述低负载物理机:当物理机连续t个时间段内的预先选定的监测指标的使用率均低于设定的对应监测指标的资源利用率下限,此物理机为低负载物理机;即在实时监测过程中,当物理机连续t个时间段内的cpu使用率、内存使用率、磁盘i/o和网络i/o均低于设定的对应监测指标的资源利用率下限,则认定此物理机为低负载物理机

所述正常状态物理机:不属于高负载物理机和低负载物理机的物理机即为正常状态物理机。

基于双阀值法判断云计算系统中物理机的使用状态是业界最常用有效方法之一。

二)若物理机为高负载物理机或低负载物理机,则进行虚拟机迁移;若物理机为正常状态物理机,则实时监测正常状态物理机上虚拟机资源中预先选定的监测指标的使用率,进入步骤三);预先选定的监测指标包括cpu资源,内存资源、磁盘资源和网络资源;采用虚拟机动态伸缩技术,能够保证正常状态物理主机上的虚拟机更加高效的利用资源,防止物理主机的资源利用率过高而导致物理主机可用性降低以及物理主机的资源利用率过低而导致资源浪费。

三)基于预先计算的虚拟机资源的监测指标在各预设时刻的平均使用率判断当前时刻的虚拟机状态,所述虚拟机的状态包括高负载虚拟机、正常状态虚拟机和低负载虚拟机;

所述步骤三)中判断方法为双阀值法,具体为:

根据一个监测周期内虚拟机的资源利用率情况将虚拟机分为以下三类:

所述高负载虚拟机:当虚拟机连续t个时间段内的预先选定的监测指标的中有一项或多项的使用率高于对应时刻的虚拟资源利用率上限时,此虚拟机为高负载虚拟机;即在实时监测过程中,当某虚拟机连续t个时间段内的cpu使用率、内存使用率、磁盘i/o、存储使用率有一项或多项高于对应时刻的虚拟资源利用率上限,则认定此虚拟机为高负载虚拟机;

所述低负载虚拟机:当虚拟机连续t个时间段内的预先选定的监测指标的使用率均低于对应时刻的虚拟资源利用率下限或连续t个时间段内的预先选定的监测指标的使用率均固定不变,此虚拟机为低负载虚拟机;即在实时监测过程中,当某虚拟机连续t个时间段内的cpu使用率、内存使用率、磁盘i/o、存储使用率均低于对应时刻的虚拟资源利用率下限或连续t个时间段内的cpu使用率、内存使用率、磁盘i/o、存储使用率均固定不变,此虚拟机为低负载虚拟机;

所述正常状态虚拟机:不属于高负载虚拟机和低负载虚拟机的虚拟机即为正常状态虚拟机;

所述对应时间为预先设定的时刻,与监测周期相对应。

所述虚拟资源利用率上限和下限的设定方法为:预先计算虚拟机资源的监测指标在各预设时刻的平均使用率,以虚拟机资源的监测指标在各预设时刻的平均使用率作为基值,上下浮动q%分别作为各预设时刻的虚拟资源利用率上限和下限。本实施例中q%为30%。

对虚拟机状态进行分类所采用的双阀值法中的阀值非固定值,而是基于预设时刻的平均使用率进行设定,这是由于虚拟机上运行的服务呈现多样性,而且用户的使用规律各不相同,因此虚拟机的负载变化是一个随机过程,通过大数据分析,可以总结出负载变化的特点如下:

(1)负载变化是随机过程;

(2)负载一般处于较低水平且波动性强;

(3)负载变化和时间有很强的关联;

(4)负载变化具有高度的自相似性;通过对实际监控采样数据进行大数据分析,以一天的采集数据为一个分析样本集,统计多个样本集变化规律发现负载资源利用率的变化趋势是一致的;

(5)负载资源类型较多,使用率的分布比较复杂,呈现复合多样性。

虚拟机资源的监测指标在各预设时刻的平均使用率的计算方法,即主机资源利用率的计算方法,包括以下步骤:

1)利用加权平均法分别计算虚拟机资源中预先选定的监测指标在m天内每天同一时刻的采样周期内的多个采样点的加权平均使用率,作为每天同一时刻的监测指标使用率,其中权值为待优化值;本实施例中预先选定的监测指标包括cpu资源,内存资源、磁盘资源和网络资源;

负载变化具有高度的自相似性;但在每个具体的采样点上采样得到的资源利用率数据又不完全相同,存在小范围的波动性。采用加权平均数法能够最大限度地消除这种波动性带来的影响。

2)计算m天同一时刻的监测指标使用率的平均值;

3)计算m天同一时刻的监测指标使用率的方差;

4)基于方差最小化的原则对所述权值进行优化;

5)基于最优权值计算m天同一时刻的监测指标使用率的平均值,作为虚拟机资源的监测指标在该时刻的平均使用率;

6)重复步骤1)至步骤5),得到虚拟机资源中预先选定的监测指标在m天预设时刻的监测指标使用率的平均值,分别作为虚拟机资源的监测指标在各预设时刻的平均使用率。

cpu资源在各预设时刻的平均使用率的计算方法步骤如下:

11)计算m天内每天a时刻的采样周期内的n个采样点的cpu资源加权平均使用率,即每天a时刻的cpu资源使用率,计算公式如下:

βcpu=[β1β2…βn](1)

其中,分别表示第一天、第二天、第m-1天和第m天a时刻的采样周期内的n个采样点的cpu资源加权平均使用率,即第一天、第二天、第m-1天和第m天a时刻的cpu资源使用率,分别表示第一天、第二天、第m-1天和第m天a时刻的采样周期内的第t个采样点的cpu资源使用率,βt表示第t个采样点对应的cpu资源使用率的权值,βcpu表示n个采样点对应的cpu资源使用率的权值集合;

12)m天内a时刻的cpu资源使用率的平均值θcpu的计算公式如下:

其中,表示第k天a时刻的采样周期内的n个采样点的cpu资源加权平均使用率,即第k天a时刻的cpu资源使用率,按公式(1)计算;

13)m天内a时刻的cpu资源使用率的方差s的计算公式如下:

14)基于方差最小化对所述权值进行优化,利用大数据进行样本训练求得最小方差对应的最优权值集合;

所述步骤14)具体步骤如下:

141)基于m天内a时刻的cpu资源使用率的方差s计算p个m天内a时刻的cpu资源使用率的方差s,取滑动方差序列,p=m,则得到cpu资源使用率的方差矩阵scpu,计算公式如下:

其中,spm表示第p个m天从第m天开始滑动的m天的方差s;

设:

scpu为半正定矩阵,则

142)利用大数据进行样本训练进行多维集合的优化问题min(s)求解,得到最小方差对应的最优权值集合。

15)基于最优权值计算m天内a时刻的cpu资源使用率的平均值,作为虚拟机的cpu资源在a时刻的平均使用率,按公式(2)进行计算;

16)重复上述步骤,得到虚拟机的cpu资源在m天各预设时刻的使用率的平均值,分别作为虚拟机cpu资源在各预设时刻的平均使用率。

按上述方法分别计算内存资源、磁盘资源和网络资源在各预设时刻的平均使用率。

以计算得到的cpu资源、内存资源、磁盘资源和网络资源在各预设时刻的平均使用率作为基值,上下浮动30%分别作为各预设时刻的虚拟资源利用率上限和下限。

四)若虚拟机为高负载虚拟机,则额外分配资源;若虚拟机为低负载虚拟机,则回收资源。

本发明将虚拟机迁移和虚拟机本地动态伸缩特性相结合,提出一种虚拟机优化调度策略,以此对虚拟机进行合理调度,更加高效的利用云计算数据中心的资源。

以上所述仅为本发明的优选实施方式,用以说明本发明的技术方案,而非对其限制;应当指出:对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1