欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种基于L-BFGS的云资源动态优化方法独创技术23202字

一种基于L-BFGS的云资源动态优化方法

2021-02-28 13:53:38

一种基于L-BFGS的云资源动态优化方法

  技术领域

  本发明涉及网络资源优化的技术领域,尤其涉及一种基于L-BFGS的云资源动态优化方法。

  背景技术

  云计算作为一种新型的绿色计算模式,极大程度上改变了传统的服务模式,通过与网络技术的紧密结合为用户提供了各种应用服务。但是,由于云数据中心基础设施规模的不断扩大,给云计算产业带来了高能耗问题;对于云计算环境下资源动态配置方面,还需要考虑在各种状态下资源分布的稳定性问题。因此,如何对云计算环境下的资源进行部署优化,成为当前研究人员所研究的热点问题。

  现有云计算环境中的云服务器大多采用混合页的内存管理方式,其中混合页中的大页可以显著提升TLB命中率并提升内存访问性能。但是在混合页云服务器中使用现有的内存重删技术会导致大量大页被拆分,进而导致内存访问性能严重下降等问题。

  同时,现有资源调度方面的研究不能很好的适应云环境下云服务器的应用场景。在虚拟机部署方面,现有技术无法精确划分虚拟机间的通信关系,因此对通信开销的优化效果不佳;此外,现有技术往往只针对单目标进行优化,缺少同时对资源利用率、负载均衡以及通信开销等多目标优化的研究。在虚拟机迁移方面,现有技术选择迁移虚拟机时往往只考虑虚拟机的规格,无法预知虚拟机剩余存在时间,也缺少对迁移后虚拟机通信开销变化的考虑。

  鉴于此,在考虑提高云服务器内存访问性能的基础上,如何减少云环境中资源调度的通信开销,进行云资源的动态迁移优化,实现云服务器的负载均衡,成为本领域技术人员亟待解决的问题。

  发明内容

  本发明提供一种基于L-BFGS的云资源动态优化方法,在考虑提高云服务器内存访问性能的基础上,通过减少云环境中资源调度的通信开销,进行云资源的动态迁移优化,实现云服务器的负载均衡。

  为实现上述目的,本发明提供的一种基于L-BFGS的云资源动态优化方法,包括:

  利用基于阈值的页面更改策略对云服务器中的内存进行管理;

  初始化云环境下云服务器资源及待分配场景虚拟机资源占用情况;

  利用AHP层次分析法评估云服务器中每台主机的资源占用比,确定需要迁移的虚拟机;

  制定以最佳云服务器资源平衡为目标的目标函数;

  建立虚拟机通信迁移代价模型;

  利用L-BFGS算法优化目标函数获取迁移虚拟机的目标云服务器,得到待迁移虚拟机的迁移策略;

  利用虚拟机通信迁移代价模型计算虚拟机的不同迁移策略的通信迁移代价,选取其中通信迁移代价最小的迁移策略作为最终虚拟机迁移策略,根据所述最终虚拟机迁移策略,将待迁移的虚拟机迁移到指定的目标云服务器中。

  可选地,所述基于阈值的页面更改策略的流程为:

  1)获取实时情况下每个内存页的状态;

  2)对于内存页面状态为冷页的内存页面,为其子页创建一个单独的副本,然后将冷页内存中所有的子页迁移到一个2MB的连续物理内存区域中,实现对冷页内存子页的聚合;

  3)当所有的子页被聚合完毕时,更改页描述中相关描述信息,使得操作系统后续能够以大页的方式对其管理;

  4)对冷页的大页页表项进行重构,即使用一个三级页表的页表项对整个冷页大页区域进行映射,并且将原来的每个子页的页表项进行删除处理,同时刷新TLB中缓存的映射信息使得后续访问会使用新的大页页表项。

  可选地,所述初始化云环境下的资源占用情况,包括:

  所述云环境下的资源包括待部署的云服务器以及虚拟器,其中云服务器的集合为

  P={P1,P2,...Pm}

  其中:

  m代表云服务器的数量;

  云服务器Pj所具备的资源为集合其中为云服务器Pj中资源z的总量;

  待部署的虚拟机集合为:

  

  其中:

  Sn代表虚拟机的第n个场景;

  n代表场景的数量,一个场景至少包括两个虚拟机:操作机和目标机;

  场景Si待部署的虚拟机集合为b代表该场景虚拟机的数量;

  虚拟机请求的资源集合为其中代表虚拟机对资源z的需求量。

  可选地,所述利用AHP层次分析法评估云服务器中每台主机的资源占用比,包括:

  1)建立层次结构模型,其中目标层为云服务器中虚拟机的资源占用情况,准则层为虚拟机在整个云服务器中的CPU占用率,虚拟机在整个云服务器中的内存占用率,虚拟机在整个云服务器中的磁盘占用率,方案层为云服务器中所有的虚拟机;

  2)构造成对比较矩阵,通过对准则层各指标对目标层结构的因素权重进行两两比较,将比较结果构成成对比较矩阵,成对比较矩阵中的元素aij表示的是第i个因素相对于第j个因素的比较结果,该值由1-9标度方法给出;

  3)对每个成对比较矩阵计算最大特征值及其对应的特征向量,并利用一致性指标、随机一致性指标和一致性比率进行一致性检验;若检验通过,归一化后的特征向量即为准则层的权向量,若检验不通过,则需要重新构造成对比较矩阵;

  4)计算总排序权向量并进行一致性检验,若检验通过,则按照准则层的总排序权向量对目标层进行表示,并根据表示结构对虚拟机的资源占用进行评估,否则需要重新构造一致性比率CR较大的成对比较矩阵,同一台云服务器上所有虚拟机的资源占用综合评估为该云服务器的资源使用情况。

  可选地,所述以最佳云服务器资源平衡为目标的目标函数为:

  f(Ai,xi,j)=std{Ai,xi,j}

  其中:

  Ai表示当前云服务器的资源占用情况;

  xi,j表示当前迁移进入或者迁移出去该云服务器的虚拟机的资源占用情况;

  当前面的符号为+时表示虚拟机迁入到当前云服务器,当符号为-时表示该虚拟机从当前服务器迁移出去,最终的目标是让迁移调整后的服务器占用资源情况方差最小。

  可选地,所述虚拟机通信迁移代价模型为:

  

  

  其中:

  CP为虚拟机产生的通信代价;

  v为虚拟机数量;

  xi,j表示虚拟机i和虚拟机j之间是否有通信需求,当且仅当虚拟机同属一个场景时,才会产生通信;

  Qcpu,Qmem,QNetB分别代表虚拟机CPU、内存、网络带宽的规格;

  Rcpu,Rmem,RNetB分别代表云服务器CPU、内存、网络带宽的规格;

  w1,w2,w3分别是CPU、内存、网络带宽三种资源的权值;

  CPn为迁移后虚拟机的通信代价;

  CPp为迁移前虚拟机的通信代价;

  di,j表示虚拟机i和虚拟机j之间的通信距离,用它们是否部署到同一个云服务器上来量化通信代价,当两个虚拟机部署在同一个云服务器上,其距离为1,部署在不同的云服务器上,其距离为2。

  可选地,所述利用L-BFGS算法优化目标函数获取迁移虚拟机的目标云服务器,包括:

  1)对于目标函数f(Ai,xk),利用牛顿迭代法求解其驻点xk+1:

  

  k=0,1,…,表示当前云服务器Ai中,第k个虚拟机;

  xk表示当前云服务器Ai中,第k个虚拟机迁移进入或者迁移出去该云服务器的虚拟机的资源占用情况;

  gk为目标函数的导数;

  为目标函数二阶导数的倒数;

  2)通过迭代的方式,得到的近似值Dk:

  

  其中:

  I为单位矩阵;

  sk=xk+1-xk;

  yk=gk+1-gk;

  gk为目标函数的导数;

  xk表示当前云服务器Ai中,第k个虚拟机迁移进入或者迁移出去该云服务器的虚拟机的资源占用情况;

  当k=0,D0为单位矩阵;

  3)只简单存储最近的m个sk和yk,即(sk,sk-1,...,sk-m-1)和(yk,yk-1,...,yk-m-1),以此来近似计算从而对xk进行迭代更新,迭代更新结果即为待迁移虚拟机的迁移策略。

  可选地,所述根据所述最终虚拟机迁移策略,将待迁移的虚拟机迁移到指定的目标云服务器中,包括:

  通过分别设置迭代次数为10,20,40,60,...,得到若干不同的迁移策略;

  根据所得若干不同的迁移策略,利用虚拟机通信迁移代价模型计算不同迁移策略的通信迁移代价;

  选取其中通信迁移代价最小的迁移策略作为最终虚拟机迁移策略,并根据所述最终虚拟机迁移策略,将待迁移的虚拟机迁移到指定的目标云服务器中。

  相对于现有技术,本发明提出一种基于L-BFGS的云资源动态优化方法,该技术具有以下优势:

  首先,由于现有云资源部署策略均未考虑虚拟机间的通信开销,本发明提出一种虚拟机通信迁移代价模型,本发明通过虚拟机是否部署到同一个云服务器上来量化虚拟机间的通信代价,当两个虚拟机部署在同一个云服务器上,其距离为1,部署在不同的云服务器上,其距离为2,同时通过判断虚拟机资源是否超载来进行虚拟机的迁移,若虚拟机占用资源都小于该云服务器超载的资源,则根据标记的超载资源类型,对负载最大的虚拟机进行迁移,迁移后按规则重新选择,直到云服务器不再超载,相较于现有技术,本发明所述虚拟机通信迁移代价模型通过计算各迁移策略中的通信迁移代价,选取其中通信迁移代价最少的迁移策略进行虚拟机的迁移。

  其次,本发明以最佳云服务器资源平衡为目标构造目标函数,表达式如下所示:f(Ai,xi,j)=std{Ai,xi,j},其中,Ai表示当前云服务器的资源占用情况,xi,j表示当前迁移进入或者迁移出去该云服务器的虚拟机的资源占用情况,当前面的符号为+时表示虚拟机迁入到当前云服务器,当符号为-时表示该虚拟机从当前服务器迁移出去,最终的目标是让迁移调整后的服务器占用资源情况方差最小。

  在传统迭代优化方式中,如牛顿法中,要想更新迭代xn得到xn+1,需要计算海森矩阵Hn,在实际应用中,由于输入参数的维度过大,计算海森矩阵就需要很大的存储空间和计算空间,甚至对许多函数而言,海森矩阵可能根本无法计算,更无法求逆,因此,必须要计算海森矩阵的牛顿法并不适合在大规模的数值优化计算中使用。本发明利用L-BFGS算法优化目标函数获取迁移虚拟机的目标云服务器,相较于牛顿法的更新迭代方式,本发明通过迭代的方式,得到的近似值Dk,并只简单存储最近的m个sk和yk,即(sk,sk-1,...,sk-m-1)和(yk,yk-1,...,yk-m-1),以此来近似计算减轻了系统内存的压力,并大大提高了算法求解的效率,由于求解效率高可以做到实时动态的资源调整,提高云服务器资源使用率。

  附图说明

  图1为本发明一实施例提供的一种基于L-BFGS的云资源动态优化方法的流程示意图;

  本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

  具体实施方式

  应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

  在考虑提高云服务器内存访问性能的基础上,通过减少云环境中资源调度的通信开销,进行云资源的动态迁移优化,实现云服务器的负载均衡,本发明提供一种基于L-BFGS的云资源动态优化方法。参照图1所示,为本发明一实施例提供的基于L-BFGS的云资源动态优化方法的流程示意图。

  在本实施例中,基于L-BFGS的云资源动态优化方法包括:

  S1、利用基于阈值的页面更改策略对云服务器中的内存进行管理。

  首先,本发明利用页面检测装置获取云服务器内存中每个页的访问频率,并通过设置两个阈值Threscold和Threshot将内存页基于访问频率分为冷、热、暖三个页面状态,本发明通过实时地对内存页的访问频率进行监控,得到当前时刻每个内存页的状态;

  对于实时监控下的内存页的状态,本发明利用基于阈值的页面更改策略进行云服务器中内存的管理,所述管理过程为:

  1)获取实时情况下每个内存页的状态;

  2)对于内存页面状态为冷页的内存页面,本发明为其子页创建一个单独的副本,然后将冷页内存中所有的子页迁移到一个2MB的连续物理内存区域中,实现对冷页内存子页的聚合;

  3)当所有的子页被聚合完毕时,本发明更改页描述中相关描述信息,使得操作系统后续能够以大页的方式对其管理;

  4)对冷页的大页页表项进行重构,即使用一个三级页表的页表项对整个冷页大页区域进行映射,并且将原来的每个子页的页表项进行删除处理,同时刷新TLB中缓存的映射信息使得后续访问会使用新的大页页表项。

  S2、初始化云环境下云服务器资源及待分配场景虚拟机资源占用情况。

  进一步地,本发明对云环境下的资源进行初始化,所述云环境下的资源包括待部署的云服务器以及虚拟器,其中云服务器的集合为

  P={P1,P2,…Pm}

  其中:

  m代表云服务器的数量;

  云服务器Pj所具备的资源为集合其中为云服务器Pj中资源z的总量;

  待部署的虚拟机集合为:

  

  其中:

  Sn代表虚拟机的第n个场景;

  n代表场景的数量,一个场景至少包括两个虚拟机:操作机和目标机;

  场景Si待部署的虚拟机集合为b代表该场景虚拟机的数量;

  虚拟机请求的资源集合为其中代表虚拟机对资源z的需求量。

  S3、利用AHP层次分析法评估云服务器中每台主机的资源占用比,确定需要迁移的虚拟机。

  进一步地,本发明利用AHP层次分析法评估云环境下每台虚拟机的资源占用比,每台虚拟机的资源占用情况主要考虑如下三个指标:虚拟机在整个云服务器中的CPU占用率,虚拟机在整个云服务器中的内存占用率,虚拟机在整个云服务器中的磁盘占用率;

  基于上述指标本发明利用AHP层次分析法对虚拟机的资源占用情况进行综合评估,所述利用AHP层次分析法对虚拟机的资源占用情况进行综合评估的评估流程为:

  1)建立层次结构模型,其中目标层为云服务器中虚拟机的资源占用情况,准则层为虚拟机在整个云服务器中的CPU占用率,虚拟机在整个云服务器中的内存占用率,虚拟机在整个云服务器中的磁盘占用率,方案层为云服务器中所有的虚拟机;

  2)构造成对比较矩阵,通过对准则层各指标对目标层结构的因素权重进行两两比较,将比较结果构成成对比较矩阵,成对比较矩阵中的元素aij表示的是第i个因素相对于第j个因素的比较结果,该值由1-9标度方法给出;

  3)对每个成对比较矩阵计算最大特征值及其对应的特征向量,并利用一致性指标、随机一致性指标和一致性比率进行一致性检验;若检验通过,归一化后的特征向量即为准则层的权向量,若检验不通过,则需要重新构造成对比较矩阵;

  4)计算总排序权向量并进行一致性检验,若检验通过,则按照准则层的总排序权向量对目标层进行表示,并根据表示结构对虚拟机的资源占用进行评估,否则需要重新构造一致性比率CR较大的成对比较矩阵,同一台云服务器上所有虚拟机的资源占用综合评估为该云服务器的资源使用情况。

  进一步地,本发明设置云服务器资源阈值t,将云服务器资源占用超过阈值t的服务器作为为需要迁移虚拟机的服务器,将需要迁移虚拟机的服务器中虚拟机资源占用最高的虚拟机为需要迁移的虚拟机。

  S4、制定以最佳云服务器资源平衡为目标的目标函数,并建立虚拟机通信迁移代价模型。

  进一步地,根据上述所确定的需要迁移的虚拟机,本发明制定以最佳云服务器资源平衡为目标的目标函数,所述目标函数如下所示:

  f(Ai,xi,j)=std{Ai,xi,j}

  其中:

  Ai表示当前云服务器的资源占用情况;

  xi,j表示当前迁移进入或者迁移出去该云服务器的虚拟机的资源占用情况;

  当前面的符号为+时表示虚拟机迁入到当前云服务器,当符号为-时表示该虚拟机从当前服务器迁移出去,最终的目标是让迁移调整后的服务器占用资源情况方差最小。

  进一步地,本发明建立虚拟机通信迁移代价模型TP,用来计算虚拟机迁移过程中产生的通信迁移代价:

  

  

  其中:

  CP为虚拟机产生的通信代价;

  v为虚拟机数量;

  xi,j表示虚拟机i和虚拟机j之间是否有通信需求,当且仅当虚拟机同属一个场景时,才会产生通信;

  Qcpu,Qmemm,QNetB分别代表虚拟机CPU、内存、网络带宽的规格;

  Rcpu,Rmem,RNetB分别代表云服务器CPU、内存、网络带宽的规格;

  w1,w2,w3分别是CPU、内存、网络带宽三种资源的权值;

  CPn为迁移后虚拟机的通信代价;

  CPp为迁移前虚拟机的通信代价;

  di,j表示虚拟机i和虚拟机j之间的通信距离,本发明用它们是否部署到同一个云服务器上来量化通信代价,当两个虚拟机部署在同一个云服务器上,其距离为1,部署在不同的云服务器上,其距离为2。

  S5、利用L-BFGS算法优化目标函数获取迁移虚拟机的目标云服务器,得到待迁移虚拟机的迁移策略,并利用虚拟机通信迁移代价模型计算虚拟机的不同迁移策略的通信迁移代价,选取其中通信迁移代价最小的迁移策略作为最终虚拟机迁移策略,根据所述最终虚拟机迁移策略,将待迁移的虚拟机迁移到指定的目标云服务器中。

  进一步地,本发明利用L-BFGS算法对上述目标函数进行优化,所述利用L-BFGS算法对目标函数进行优化的流程为:

  1)对于目标函数f(Ai,xk),利用牛顿迭代法求解其驻点xk+1:

  

  k=0,1,...,表示当前云服务器Ai中,第k个虚拟机;

  xk表示当前云服务器Ai中,第k个虚拟机迁移进入或者迁移出去该云服务器的虚拟机的资源占用情况;

  gk为目标函数的导数;

  为目标函数二阶导数的倒数;

  2)通过迭代的方式,得到的近似值Dk:

  

  其中:

  I为单位矩阵;

  sk=xk+1-xk;

  yk=gk+1-gk;

  gk为目标函数的导数;

  xk表示当前云服务器Ai中,第k个虚拟机迁移进入或者迁移出去该云服务器的虚拟机的资源占用情况;

  当k=0,D0为单位矩阵;

  3)只简单存储最近的m个sk和yk,即(sk,sk-1,...,sk-m-1)和(yk,yk-1,...,yk-m-1),以此来近似计算从而对xk进行迭代更新,迭代更新结果即为待迁移虚拟机的迁移策略,在本发明一个具体实施例中,通过分别设置迭代次数为10,20,40,60,...,得到若干不同的迁移策略。

  进一步地,本发明根据所得若干不同的迁移策略,本发明利用虚拟机通信迁移代价模型计算不同迁移策略的通信迁移代价,选取其中通信迁移代价最小的迁移策略作为最终虚拟机迁移策略,并根据所述最终虚拟机迁移策略,将待迁移的虚拟机迁移到指定的目标云服务器中。

  下面通过一个仿真实验来说明本发明的具体实施方式,并对发明的算法进行测试。本发明算法使用Cloud Sim工具模拟云计算中的虚拟化环境,用Cloud Sim中的Datacenter类创建实例模拟云服务器;为了衡量虚拟机间通信代价,对VMmachine类进行扩展,添加了所属场景成员变量,在虚拟机初始化时为该变量从1~n中赋值,n代表场景个数;对VMMAllocation Policy、Vm Scheduler类进行扩展,编写了云资源动态优化算法进行实验。考虑到运行时间,本发明创建50个云服务器,150个虚拟机,设定40个场景。同时本发明也在Cloud Sim上实现了基于随机算法的云资源部署优化算法和基于最佳适应算法的云资源部署优化算法,以进行效果比较。

  根据实验结果,基于随机算法的云资源部署优化算法在5小时完成了云资源的部署,整体负载失衡度为0.25,虚拟机通信代价为30;基于最佳适应算法的云资源部署优化算法在4.5小时完成了云资源的部署,整体负载失衡度为0.28,虚拟机通信代价为22,本发明所述动态优化方法在4.2小时完了了云资源的部署,整体负载失衡度为0.11,虚拟机通信代价为15,相较于对比算法,本发明所提出的动态优化方法在负载均衡和降低通信开销上具有较强的优越性。

  需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

  以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

《一种基于L-BFGS的云资源动态优化方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)