外文翻译——使用卡尔曼滤波器为虚拟服务器提供自适应和自配置的CPU资源配置资料(共17页)_第1页
外文翻译——使用卡尔曼滤波器为虚拟服务器提供自适应和自配置的CPU资源配置资料(共17页)_第2页
外文翻译——使用卡尔曼滤波器为虚拟服务器提供自适应和自配置的CPU资源配置资料(共17页)_第3页
外文翻译——使用卡尔曼滤波器为虚拟服务器提供自适应和自配置的CPU资源配置资料(共17页)_第4页
外文翻译——使用卡尔曼滤波器为虚拟服务器提供自适应和自配置的CPU资源配置资料(共17页)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用卡尔曼滤波器为虚拟服务器提供(tgng)自适应和自配置的 CPU资源配置 摘要(zhiyo):数据中心虚拟化可以(ky)使用节约成本的服务器整合,服务器整合不仅能增加系统的吞吐量还能减少电力消耗。虚拟服务器的资源管理是一个重要和富有挑战的任务,特别是当负载变化很大,以及要处理复杂的多层服务器应用时。最近的将控制理论应用到资源管理显示了很好的效果。可以将控制理论应用到动态资源分配以匹配变化的负载。本文提出了一种新的资源管理方案,将卡尔曼滤波器应用到反馈控制器,来动态地将CPU资源分配给运行着服务器应用程序的虚拟机。这个方法的创新点在于卡尔曼滤波器的使用最优的状态滤波技术通过追踪CPU的使用,

2、来相应的更新资源的分配。我们的控制器通过持续的检测来自适应的预测工作负载强度的变化。我们的控制器不需要任何先验知识。在高强度的工作负载变化下,负载感知的控制器的性能恶化控制在4.8%以下,在中等强度下也表现得很好。另外,我们的控制器在处理多层的服务器应用时性能提高:通过使用在应用程序组件间的成对的资源配对,当出现大量意料外的工作负载的增加时平均服务器性能与没有使用这种方法比时提高3%。我们通过控制一个部署在Xen虚拟化集群的3层Rubis基准程序来评估我们的技术。分类和主题描述C.4(系统性能):测量技术,建模技术。一般术语:管理、测量和性能。1、引言 由于硬件设施的虚拟化,数据中心的格局正在

3、改变。一台物理服务器可以转成一台或多台虚拟机,这多台虚拟机共享提供的硬件资源,应用程序在这些相互隔离的虚拟机环境中运行。每台虚拟机都有生命周期管理,包括创建,删除,暂停,在物理服务器间迁移和运行时资源分配等管理操作。这些特征允许在应用程序和物理服务器之间资源任意组合,允许提供有效的服务器整合。然而,负载需求经常会随着时间变化,而使得其难以估计。变化的工作负载会引起种类多样的变化的对于系统组件的资源需求。对于创造一个高性能的服务器整合环境,遵循变化的负载的动态资源分配显得十分重要。事实上,如果每个应用程序能被合理的提供资源,那么额外的资源可以被使用,比如去运行其他的应用程序,或者提高现有系统的吞

4、吐量。在本文中,我们提出一个创新的控制分配方法,集成卡尔曼滤波技术7到一组反馈控制器来动态地为多层虚拟化应用程序提供CPU资源。在仿真环境中卡尔曼滤波器之前已经使用来估计排队模型的参数17,但是,据我们所知,这是第一次直接使用卡尔曼滤波器跟踪虚拟服务器的CPU利用率,来引导它们的资源分配。我们将分配(fnpi)问题公式化为CPU利用率追踪问题,控制器旨在追踪和维持CPU资源分配高于CPU实际(shj)的利用(lyng)一段范围。这是一个直观的方法,资源配置时为每个虚拟机分配其需要的资源。将CPU配置保持在一个可参考的输入已被商业产品(例如惠普工作负载管理器) 和其他研究原型15、11采纳。然而

5、我们的控制器独有的非常强大的将过滤技术整合到线性反馈控制器。本文如下部分组织如下。第二节进一步得激励资源配置和我们的方法和卡尔曼滤波器的使用。第三节介绍应用程序性能模型和控制器。第四节描述Rubis基准测试程序和我们的评估平台,并且呈现我们的实验结果。第五节介绍相关工作。最后第六节总结和展望未来。2、研究目的资源配置虚拟化技术应用广泛属于两个主要类别:(a)没有约束的; (b)基于约束的。在没有约束的供应时, 每个应用程序能够最大化使用托管服务器的物理能力。这种方法是管理简单,因此易于实现。然而,它并不提供任何应用程序的性能保证,尤其是在争资源的条件下时11。任何应用程序都可以控制资源使其余程

