CN110580209B - 一种基于模型预测控制的云服务器弹性伸缩与性能优化方法 - Google Patents
一种基于模型预测控制的云服务器弹性伸缩与性能优化方法 Download PDFInfo
- Publication number
- CN110580209B CN110580209B CN201910688296.3A CN201910688296A CN110580209B CN 110580209 B CN110580209 B CN 110580209B CN 201910688296 A CN201910688296 A CN 201910688296A CN 110580209 B CN110580209 B CN 110580209B
- Authority
- CN
- China
- Prior art keywords
- power consumption
- performance
- cluster
- server
- control
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
Abstract
本发明涉及一种基于模型预测控制的云服务器弹性伸缩与性能优化方法。本发明包括对服务器功耗的控制和对虚拟机应用级性能的控制,其中集群级功率控制环中功率控制器通过动态电压和频率调整(DVFS)调整每个服务器的CPU频率,动态控制集群中所有服务器的总功耗。而性能控制环中性能控制器通过调整分配给它的CPU资源来动态控制虚拟机的应用程序性能。由于群集的总功耗需要保持低于共享电源的容量,并且不同服务器之间的集群级功率转换可以带来更好的系统性能。通过本发明提供的基于模型预测控制的云服务器弹性伸缩与性能优化方法,可以降低系统功耗,并且保证虚拟机上的应用程序性能满足一定的要求,提高系统服务质量。
Description
技术领域
本发明涉及一种虚拟化服务器的功耗以及应用级性能的优化方法,尤其是大规模部署虚拟化计算机系统,如数据中心中服务器集群性能和功耗的协调控制方法。
背景技术
随着云计算、大数据、机器学习等技术的发展,用户对数据存储、处理与智能分析等需求越来越大,通过服务器虚拟化技术,数据中心可以提供更加灵活的资源,以承载更多的应用服务,并提高服务的可管理性。但是,随着数据中心服务器系统规模的扩大,服务器的能耗随之上升,不仅造成数据中心运行成本上升,也影响了服务器系统的可靠性与应用的服务质量。
因此,就目前而言,数据中心主要面临两大问题,首先需要通过满足所需的服务级别协议(例如响应时间和吞吐量)来确保客户的服务质量;其次,为了避免由功率过载或系统设备过热而引起的系统瘫痪或停止运行等故障,也为了降低集群的电力功耗成本,必须采取有效的措施来控制集群级服务器功耗,如对电力资源和CPU资源等进行合理的调度管理。然而,现有的对功耗和服务质量的控制管理研究还不全面,有些仅考虑了功耗应用请求性能两个层级的单方面影响因素,而不能同时为两者提供明确的保证。另一方面,尽管目前的很多研究已提出了很多控制管理调度策略,如通过将硬件组件切换到低功率状态以此来有效的降低服务器功耗等,但这些策略大多很难直接应用到实际的基于虚拟化技术的集群级服务器数据中心上,而有些策略则受限于硬件厂商的商业开发。所以协调各种策略以实现期望的控制目标比依赖单个集中控制策略更为可行。基于上述的两大挑战,本发明提出一个集群级控制架构,可以协调虚拟化服务器集群的各个功率和性能控制环路,使得应用级性能和功耗得到有效控制,最终达到一个稳定状态。
近年来,由于控制精度和系统稳定性的分析保证,控制理论已被确定为功率和性能控制的有效工具。控制理论还提供了成熟的控制器设计方法,例如,选择正确控制参数的标准方法,从而可以避免调整和测试的详尽迭代。此外,即使当系统模型由于诸如工作负载变化的各种系统不确定性而显著改变时,控制理论也可以应用于定量分析控制性能。本发明应用模型预测控制(MPC)理论来设计控制器。MPC是一种先进的控制技术,可以处理耦合的多输入多输出(MIMO)控制问题,而这些控制问题常受到设备和执行器的限制,因而这个特性使MPC非常适合集群中的功率控制。
发明内容
本发明针对现有技术的不足,提供了一种基于模型预测控制的云服务器弹性伸缩与性能优化方法。
本发明以成熟的控制理论为理论基础,对数据中心的功耗以及性能进行严格管理,提高虚拟机服务器性能的同时,控制好服务器的功耗。针对虚拟机服务器的功耗以及性能。本发明提出了一个双层级控制架构,该架构包含集群级功率控制层和虚拟机性能控制层。其中,集群级功耗控制层为主控制层,虚拟机性能控制层为二级控制层。这两层控制架构分别对集群电力功率资源,每台服务器上每台虚拟机的CPU资源进行了调度控制,在保证服务器性能的同时,控制集群级功耗的开销。
该发明具体包括两部分:在集群级功率控制层中,通过动态电压和频率调节(DVFS)对服务器功率进行控制以及在虚拟机性能控制层中,通过调节分配给虚拟机上的CPU资源对服务器性能进行控制。
(1)通过DVFS对服务器功率进行控制
集群级功耗控制层是双层级控制架构中的主控制层,是基于集群级的功耗控制而设计的架构,每个集群含有一个集群级功耗控制层。
在集群级功耗控制层,将集群级功耗作为控制目标,同时考虑根据各服务器对各自响应时间的反馈情况,对各台服务器按需分配集群功率,即通过调节各服务器的CPU频率来实现功率分配,使集群电力功耗能够被充分有效的利用,并达到有效降耗的效果。在研究集群级服务器数据中心的功耗问题上,对于降耗的最终目的在于降低整个集群的总能耗,而不仅仅是提高集群中某个部件或组成的性能或降低其某一部分的功耗而已,考察整体的功耗情况才具有现实意义。
因此,选择将集群级的总功耗管理作为一个控制层,根据各服务器的各个虚拟机上性能控制层对CPU资源使用情况的反馈,通过DVFS来按需调整每台服务器的CPU频率,进而动态控制集群内部所有服务器的整体功耗。在集群级功耗控制过程中,通过功耗控制器提供一个接口,根据从上一控制周期得到的各服务器对各自响应时间数据的反馈情况,对各台服务器按需分配集群功率,即给不同服务器分配不同的功率分配权重,并通过DVFS来调整每台服务器的CPU频率,从而使集群级功耗控制器能动态控制集群内部所有服务器的整体功耗,在满足硬件本身的功率、CPU频率限定的范围内,实现对集群功率资源的合理分配,使集群电力功耗能够被充分有效的利用,并实现保证有效降耗的目的。
考虑到该集群级功耗控制架构的可行性,即CPU频率的可调节性,以及集群控制层中产生功率消耗的主要来源等因素,以CPU功耗作为集群级功耗控制层的主要功耗开销,采用DVFS作为该控制层的驱动。
集群级功耗控制层的被控变量(功耗)和控制变量(CPU频率)两者间相互作用,形成一个控制环。同时,在整个集群级控制系统中,功耗控制层需要被周期性调用。而控制层的控制周期是通过权衡驱动的时间开销和控制层系统达到稳定的时间来决定的。在每个控制周期末端对功耗控制环进行周期性调用的步骤如下:
步骤1.集群级功耗监控器监测上一个控制周期所有服务器的总体功耗,并将该值发送给功耗控制器。
步骤2.性能监控器监测虚拟机在上个控制周期的响应时间信息发送给集群级功耗控制器。
步骤3.集群级功耗控制器提供一个接口,给不同服务器分配不同的功率分配权重。
步骤4.根据期望的功耗设定值和测量得到的功耗值,分析两者之差,并把新的CPU频率计算结果发送给CPU频率调节器。
步骤5.根据步骤4中CPU频率调制器接收到的CPU频率计算结果,每台服务器上的CPU频率调节器相应地改变处理器的DVFS级别。
(2)通过调节分配给虚拟机上的CPU资源对服务器性能进行控制
虚拟机性能控制层是双层级控制架构中的二级控制层,是基于服务器的性能控制而设计的架构,每台虚拟机含有一个虚拟机性能控制层。
在本发明中,针对双层级控制架构的构建,建立虚拟机性能控制层,通过实际集群环境下服务质量感知的监测建立有效的性能控制模型,在实施集群降耗策略的同时,仍能保证期望的集群性能。根据集群级功耗控制层对性能控制层的资源控制调度,同时性能控制层也将CPU资源的使用情况、应用响应时间等信息反馈给集群级功耗控制层,从而实现服务器系统的功耗和虚拟机上的应用程序性能协调控制。
在虚拟机性能控制层,对于每台服务器上的每台虚拟机都有一个性能监控器,通过调整分配给虚拟机的CPU资源(CPU时间片)动态控制虚拟机上的应用性能表现。另外,控制层通过控制平均响应时间来降低任一单一Web请求的长延迟带来的影响。而且这个二级控制架构也能够被应用到控制最坏情况或90%响应时间的情况。假设一个Web服务器的响应时间与其他任一Web服务器独立不相干,在通常情况下这个假设是成立的,因为这些Web服务器可能属于不同的用户。因此,本发明对每台虚拟机设置了一个性能控制环。在性能控制过程中,通过性能控制器提供一个接口,根据从上一控制周期得到的各虚拟机对各自响应时间数据的反馈情况,对各台虚拟机按需分配所在服务器的CPU资源,即给不同的虚拟机分配不同的CPU资源分配权重。从而使性能控制器能动态控制服务器的CPU资源分配,在满足硬件本身的CPU资源量、CPU频率限定的范围内,实现对服务器CPU资源的合理分配,使服务器CPU资源能够被充分有效的利用,实现保证服务器性能的目的。
性能控制层的被控变量(所有Web请求的平均响应时间)和控制变量(期望的CPU资源量)两者间相互作用,形成一个控制环。同时,在整个控制系统中,每台虚拟机上的性能(取响应时间)控制层同其它控制层一样也是周期性调用的。而控制层的控制周期是通过权衡驱动的时间开销和控制层系统达到稳定状态的时间来决定的。在每个控制周期末端对性能控制环执行以下周期性调用步骤:
步骤1.每台虚拟机的性能监控器监测上一个控制周期内所有Web请求的平均响应时间,然后将该值发送到相应的性能控制器。
步骤2.每台虚拟机的性能控制器计算所需的CPU资源量并将该值发送到CPU资源分配器。对服务器上的所有虚拟机重复步骤1和2。
步骤3.CPU资源分配器计算性能控制器请求的所有虚拟机的总CPU资源。
步骤4.若服务器可用资源不足,CPU资源协调器将尝试查找具有足够资源的其他服务器并迁移虚拟机。
本发明的有益效果:本发明通过协调控制服务器系统的功耗和虚拟机上的应用程序性能,不仅可以降低系统功耗,而且可以保证虚拟机上的应用程序性能满足一定的要求,提高系统服务质量。
附图说明
图1是集群级功率控制环路架构图。
图2是虚拟机性能控制环路架构图。
图3是虚拟化服务器集群功耗和性能协调控制架构图。
具体实施方式
以下结合附图对本发明作进一步说明,请参阅图1。如图1所示,在集群级功耗控制层中包括集群级的功耗控制器和功耗监控器(万用表),服务器级的CPU频率调节器,以及虚拟机级的性能监控器(主要负责监控应用响应时间。集群级功耗控制器将提供一个接口,给不同服务器分配不同的功率分配权重,该权重代表集群应分配给服务器的功率比重;并且将上一控制周期中每台服务器上的所有虚拟机的应用响应时间总和与所有服务器上的所有虚拟机的应用响应时间的总和之比作为每台服务器的响应时间比重,将服务器的响应时间比重作为功耗控制器分配给集群应分配给各服务器的功率权重值。然后,计算集群上所有服务器的响应时间平均比重,并为响应时间比重高于平均水平的服务器分配更多功率,也减少对响应时间比重低于平均水平的服务器的功率分配。集群功率的分配也是通过CPU的DVFS实现的。显然,分配的功率总量不能超过机柜的最大功率值,且各服务器的CPU频率也只能在CPU本身限定的范围之内。
基于控制理论原理,可以得到第i台服务器的功耗模型如下:
Power(k+1,i)=Power(k,i)+aiΔf(k,i)
其中ai是一个广义参数,其具体值会因服务器系统和工作负载的不同而变化,Δf(k,i)代表服务器i在第k个控制周期中处理器的CPU频率的变化量,Power(k,i)代表服务器在第k个控制周期中的功耗。
基于上述的系统模型,可得集群级总功耗控制系统模型如下:
Powertotal(k+1)=Powertotal(k)+AΔf(k)
集群级功耗控制器是基于上述集群级功耗控制架构,且在不考虑CPU资源分配情况等前提下设计的。功耗控制器提供一些配置接口,包括功率设定值,控制周期,控制权重(服务器响应时间比重),以及CPU频率范围等。本发明采用的集群级功耗控制算法主要是基于模型预测控制(MPC)理论的多输入多输出(MIMO)控制算法。通过MIMO算法选择合适的控制参数,避免无限迭代的调整和测试,并且保证控制精度、稳定性和控制周期等性能,缩小控制误差。当系统工作负载出现不可预测的变化时,可以对控制系统进行量化分析。
MPC控制器优化了未来定义在一段时间间隔上的价值函数。该控制器利用一个系统模型来预测覆盖P个控制周期的控制行为,而P则被称为预测时域。其控制目标为:在满足约束条件的前提下,选取一个输入轨迹使价值函数最小化。输入轨迹包含下列M个控制周期内的控制输入:Δf(k),Δf(k+1|k),......,Δf(k+M-1|k),其中,M被称为控制时域,Δf(k+i|k)表示(k+i)TPower时刻的变量Δf的值依赖于kTPower时刻的条件,TPower是功耗控制层控制周期。一旦输入轨迹被加入运算,只有第一个元素Δf(k)被用作系统控制输入。在下一个控制周期末端,预测时域向后滑动一个控制周期,并且根据功率监控器得到的反馈值Powertotal(k)重新计算输入Δf(k)。需要注意的是,由于在现实系统中控制器运用的系统模型存在不确定性和不准确性,使得初始预测结果可能并不正确,因而根据功率监控器得到的反馈值Powertotal(k)重新计算控制输入这一步十分重要。
在每个控制周期的末端,控制器计算出控制输入Δf(k)以最小化下述价值函数:
其中P是预测时域,M是控制时域,ref(k+i|k)表示参考轨迹,fmax(i)表示服务器i的峰值频率,Q(i)是跟踪误差权重,R(i)是控制罚权向量。
价值函数的第一项代表跟踪误差,即总功耗Powertotal(k+i|k)和参考轨迹ref(k+i|k)之差。参考轨迹定义了一个理想轨迹,即总功耗Powertotal(k+i|k)应该由当前值Powertotal(k)转变为设定值Powerset(即集群的功耗预算值)。设计此控制器来跟踪指数参考轨迹,从而使闭环控制系统可以类似线性系统运行,以此简化控制系统的实现,提高系统可行性。通过最小化追踪误差,若系统稳定,闭环控制系统将收敛于功耗设定值Powerset。价值函数的第二项,即控制罚项,使控制器随着控制时域通过最小化峰值频率fmax(i)与新频率f(k+i+1)=Δf(k+i|k)+f(k+i|k)之差,来优化系统性能。控制罚权向量R(i)是可以进行设置的,并且可以用于表示不同服务器的优先级。
图2表示的是虚拟机性能控制层的架构图,性能控制层中的主要控制部件包括服务器级的性能控制器、CPU资源分配器和CPU频率调节器,以及虚拟机级的性能监控器(主要负责监控应用响应时间)。性能控制器将提供一个接口,给不同虚拟机分配不同的CPU资源分配权重,该权重代表服务器应分配给虚拟机的CPU资源比重。并且将上一控制周期中各虚拟机对各自响应时间数据的反馈情况,计算得到每台虚拟机的应用响应时间,并计算服务器上所有虚拟机的响应时间总和,以每台虚拟机的响应时间与服务器上虚拟所有机的响应时间总和的比值作为每台虚拟机的响应时间比重,将虚拟机的响应时间比重作为性能控制器分配给服务器应分配给各虚拟机的CPU资源权重值。然后,计算服务器上所有虚拟机的平均响应时间,并为响应时间高于平均水平的虚拟机分配更多的CPU资源,也减少对响应时间低于平均水平的虚拟机的CPU资源分配。对虚拟机进行的CPU资源分配是通过CPU资源分配器和虚拟机管理程序完成的。从而使性能控制器能动态控制服务器上的CPU资源,使服务器上各虚拟机能够达到响应时间要求。服务器的CPU资源主要指CPU时间片,显然,分配的CPU资源总量不能超过服务器的最大CPU资源量(受CPU频率、功率限定)。
由于计算机系统的复杂性,第k个控制周期的平均相对响应时间rresVM(k,i)与服务器相对CPU分配量ra(k,i)之间的准确关系通常是非线性的。为简化控制器设计,将非线性模型转化为线性模型,本发明不直接利用rresVM(k,i)和ra(k,i)来建立系统模型,而是利用它们各自与其对应的实际监测值(rresVM(i)和ra(i))之差进行系统建模。平均相对响应时间rresVM(i)和服务器相对CPU分配量ra(i)又分别作为平均相对响应时间和服务器相对CPU分配率的典型值。由此,性能控制层系统模型的控制输出为:
ΔrresVM(k,i)=rresVM(k,i)-rresVM(i)
控制输入为:
Δra(k,i)=ra(k,i)-ra(i)
控制输出设定值为:
ΔRRseti=RRseti-rresVM(i)
根据系统识别可得到性能控制层系统模型如下:
ΔrresVM(k,i)=a1ΔrresVM(k-1,i)-b1ΔrresVM(k-1,i)
其中a1,b1是系统模型的系数。
根据标准控制理论,可以设计得到性能控制器如下:
其中c1,c2是控制参数,Δra(k,i)是服务器i在第k控制周期的相对CPU分配量,RRseti是服务器i的系统期望的相对响应时间设定值,ΔrresVM(k,i)是服务器i上所有虚拟机在第k控制周期的平均相对响应时间的变化量
根据前述模型,本发明提出了一种虚拟化服务器集群性能与功耗协调控制方法,命名为PPCC方法。
图3给出了整个PPCC控制方法的系统架构图,主要包括集群级的功耗控制器和功耗监控器,服务器级的性能控制器、CPU资源分配器和CPU频率调节器以及虚拟机级的性能监控器。在PPCC控制架构系统中,系统根据集群级功耗控制层对性能控制层的CPU资源控制调度,通过DVFS来按需调整每台服务器的CPU频率,进而动态控制集群内部所有服务器的整体功耗。而性能二级控制层旨在通过控制CPU频率来最终控制服务器上所有虚拟机的相对平均响应时间,使相对平均响应时间能够收敛于所有虚拟机的期望级别。
为了达到期望的控制功能和系统稳定性,必须有一个主控制层,而本发明选择功耗控制层作为主控制层,这是由于主控制层模型变量的变化可能会导致次控制层严重偏离它的期望设定值,对功耗控制层来说,集群级功耗控制是其研究的主要目的,而且集群的功率值是有限定范围的,临界功率值的严重偏差可能会引起整个集群系统的崩溃或断电。再者,通常CPU频率对应用性能的影响比CPU资源分配对功耗的影响更为显著。第三,次控制层需要在主控制层的基础上进行设计,在双层级控制架构系统中,性能控制层是在集群级功耗控制层的基础上进行设计的。
本发明提出的虚拟化服务器集群性能与功耗协调控制方法的具体实施步骤是:
集群级功耗控制过程:
步骤1.集群级功耗监控器监测上一个控制周期所有服务器的总体功耗,并将该值发送给功耗控制器。
步骤2.性能监控器监测虚拟机在上个控制周期的响应时间信息发送给集群级功耗控制器。
步骤3.集群级功耗控制器提供一个接口,给不同服务器分配不同的功率分配权重。
步骤4.根据期望的功耗设定值和测量得到的功耗值,分析两者之差,并把新的CPU频率计算结果发送给CPU频率调节器。
步骤5.根据步骤4中CPU频率调制器接收到的CPU频率计算结果,每台服务器上的CPU频率调节器相应地改变处理器的DVFS级别。
虚拟机性能控制过程:
步骤1.每台虚拟机的性能监控器监测上一个控制周期内所有Web请求的平均响应时间,然后将该值发送到相应的性能控制器。
步骤2.每台虚拟机的性能控制器计算所需的CPU资源量并将该值发送到CPU资源分配器。对服务器上的所有虚拟机重复步骤1和2。
步骤3.CPU资源分配器计算性能控制器请求的所有虚拟机的总CPU资源。
步骤4.若服务器可用资源不足,CPU资源协调器将尝试查找具有足够资源的其他服务器并迁移虚拟机。
下面分别对上述实施步骤进行详细说明。
功耗控制过程具体步骤:
(1)步骤1
功耗监控器测量上一个控制周期所有服务器的总功耗,并将测量的值发送给功耗控制器,此功率监视器测量的总功耗是集群级功率控制回路的被控变量。
(2)步骤2
每台虚拟机上的性能监控器将其监测到的虚拟机在上个控制周期的响应时间信息发送给集群级功耗控制器。该响应时间信息值可以被集群级功耗控制器用于优化下一控制周期的集群功率分配。
(3)步骤3
集群级功耗控制器将提供一个接口,给不同服务器分配不同的功率分配权重。功耗控制器是如何给不同服务器分配功率权重的,就是将上一控制周期中每台服务器上的所有虚拟机的应用响应时间总和与所有服务器上的所有虚拟机的应用响应时间的总和之比作为每台服务器的响应时间比重,并将该服务器的响应时间比重作为集群级功耗控制器应分配给服务器的功率权重值。集群级功耗控制器对集群功率的分配其实就是对集群中所有服务器在上一控制周期中的CPU频率总和的分配。
(4)步骤4
根据期望的功耗设定值和测量得到的功耗值,分析两者之差。结合步骤3中得到的分配给服务器的功率权重值以及集群中所有服务器在上一控制周期中的CPU频率总和,在满足硬件本身的功率、频率限定的范围内,功耗控制器为每台服务器的CPU计算出新的CPU频率,然后把新的CPU频率计算结果发送给每台服务器的CPU频率调制器。功耗控制器计算得到的CPU频率是控制层中的控制变量。
(5)步骤5
根据步骤4中CPU频率调制器接收到的CPU频率计算结果,每台服务器上的CPU频率调制器相应地改变CPU的DVFS级别。
性能控制过程具体步骤:
(1)步骤1
每台虚拟机的性能监控器测算上一个控制周期内所有Web请求的平均响应时间,并把测算值发送给相应的性能控制器。所有Web请求的平均响应时间即为性能控制层的被控变量。
(2)步骤2
每台虚拟机的性能控制器计算期望的CPU资源量(控制变量),并把计算值发送给CPU资源分配器。对服务器上所有的虚拟机,重复执行步骤1和2。期望的CPU资源量即性能控制层的控制变量。
性能控制层的被控变量(所有Web请求的平均响应时间)和控制变量(期望的CPU资源量)两者间相互作用,形成一个控制环,在这控制环中进行周期性调用各部件。
(3)步骤3
CPU资源分配器计算所有虚拟机的性能控制器所需要的CPU资源量总和。如果服务器能够满足所有资源请求,那么所有的资源请求都会被赋予确切的数量。未被分配的资源将不能被这个控制周期内任何虚拟机使用,但可以用来支持虚拟机迁移。如果请求的资源大于可用资源,那么将会有一个或者多个虚拟机被分配到少于请求的资源,这些被选中的虚拟机往往运行着低优先级Web服务。
(4)步骤4
CPU资源协调器尝试查找具有足够资源的其他服务器并迁移虚拟机。如果这种资源不足的情况持续了一段时间,就会有一个迁移请求发送到集群级CPU资源协调器,进而把选中的虚拟机迁移到其他服务器。
Claims (1)
1.一种基于模型预测控制的云服务器弹性伸缩与性能优化方法,其特征在于该方法包括对服务器功耗的控制和对虚拟机应用级性能的控制,具体是:
其中对服务器功耗的控制是指集群级功耗控制器通过调整动态电压和频率来调整每个服务器的CPU频率,动态控制集群中所有服务器的总功耗,步骤如下:
步骤A1.集群级功耗监控器监测上一个控制周期所有服务器的总体功耗,并将该值发送给集群级功耗控制器;
步骤A2.性能监控器监测虚拟机在上个控制周期的响应时间信息发送给集群级功耗控制器;
步骤A3.集群级功耗控制器提供一个接口,给不同服务器分配不同的功率分配权重;
集群级功耗控制器将上一控制周期中每台服务器上的所有虚拟机的应用响应时间总和与所有服务器上的所有虚拟机的应用响应时间的总和之比作为每台服务器的响应时间比重,并将该服务器的响应时间比重作为集群级功耗控制器应分配给该服务器的功率权重值;
集群级功耗控制器对集群功率的分配其实就是对集群中所有服务器在上一控制周期中的CPU频率总和的分配;
步骤A4.根据期望的功耗设定值和测量得到的功耗值,分析两者之差,并把新的CPU频率计算结果发送给CPU频率调节器;
步骤A5.根据步骤A4中CPU频率调节器接收到的CPU频率计算结果,每台服务器上的CPU频率调节器相应地改变处理器的动态电压和频率调整级别;
其中对虚拟机应用级性能的控制是指对于每个服务器上的每个虚拟机,都有一个性能控制器,此性能控制器通过调整分配给它的CPU资源来动态控制虚拟机的应用程序性能,步骤如下:
步骤B1.每个虚拟机的性能监控器监测上一个控制周期内所有Web请求的平均响应时间,然后将该值发送到相应的性能控制器;
步骤B2.每个虚拟机的控制器计算所需的CPU资源量并将该值发送到CPU资源分配器;对服务器上的所有虚拟机重复步骤B1和B2;
步骤B3.CPU资源分配器计算所有虚拟机的性能控制器请求的总CPU资源;
如果服务器能够满足所有资源请求,那么所有的资源请求都会被赋予确切的数量;未被分配的资源将不能被这个控制周期内任何虚拟机使用,但可用来支持虚拟机迁移;如果请求的资源大于可用资源,那么将会有一个或者多个虚拟机被分配到少于请求的资源;
步骤B4.若服务器可用资源不足,CPU资源协调器将尝试查找具有足够资源的其他服务器并迁移虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910688296.3A CN110580209B (zh) | 2019-07-29 | 2019-07-29 | 一种基于模型预测控制的云服务器弹性伸缩与性能优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910688296.3A CN110580209B (zh) | 2019-07-29 | 2019-07-29 | 一种基于模型预测控制的云服务器弹性伸缩与性能优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110580209A CN110580209A (zh) | 2019-12-17 |
CN110580209B true CN110580209B (zh) | 2022-05-31 |
Family
ID=68810572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910688296.3A Active CN110580209B (zh) | 2019-07-29 | 2019-07-29 | 一种基于模型预测控制的云服务器弹性伸缩与性能优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110580209B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022000135A1 (zh) * | 2020-06-28 | 2022-01-06 | 华为技术有限公司 | 处理器和变量的预测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523158A (zh) * | 2011-12-15 | 2012-06-27 | 杭州电子科技大学 | 一种基于权重的元数据服务器集群负载均衡方法 |
CN103218233A (zh) * | 2013-05-09 | 2013-07-24 | 福州大学 | Hadoop异构集群中的数据分配策略 |
CN103488539A (zh) * | 2013-09-23 | 2014-01-01 | 北京交通大学 | 一种基于cpu动态调频技术的数据中心节能方法 |
CN109324875A (zh) * | 2018-09-27 | 2019-02-12 | 杭州电子科技大学 | 一种基于强化学习的数据中心服务器功耗管理与优化方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10440590B2 (en) * | 2013-03-15 | 2019-10-08 | Qualcomm Incorporated | Method and system for cloud-based management of self-organizing wireless networks |
-
2019
- 2019-07-29 CN CN201910688296.3A patent/CN110580209B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523158A (zh) * | 2011-12-15 | 2012-06-27 | 杭州电子科技大学 | 一种基于权重的元数据服务器集群负载均衡方法 |
CN103218233A (zh) * | 2013-05-09 | 2013-07-24 | 福州大学 | Hadoop异构集群中的数据分配策略 |
CN103488539A (zh) * | 2013-09-23 | 2014-01-01 | 北京交通大学 | 一种基于cpu动态调频技术的数据中心节能方法 |
CN109324875A (zh) * | 2018-09-27 | 2019-02-12 | 杭州电子科技大学 | 一种基于强化学习的数据中心服务器功耗管理与优化方法 |
Non-Patent Citations (3)
Title |
---|
基于云计算的弹性负载均衡方案;朱志祥等;《西安邮电大学学报》;20131110(第06期);全文 * |
基于模型预测控制的数据中心节能调度算法;赵小刚等;《软件学报》;20170215(第02期);全文 * |
虚拟化云计算平台的能耗管理;叶可江等;《计算机学报》;20120615(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110580209A (zh) | 2019-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Breitbach et al. | Context-aware data and task placement in edge computing environments | |
US7676578B1 (en) | Resource entitlement control system controlling resource entitlement based on automatic determination of a target utilization and controller gain | |
Zhang et al. | Dynamic energy-aware capacity provisioning for cloud computing environments | |
Abdelzaher et al. | Introduction to control theory and its application to computing systems | |
Farahnakian et al. | Energy-efficient virtual machines consolidation in cloud data centers using reinforcement learning | |
Padala et al. | Automated control of multiple virtualized resources | |
Lim et al. | Power budgeting for virtualized data centers | |
TWI382318B (zh) | 協調的服務效能以及應用程式置放管理 | |
Deboosere et al. | Efficient resource management for virtual desktop cloud computing | |
CN109491760B (zh) | 一种高效能数据中心云服务器资源自主管理方法 | |
Heo et al. | Optituner: On performance composition and server farm energy minimization application | |
Deng et al. | Reliability‐aware server consolidation for balancing energy‐lifetime tradeoff in virtualized cloud datacenters | |
Kaushik et al. | An energy-efficient reliable grid scheduling model using NSGA-II | |
Chen et al. | An adaption scheduling based on dynamic weighted random forests for load demand forecasting | |
CN110580209B (zh) | 一种基于模型预测控制的云服务器弹性伸缩与性能优化方法 | |
Najafizadegan et al. | An autonomous model for self‐optimizing virtual machine selection by learning automata in cloud environment | |
CN116627237B (zh) | 一种基于芯粒Chiplet的电源管理芯片架构系统 | |
Shi et al. | PAPMSC: power-aware performance management approach for virtualized web servers via stochastic control | |
Nehra et al. | Efficient resource allocation and management by using load balanced multi-dimensional bin packing heuristic in cloud data centers | |
CN114830062A (zh) | 计算系统的功率管理 | |
Bergamaschi et al. | Data center power and performance optimization through global selection of p-states and utilization rates | |
Wang et al. | An efficient energy-aware and service quality improvement strategy applied in cloud computing | |
Leontiou et al. | On load balancing and resource allocation in cloud services | |
Shi et al. | Power-aware performance management of virtualized enterprise servers via robust adaptive control | |
Magotra et al. | Resource-efficient vm placement in the cloud environment using improved particle swarm optimization |
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 |