6、序处于饥饿状态。此外,由于驻留的应用程序的CPU使用率的不断变化,很难估计每台物理机可用的免费资源,从而使任何方面的整合规划应用程序性能难以落实。在基于约束的资源配置中,每个应用程序限制使用物理资源的一个子集,流行的方法包括基于限制的和自适应阈值上限的配置的方法。例如,VMware DRS资源管理工具1将CPU资源利用率限制在用户配置的上下限间。这种方法的优点是双重的。首先, 由于使用下限保证最低的应用程序的性能。其次,由于所有共存的虚拟机不能超过总资源利用上限,可以估计运行额外的应用程序需要的免费可用资源。虽然基于限制的整合配置是对于保证性能的一种简单而有效的机制,当应用程序运行不同的经常改

7、变的工作负载它可能失效。性能违规行为发生在应用程序需要比上限更多的资源,而当应用程序需要甚至低于它的下限时资源被浪费。基于自适应上限阈值的资源配置解决这些缺点。在这种情况下,一个VM不断更新可以使用的最大资源。为了总是满足应用程序的性能,为每个应用程序动态分配适应工作负载需求。这种机制允许其他应用程序基于可用的免费资源进行合并。也曾出现过一些系统, 通过控制理论使用这种基本方法 (例如11)。在本文中,我们提出一个新的基于理论的vm资源配置管理系统,使用一个简单的性能模型和卡尔曼滤波来跟踪有噪声的资源利用率和更新资源配置。我们的方法的创新点在于将过滤技术整合到反馈控制器。我们选择卡尔曼滤波器因

8、为它是最优线性滤波技术,在一定条件下, 即使条件松弛仍具有良好的性能。使用过滤方法使我们的控制器在不同的工作负载下操作顺利。我们也加深了我们的工作,通过使用资源组件配对的耦合多层应用程序能更快调整工作负载的变化。最后,也是最重要的是, 在没有任何先验信息下,我们提供一个零设定机制来检测并适应工作负载条件。3、系统(xtng)本文介绍了3种基于(jy)卡尔曼的反馈控制器:单输入单输出(SISO)卡尔曼基本(jbn)控制器,以后记为KBC。这个控制器动态分配CPU资源给各个可以独立运行服务器应用程序,或者是多层应用程序的一部分的虚拟机。多输入多输出(MIMO)过程噪声协方差控制器,记为PNCC。该

9、控制器调整多层应用程序的所有虚拟机的分配,利用两两之间的协方差的VM资源利用率来捕获组件之间的相关性。与KBC控制器相比,PNCC的目的是给多层应用程序迅速分配资源。自适应MIMO PNCC 或者APNNC。APNCC像PNCC ,对一个应用程序的所有虚拟机分别分配CPU资源。然而,它可以自适应调整参数和自配置来适应不同负载条件。每个控制器分配CPU资源给虚拟机完全基于资源利用观测和应用程序的性能模型。每个VM被视为一个可以运行应用程序的一层或一个完整的应用程序的黑盒。术语层、组件和VM在文中交替使用。本节的其余部分介绍了应用程序的性能模型和控制器的设计。31 应用程序的性能模型控制器使用一个

10、简单的和直观的使用卡尔曼滤波增强的应用程序性能模型来跟踪vm的CPU资源利用率。控制器将CPU资源分配给虚拟机时只需要基于资源使用的观测值以及应用程序性能模型。我们的性能模型使用已知的观测值。当服务器应用程序到达它的服务饱和点,它的性能,比如请求响应时间,会迅速恶化。为了维持好的性能,服务器应用程序需要被分配比当前的使用值更多的资源。然而,由于变化的工作负载,将资源分配值维持在高于需求的状态往往造成在使用值上的大的偏差。将时变的CPU使用率作为一个一维随机游动的值,建立以下的线性随机差分方程: , (1)其中(qzhng)表示在k时刻真实使用(shyng)的占总的CPU的比重,独立的随机变量表

11、示(biosh)过程噪声,并假定它正态分布。直观来看,在一个服务器系统,在时刻k+1的CPU使用率通常会依赖于k时刻的CPU使用情况,并在此基础上加上一定的噪声以引起变化。如果已知,为了获得一个好的应用性能,控制器需要将资源分配与使用差值维持在一个可控的范围内。3.2 控制器设计如前所述,我们的控制器使用卡尔曼滤波跟踪并更新相应的分配。这种方法本质上使用过滤技术来消除CPU利用率信号的来自瞬态负载变化的噪音,同时发现其主要的波动。卡尔曼滤波是一种数据处理方法, 基于噪声测量的以递归的方式来进行线性随机系统的状态估计7。卡尔曼滤波器基于以下两点假设:(1)系统能用线性方程表示;(2)过程和测量噪

12、声是高斯白噪声。同时也有计算上的吸引力,因为它的递归计算,因为下一个估计的产生只需要更新后的测量结果和先前的预测。3.2.1 KBC SISO KBC控制器是单个vm跟踪控制器。在本节提出的所有指标是标量,指的是单个组件。定义为分配给VM的CPU资源,为测量的CPU使用率。建立资源分配模型如下:, (2)相关的使用率的测量值模型为: , (3)其中记为真实的使用值与分配值之间的差值,可以根据服务器应用程序或者虚拟机而更改。独立的随机变量和分别表示过程噪声和量测噪声,并假定它们满足正态分布: (4) (5)量测噪声方差在每一步或者测量时都可能会发生变化,过程噪声方差几乎肯定会改变,反应了不同的系

13、统动力学。然而在这里,我们假设在滤波过程中它们是稳定的。方程(2)和(3)描述系统动力学, 直接应用卡尔曼滤波理论得出为下一个时间间隔所需的配置,这里使用跟踪使用情况vk ,测量值uk和随后的分配值ak + 1。这个过程如下:被定义为CPU的一个先验的估计(gj)分配,即在k时刻的基于先前测量的预测估计分配。是一个后验的CPU分配(fnpi)估计,即基于新的测量(cling)值的正确的分配估计值。类似的,是一个先验的错误方差的估计,是一个后验估计。在下一个k+1时刻的预测的先验分配是: (6)正确的后验估计是: (7)在时刻K+1开始时,控制器得到一个先验分配。如果超过可用的物理资源,控制器分

14、配最大可用值;因此过滤器只活跃在工作负载低于总资源情况即动力学系统是线性时。实际和预测之间的修正卡尔曼增益测量是: (8)卡尔曼增益在多次迭代后稳定。误差方差的先验和后验估计分别为: (9) (10)卡尔曼增益:卡尔曼增益在下一轮计算分配时是很重要的。这是一个Q和R 的函数,描述了动态系统。一般来说,随Q和R单调增加。这可以直观地解释:考虑一个系统与大的过程噪声Q。其状态经历巨大的变化,这在任何测量中可以被观察到。过滤器应该增加对产生新错误的信心(预测状态和测量之间的差别),而不是目前的预测,为了跟上高度可变的测量。因此卡尔曼增益是相当大的。另一方面,当测量噪声R增加,新的测量包括测量误差出现

15、偏差。过滤器应该降低其对新错误的信心,在这种情况下,卡尔曼增益值相对较小。此外,通过扩展Q和R的值,卡尔曼增益值可以使控制器在不同的过滤模式下运作。在第四节这可以被我们的研究结果验证。3.2.2 PNCC MIMO PNCC控制器进一步扩展了KBC控制器,考虑在多层应用程序的组件使用率之间的资源配对。(利用多层不同组件的服务器相关组件一起工作以来为传入的请求服务)。像KBC,PNCC基于自身的错误调整每个组件的分配。但是此外,使用协方差过程噪声,同时基于其他组件造成的错误进行调整。如果n是应用程序组件的数量,那么PNCC平稳过程和测量噪声的卡尔曼滤波方程为: (11) (12) (13) (1

16、4) (15) (16) (17)其中(qzhng)和分别分配和使用向量并且每一行对应一个(y )组件; 是过程(guchng)噪声矩阵; 是测量噪声矩阵;是对角矩阵,对角线上是每个组件的目标值c;和是先验和后验的误差协方差矩阵;是卡尔曼增益矩阵; 和分别是平稳测量和过程噪声的协方差矩阵。对矩阵Q和R,对角元素对应于每个组件的过程和测量噪声。矩阵Q的非对角线元素取决于不同组件之间的过程噪声协方差。同样, Kk矩阵的非对角线元素对应于不同组件之间的增益。对一个3层应用程序来说,举个例子,一个后验值估计在时刻k的第一个组件的配置先验估计的结果加上从所有组件的修正,式子如下: (18)本例中的协方差

17、表示利用率变化组件之间的耦合。3.2.3 适应性-PNCC (APNCC)到目前为止,只有平稳过程和测量噪音被考虑。两个控制器可以很容易地扩展以适应考虑非平稳噪声的操作条件。例如在PNCC控制器的情况下,所有的公式都像以前一样,但是稳定的Q,改用动态Qk。在这种情况下, 根据每几个间隔的最新计算的方差和协方差Qk自适应配置。因为我们的测量传感器很简单,测量噪声方差被认为总是固定的,即3.2.4 方差和协方差的建模分配被认为与使用率成正比。因此我们可以通过使用方差估算它的过程噪声方差Q,然后使用以下公式(var记为方差): (19)使用过程噪声对应于使用信号在连续时间帧的演变。直接估算它的方差是

18、困难的,因为使用信号本身是一个未知的信号,这并不对应可以用数学定律描述的任何物理过程。使用方差可以从CPU利用率的测量值计算得到。最后,测量噪声方差R对应于测量值非常接近真实值的信心。另外,很难计算额外的CPU使用率。然而,考虑到存在相对精确的测量工具,一个小值(比如R = 1.0)作为一个好的近似的测量误差。像分配方差的计算, 基于使用协方差的组件的分配之间的协方差可以(ky)计算。如果是组件(z jin)i和j之间的测量使用值,那么(n me)它们之间的分配协方差(cov记为协方差)可以计算如下: (20)当使用KBC或PNCC控制器时,平稳过程方差或协方差提前离线计算和在运行时保持不变。

19、APNCC而言,他们是在线计算,每隔几个控制器间隔它们的值更新。不同的方法会在评估时进行比较。4、实验评估 在本节中,我们使用运行了一个在不同工作负载条件下的3层Rubis3基准测试程序的拍卖web服务器的原型虚拟集群来评估控制器。4.1.1 原型虚拟化集群图1:虚拟原型和控制系统。控制器模块之间的实线,Rubis服务器系统描述了三个KBC SISO控制器。MIMO控制器在虚线矩形中显示。 图1演示了原型虚拟化集群由通过千兆以太网连接的三台机器组成,每个机器上运行Xen 3.0.2服务器管理程序4和托管Rubis服务器应用程序。Rubis是一个原型拍卖web服务器,建立了eB。每三个服务器组件

20、-Tomcat web服务器,JBoss应用服务器和MySQL数据库服务器-被部署在不同的运行一个单独的虚拟机的物理机器上。第四个主机运行Rubis客户端模拟器,用于生成请求。在本文中,我们使用两个混合的工作负载:浏览混合(BR)包含只读的请求和投标混合(BD),其中包括15%的读写请求。除非另外声明,我们主要使用BR。客户端模拟器也记录请求响应时间,用于评估控制器的性能。我们已经建立了两个模块(m kui)来控制资源管理过程:管理模块和控制模块。周期性得,管理(gunl)模块提交平均(pngjn)CPU使用。控制模块计算下一个间隔的分配和通过使用从Xen导出的CPU调度程序接口执行新分配给指

21、定的vm。我们的原型使用“简单EDF”(SEDF)调度程序配置限制选项,没有虚拟机可以使用更多的已经被分配的CPU时间。控制模块和客户端模拟器运行在同一台机器上。本文对能控制CPU分配给虚拟服务器应用程序的卡尔曼滤波器的性能进行评估。为了确保服务器性能完全取决于控制器的CPU分配,要采取某些操作。所有机器有两个CPU,每个物理机有2个固定一个单独的CPU的vm。这个简单的设置使我们能够研究控制器(s)分配对服务器性能的影响而不用担心调度时运行虚拟机之间由于共享相同的CPU造成的影响。最后,对于所有的实验,当第一次创建时每个VM分配要求的内存并且分配保持不变。网络带宽也会被测量,但从来不是一个瓶

22、颈。4.2 预备知识 本节描述实验方法和设置这些参数的值(即控制器间隔,c,方差/协方差),保持这些值在几个实验中相同。评价主要使用了两个工作负载的实验:工作负载W0(t1,t2,t3):在这个实验中,300个客户在3个时间间隔发出请求。在t1 间隔,另外300客户添加直到t2间隔。所有请求属于BR混合。这个实验模拟中等强度的工作负载因为有两个工作负载变化,客户的数量在剩下的实验中保持不变。 每个实验结果由两个图呈现(如图所示。稍后,图2)。第一个图表显示对应的平均Tomcat组件利用率和平均每个时间间隔的分配(记为图中的样本点)。由于篇幅限制,JBoss和MySQL的图表都省略了,但是它们都

23、给出了类似的结果。第二个图展示了服务器性能: 对每个控制器的时间间隔(以秒为单位)的平均响应时间(以下表示为mRT)。mRT的值不是用来控制分配值的;而它们仅提供服务器性能的图形表示形式。每个控制器的能力评估:(a)遵循利用率(b)在工作负载变化下保持良好的服务器性能。当服务器组件能充分供应任何工作负载类型时,服务器使请求mRT1秒。这是服务器期望达到的性能水平,使控制器动态配置资源和以后对控制器的性能进行评估。工作负载W1:在这个实验中60个时间间隔总共有200客户发出请求(qngqi)。在第30 个间隔,600个客户请求在未来30个间隔被添加。所有请求属于BR混合。这个实验模拟不可预知的大

24、量的工作量的增加,用于评估当组件最有可能饱和时的控制器性能。控制器的性能检查期间只从30到50之间的变化,直到服务器将增加(zngji)的工作负载处理完。我们使用三个评价指标,所有这些石在一段时间内的几个间隔内计算得到的。CR:已经完成(wn chng)的请求数NR:请求响应时间mRT=1s的请求数比上CRRMSE:使用值预测的均方根误差其中l是请求响应时间,N记为总的请求数CR和NR指标给出在一段时间内总数量超过请求特征。在相同类型和持续时间的实验中,当NR或CR的值增加,服务器的性能得到了改善。RMSE度量提供了一个更详细的请求的响应时间。预测值时对特定数量的客户的mRT。由于当前系统不预

25、测单个请求响应时间,RMSE使用mRT。因此,模型预测之间都会存在一个错误(mRT)和测量响应时间。一般来说,RMSE值越小,响应时间越接近mRT,服务器性能就越好。三个指标CR、NR和RMSE的组合能提供足够的信息来比较不同的控制器。4.2.1 控制器间隔以5或10为间隔。这些间隔选择,因为如果使用采样的平均利用率,那么这是非常接近实际长期的系统利用率的平均值的(例如100s)。因此,这些解决方案不太粗略地描述了系统性能,由于系统测量仍然不能带来很大的开销。本文评估使用5 s为间隔。4.2.2 参数c 实验参数 是真实的使用值与分配值之间的差值,可以根据服务器应用程序或者虚拟机而更改。这里令

26、c=60%。虽然c似乎过低,会存在可分配的资源的“浪费”,但是这个值能尽量避免引起资源的饱和从而能更好的研究控制器的性能。可以发现当分配的资源数量接近真实的使用值时,服务性能会迅速恶化,所以,一个较低的c能很好的避免由资源饱和引起的问题。4.2.3 方差和协方差KBC和PNCC控制器使用离线方式计算过程方差和协方差,这对于计算卡尔曼收益很有必要。它们的值计算基于公式(16)和(17),使用来自一个实验固定的工作负载的40间隔内有600个客户的测量值,重复十次统计结果,每个组件分配了100%的CPU。分配方差是:var(Tomcat, JBoss, MySQL)=(79,13.19, 132).

27、这些值在之后记为Q0.分配协方差是:cov(Tomcat, JBoss)= 6.5,cov(Tomcat, MySQL)=14.05, and cov(JBoss, MySQL)=5.分配协方差矩阵包含上述值,记为Q0. 因为它是很难甚至不可能计算所有Q0 和Q0值混合工作负载的所有可能的组合,这些数字在不同的工作负载下是作为一个KBC和PNCC控制器使用时的近似值。最后(zuhu),测量噪声方差被设置为一个较小的值(比如R = 1.0),因为有相对准确的VM CPU测量工具。这个值可以(ky)作为一个(y )好的可能的测量误差的近似。4.3 KBC图2说明了在W0(20、40、60)实验中K

28、BC分配和服务器性能,初始分配设置为100%。每个控制器跟踪使用波动和相应地调整分配,因此控制系统的首要目标可以实现。图2(b)描述了每个间隔的mRT,大部分的时间间隔时mRT在1s以下。87.92%的请求响应时间1s。系统的第二个目标保持良好的服务器性能也实现了。mRT超过 1 s时,表示一个或多个组件CPU饱和;这是标准的Rubis行为。每个KBC控制器调整配置来匹配任何瞬态利用率的变化。这是由于KBC卡尔曼的高值增益(表1第二列),使每个控制器增加信心使用新的观察值跟随它们而不是旧的预测。尽管这样控制器对任何工作负载变化能更迅速地作出反应,他们也会做不必要的分配调整,这可能导致临时组件出

29、现饱和。表1 KBC卡尔曼增益图2:Q0值下的KBC性能图3:Q0/400值下的KBC性能(xngnng)图4:Q0/400值下的PNCC性能(xngnng)为了缓解这种局面,KBC可以配置为运行不同的工作(gngzu)负载模式。例如,图3显示了一个W0(20、40、60)实验,卡尔曼收益(表1第三列)配置比以前更小的值(稍后解释)。在后面的实验中,控制器减少对新的测量值的信心和它们遵循不那么咄咄逼人的使用值模式。服务器现在的性能更稳定,没有那么多mRT尖峰。总的来说,请求响应时间mRT1 s比例已经增加到89.6%。将卡尔曼滤波集成到一个反馈控制器的优点不仅体现在不同滤波模式下,而且这是基于

30、来自应用程序资源利用率本身得信息而不是依靠ad-hoc方法或系统识别分析。KBC控制器基于取决于过程和测量噪声方差Q和R的增益在不同的过滤模式下工作。在图3中,过程噪声方差被设定为Q0/400,比R的值还小。控制器考虑负载波动/噪音来自测量本身,于是更有信心追随使用率的变化,因此选择在平滑滤波模式下工作。因此,通过简单的缩放Q0的值,2者都体现关于工作负载使用率的信息, 实现了不同滤波模式。然而,当配置为过滤掉噪音时,控制器对大量增加的工作量响应缓慢; 图3(b)比在图2中的KBC(b)中有更多mRT尖峰在第20个间隔时出现。控制器不能区分一个小工作负载波动和大量工作负载变化。之后PNCC控制

31、器评估会解决这个问题。4.4 PNCC通过考虑所有组件的资源耦合,即使它是基于平稳过滤模式,PNCC控制器设计能快速为多层服务器工作负载的变化进行响应。图5:在W1时PNCC与KBC的对比(dub)实验。百分比显示在KBC和PNCC应用(yngyng)t检验后90%可信区间,每种情况(qngkung)下代表的绝对指标差异。对每个x值重复20次实验。图4显示了在W0(20、40、60)试验下PNCC控制器分配资源情况;Q矩阵被设置为离线计算的值Q0再除以400。数据显示,PNCC不仅跟踪主要资源使用情况的波动,而且能够比之前的KBC控制器更快适应工作负载的增加。下面的图4(b)说明能在工作量增加

32、时mRT保持低于1 s。PNCC能比KBC控制器更快适应工作负载的变化,来自于资源利用矩阵Q组件之间的协方差。每个组件的最终分配是自己的误差加上来自其他组件误差的结果。例如,Tomcat配置结果来自自身的误差(乘以Tomcat增益)以及来自JBoss (乘以Tomcat-JBoss增益)和MySQL(乘以Tomcat-MySQL增益)的控制错误。被Tomcat组件使用的卡尔曼增益值如图4所示: (Tomcat, Tomcat-JBoss, Tomcat-MySQL)= (0.38,0.0012,0.0025).4.4.1 W1对比PNCC控制器的性能随着工作负载变化调整,现在对不同过滤模式进行

33、测试。协方差矩阵Q除以x,x记为阻尼系数,取值如下X=(x8,10,40,80,100,400).这些值的选择使卡尔曼增益从相对较大到较小值,有一个范围。在X中大的x值不显著改变卡尔曼增益值,因此没有用于评估。图5显示了PNCC与KBC之间的性能差异,使用了所有在W1实验中三个指标来衡量。随着阻尼系数x增加,两种控制器的性能都下降了(CR和NR下降,RMSE增加)。这是因为卡尔曼收益减少,所有控制器变得对预测值不那么自信,因此它们很慢地适应日益增长的资源需求。然而, 在考虑这三个指标和x的所有值时,PNCC控制器等于或改善KBC控制器的性能。CR指标的平均改善是3%。事实上, 随着x值的增加,

34、PNCC对 KBC的性能改进增加了。在这些情况下,使控制器对负载变化缓慢的较小的卡尔曼收益使PNCC对KBC的改进更明显。在所有情况下,PNCC对工作负载的变化响应速度比KBC控制器快,因为它包含了所有组件的错误。4.5 APNCCKBC和PNCC控制器使用离线方式(fngsh)计算方差和协方差。本节评估自适应的PNCC控制器(APNCC),通过使用测量值在线估计协方差矩阵Q。这种控制器的优点是它能自配置其参数来适应(shyng)工作负载动力学。APNCC的初始评估是使用(shyng)类似的W0实验,其中混合工作负载强度和变化如图6所示。这个实验运行时间比之前长,基于滑动窗口机制卡尔曼增益更新

35、,使用了过去10间隔的测量。在所有情况下控制器使用Q / 40的值。控制器在不同负载条件下跟踪利用率变化,即不同的混合工作负载和客户数量; 在多数时间间隔里mRT1 s,89.58%的请求响应时间1s。响应时间的峰值 (图6(b)是由于瞬态JBoss CPU的增加,由Rubis的基准测试程序引起,导致JBoss组件饱和。在线计算的卡尔曼增益值如图6所示(c)。相同的图也描述了卡尔曼收益,当600个客户离线方式计算(虚线)供参考。如图所示在间隔60120时客户的数量增加到600,增益值也增加了。适应机制捕捉工作负载变化,更新相应的控制器参数。图6:在Q0/400值时,APNCC性能图7: 在W0

36、(40,80,120)PNCC和APNCC的对比实验。百分比在PNCC与 APNCC控制器应用t检验后95%可信区间,每种情况下显示的指标差异比例的。一个积极迹象表明APNCC情况的度量值高于PNCC的情况下。一个负号显示了相反的结果。4.5.1 W0对比我们比较在不同过滤模式下的APNCC与 PNCC的W0实验。为不同的阻尼值xX和不同的控制器,一个W0(40,80,120)实验重复5次。当使用APNCC时,协方差矩阵Q每10个间隔被估计一次。结果如图7所示。根据CR和NR指标,自适应的APNCC性能表现与工作负载感知的PNCC一样好。最后,在RMSE情况下,对所有的x值,没有其他控制器表现

37、得更好。4.5.2 W1对比(dub)这里我们测试APNCC适应大量增加的工作量的方式。图8描述了在一个W1实验x = 8,APNCC对这三个应用程序组件的卡尔曼收益。在开始(kish)的10个间隔里,APNCC收益将设定为PNCC离线计算的值。对每个后续间隔,收益基于滑动窗口机制进行更新,使用过去10间隔的使用测量值。图8显示了APNCC在两个工作负载条件下(即在上半个实验有200个客户(k h)和在下半个实验有800个客户)调整增益值。此外,在负载变化期间, 因为使用方差的变化收益增加了。在变化期间,APNCC收益在没有任何先验知识情况下随着工作量增加而调整,而只是使用利用率的变化。图9:

38、 在W1中PNCC和APNCC的对比实验。百分比在APNCC与PNCC t检验后95%的置信区间在每种情况下显示的绝对指标差异。对每个x值重复20次实验。图8:x=8时,APNCC的卡尔曼增益我们进一步在不同滤波模式下xx评估APNCC。随着PNCC同等的性能实验进行比较,结果在图9中显示。如图所示的评价指标,随着x增加 APNCC性能降低。这是与以前的观测情况差不多的,因为随着x增加,APNCC在平滑滤波模式下工作,并因此对变化响应变慢。有趣(yuq)的是注意到,当在相同(xin tn)x值时比较(bjio)PNCC和APNCC控制器,APNCC性能略有降低。这是因为工作负载变化时,PNCC

39、离线增益值大于APNCC在线估计,如图8所示。这使得PNCC对工作负载变化反应更快。然而,尽管在工作负载增加开始时APNCC增益较小,APNCC检测到变化并相应进行调整。显示表明,其性能就CR而言平均只有4.8%比PNCC低。PNCC离线收益计算仅为一个单独的工作负载类型,不能捕获服务器应用程序中使用率变化的范围。APNCC适应大量增加的工作负载导致了一致的良好行为,而PNCC性能取决于离线收益与获取的工作负载的变化的接近程度。APNCC不需要任何特殊的机制来检测大量的工作量的增加。这个控制器, 相同对待所有工作负载的变化,自动适应增益来描述工作负载变化的重要性。最后,当调优APNCC控制器,

40、本质上可以选择一个x值,控制器仍将调整其增益来捕捉任何后续工作负载的变化。5、相关工作51 集中控制的资源供应单层应用程序:15, 18 目前的反馈控制器分配单层Apache服务器的CPU资源,服务器上运行着hp ux PRM资源容器。这些包括(a)一个积分线性控制器,系统分析确定的基于CPU分配的线性关系,调节相反的mRT;(b)一个非线性控制器,调节相对利用率;和(c)上述情况的组合。与这些方法相比,我们的基于卡尔曼的控制器都是线性的,是基于一个简单而普遍适用的CPU利用率模型。多层应用程序:多层服务器应用程序的控制也获得了关注。文献11一个2层控制器调节相对利用率,两层虚拟化Rubis服

41、务器的两个实例共同运行在2个物理服务器上。作者利用15的第一层控制器调节相对利用每一层和二层控制器,使用QoS分化指标进一步调整分配的CPU争用。Wang等14提出一个3层嵌套控制设计,来控制3层Rubis应用程序的CPU。两个内循环类似于18。外循环提供了相应的利用情况的更好的近似,每层的mRT由事务混合性能模型计算得到。使用一个简单的CPU资源耦合性能模型,我们的MIMO控制器实现跟踪,它能在线更新而不是依赖于特定的应用程序的事务混合。 Liu等10 在共享虚拟化集群出现争用的情况下解决资源共享的问题。它们的控制器分配CPU资源是基于在过载区域存在的QoS的响应时间。我们的MIMO卡尔曼控

42、制器使用在线资源(容易派生)的可度量的CPU利用率耦合模型。5.2 其他解决方案除了控制理论,其他技术也被用来在虚拟化环境中管理资源。例如,徐等16提出一个2层资源管理系统,在满足它们的sla下最小化单层应用程序的资源消耗,同时使用模糊(m hu)建模最大化效用函数的共享资源的收入的利润。在6中,作者使用混合方法,排队模型和优化技术来决定整合的虚拟化应用程序组件的位置。5.3 非虚拟化集群在虚拟化被广泛采用前,其他系统被开发来管理(gunl)资源复用。在这里我们简要讨论一些以前的CPU资源分配方法。在Sharc12中, 基于过去的观测一个以指数加权的移动(ydng)平均(EWMA)过滤器被用来

43、估计未来CPU和网络带宽资源。过滤器使用静态分配参数,可以在一系列的工作模式下积极适应变化的观测信号(敏捷过滤器),或者在瞬态波动(稳定过滤器)下变得平稳。然而,这种过滤一次只能在一个模式下工作,因此是不适应不同的操作条件。为了解决上述局限性,Chase等5使用基于类似9的一个flop-flipfilter过滤器。flop-flip过滤器使用在30s窗口的估计的移动平均值,如果估计失败在标准差以外,它切换到新的移动平均线。作者用这个过滤器来缓和尤其是突发性信号。卡尔曼控制器不使用预设值能动态适应操作条件。因此,他们更容易部署和完成要求的最小配置。Urgaonkaret等13使用一个分析状态,在

44、真实的工作负载下运行应用程序获得其资源利用分布。作者还建议定期在线更新资源的分布。我们的自适应控制器不使用离线测量值,而只在短期观察下进行工作负载利用率的预测。6、结论和未来的工作 虚拟化集群的高整合需要服务器应用程序的自适应资源管理。控制理论已被用于基于过去使用值的观测来调整CPU分配。本文介绍了卡尔曼滤波器的集成到动态反馈控制器来实现分配多层虚拟化服务器的CPU资源。实验结果表明:(a)过滤使用情况的信号使我们能够按照工作负载变化而不受到瞬态波动的影响, (b)我们的自适应控制器使用过去使用情况的观察值和自适应的负载条件,参数在线配置。我们打算进一步评估我们对高性能的控制器整合。7、参考文

45、献1 VMware Distributed Resource Scheduler (DRS). /pdf/vmware_drs_wp.pdf,2008.2 V. Almeida, M. Arlitt, and J. Rolia. Analyzing a Web-Based Systems Performance Measures at Multiple Time Scales.SIGMETRICS Performance Evaluation Review, 30(2):39, 2002.3 C. Amza, A. Chandra, A. L. Cox, S. Elnikety, R. Gil

46、, K. Rajamani, W. Zwaenepoel, E. Cecchet, andJ. Marguerite. Specification and Implementation of Dynamic Web Site Benchmarks. InProc. of WWC-5, pages 313, 2002.4 P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the Art of Virtualization.

47、In Proc. of SOSP, pages 164177, 2003.5 J.S.Chase,D.C.Anderson,P.N.Thakar,A.Vahdat, and R. P. Doyle. Managing Energy and Server Resources in Hosting Centres. InProc.ofSOSP, pages 103116, 2001.6 G. Jung, K. R. Joshi, M. A. Hiltunen, R. D. Schlichting, and C. Pu. Generating Adaptation Policies for Mult

48、i-tier Applications in Consolidated Server Environments. InProc. of ICAC, pages 2332,2008.7 R. E. Kalman. A New Approach to Linear Filtering and Prediction Problems.Transaction of theASMEJournal of Basic Engineering, 82(Series D):3545, 1960.8 E. Kalyvianaki, T. Charalambous, and S. Hand. Applying Kalman Filter to Dynamically ResourceProvisioning of Virtualized Server Applications. In Proc. of FeBID, pages 3944, 2008.9 M. Kim and B. Noble. Mobile Network Estimation. In Proc. of MobiCom, pages 298309, 2001.10 X. Liu, X. Zhu, P. Padala,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论