




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、使用卡尔曼滤波器为虚拟服务器提供自适应和自配置的CPU资源配置 摘要 :数据中心虚拟化可以使用节约成本的服务器整合, 服务器整合不仅能增加 系统的吞吐量还能减少电力消耗。 虚拟服务器的资源管理是一个重要和富有挑战 的任务,特别是当负载变化很大, 以及要处理复杂的多层服务器应用时。 最近的 将控制理论应用到资源管理显示了很好的效果。 可以将控制理论应用到动态资源 分配以匹配变化的负载。 本文提出了一种新的资源管理方案, 将卡尔曼滤波器应用到反馈控制器, 来 动态地将 CPU 资源分配给运行着服务器应用程序的虚拟机。这个方法的创新点 在于卡尔曼滤波器的使用最优的状态滤波技术通过追踪 CPU 的使用
2、, 来相应的更新资源的分配。 我们的控制器通过持续的检测来自适应的预测工作负 载强度的变化。 我们的控制器不需要任何先验知识。 在高强度的工作负载变化下, 负载感知 的控制器的性能恶化控制在 4.8%以下,在中等强度下也表现得很好。另外,我 们的控制器在处理多层的服务器应用时性能提高: 通过使用在应用程序组件间的 成对的资源配对,当出现大量意料外的工作负载的增加时平均服务器性能与没有 使用这种方法比时提高 3%。我们通过控制一个部署在 Xen 虚拟化集群的 3 层 Rubis基准程序来评估我们的技术。 分类和主题描述 C.4(系统性能 ):测量技术 ,建模技术。 一般术语:管理、测量和性能。
3、1、引言 由于硬件设施的虚拟化, 数据中心的格局正在改变。 一台物理服务器可以转 成一台或多台虚拟机, 这多台虚拟机共享提供的硬件资源, 应用程序在这些相互 隔离的虚拟机环境中运行。每台虚拟机都有生命周期管理,包括创建,删除,暂 停,在物理服务器间迁移和运行时资源分配等管理操作。 这些特征允许在应用程 序和物理服务器之间资源任意组合, 允许提供有效的服务器整合。 然而,负载需 求经常会随着时间变化,而使得其难以估计。 变化的工作负载会引起种类多样的变化的对于系统组件的资源需求。 对于创 造一个高性能的服务器整合环境,遵循变化的负载的动态资源分配显得十分重 要。事实上, 如果每个应用程序能被合理
4、的提供资源, 那么额外的资源可以被使 用,比如去运行其他的应用程序,或者提高现有系统的吞吐量。 在本文中 ,我们提出一个创新的控制分配方法 ,集成卡尔曼滤波技术 7 到一组 反馈控制器来动态地为多层虚拟化应用程序提供 CPU 资源。在仿真环境中卡尔 曼滤波器之前已经使用来估计排队模型的参数 17,但是 ,据我们所知 ,这是第一次 直接使用卡尔曼滤波器跟踪虚拟服务器的 CPU利用率 ,来引导它们的资源分配。 我们将分配问题公式化为 CPU 利用率追踪问题 ,控制器旨在追踪和维持 CPU 资源分配高于 CPU实际的利用一段范围。这是一个直观的方法 ,资源配置时为每 个虚拟机分配其需要的资源。将 C
5、PU 配置保持在一个可参考的输入已被商业产 品 (例如惠普工作负载管理器 ) 和其他研究原型 15、11采纳。然而我们的控制器 独有的非常强大的将过滤技术整合到线性反馈控制器。 本文如下部分组织如下。 第二节进一步得激励资源配置和我们的方法和卡尔 曼滤波器的使用。第三节介绍应用程序性能模型和控制器。第四节描述Rubis 基 准测试程序和我们的评估平台, 并且呈现我们的实验结果。 第五节介绍相关工作。 最后第六节总结和展望未来。 2、研究目的 资源配置虚拟化技术应用广泛属于两个主要类别 :(a)没有约束的; (b)基于约 束的。在没有约束的供应时 , 每个应用程序能够最大化使用托管服务器的物理能
6、 力。这种方法是管理简单 ,因此易于实现。然而 ,它并不提供任何应用程序的性能 保证 ,尤其是在争资源的条件下时 11。任何应用程序都可以控制资源使其余程序 处于饥饿状态。此外 ,由于驻留的应用程序的 CPU使用率的不断变化 ,很难估计每 台物理机可用的免费资源 ,从而使任何方面的整合规划应用程序性能难以落实。 在基于约束的资源配置中 ,每个应用程序限制使用物理资源的一个子集 ,流行 的方法包括基于限制的和自适应阈值上限的配置的方法。例如 ,VMware DRS资源 管理工具 1将 CPU 资源利用率限制在用户配置的上下限间。这种方法的优点是 双重的。首先 , 由于使用下限保证最低的应用程序的
7、性能。 其次,由于所有共存的 虚拟机不能超过总资源利用上限 ,可以估计运行额外的应用程序需要的免费可用 资源。虽然基于限制的整合配置是对于保证性能的一种简单而有效的机制,当应 用程序运行不同的经常改变的工作负载它可能失效。 性能违规行为发生在应用程 序需要比上限更多的资源 ,而当应用程序需要甚至低于它的下限时资源被浪费。 基于自适应上限阈值的资源配置解决这些缺点。 在这种情况下 ,一个 VM 不断 更新可以使用的最大资源。 为了总是满足应用程序的性能, 为每个应用程序动态 分配适应工作负载需求。 这种机制允许其他应用程序基于可用的免费资源进行合 并。也曾出现过一些系统 , 通过控制理论使用这种
8、基本方法 (例如 11)。 在本文中 ,我们提出一个新的基于理论的 vm 资源配置管理系统 ,使用一个简 单的性能模型和卡尔曼滤波来跟踪有噪声的资源利用率和更新资源配置。 我们的 方法的创新点在于将过滤技术整合到反馈控制器。 我们选择卡尔曼滤波器因为它 是最优线性滤波技术,在一定条件下 , 即使条件松弛仍具有良好的性能。使用过 滤方法使我们的控制器在不同的工作负载下操作顺利。我们也加深了我们的工 作,通过使用资源组件配对的耦合多层应用程序能更快调整工作负载的变化。 最 后 ,也是最重要的是 , 在没有任何先验信息下, 我们提供一个零设定机制来检测并 适应工作负载条件。 3、系统 本文介绍了 3
9、 种基于卡尔曼的反馈控制器: 1、单输入单输出 (SISO卡) 尔曼基本控制器 ,以后记为 KBC。这个控制器动态分 配 CPU资源给各个可以独立运行服务器应用程序 , 或者是多层应用程序的 一部分的虚拟机。 2、多输入多输出 (MIMO)过程噪声协方差控制器 ,记为 PNCC。该控制器调整 多层应用程序的所有虚拟机的分配 ,利用两两之间的协方差的 VM 资源利 用率来捕获组件之间的相关性。与 KBC控制器相比, PNCC的目的是给多 层应用程序迅速分配资源。 3、自适应 MIMO PNCC 或者 APNNC。APNCC像 PNCC 对, 一个应用程序的所 有虚拟机分别分配 CPU资源。然而,
10、它可以自适应调整参数和自配置来 适应不同负载条件。 每个控制器分配 CPU 资源给虚拟机完全基于资源利用观测和应用程序的性 能模型。每个 VM 被视为一个可以运行应用程序的一层或一个完整的应用程 序的黑盒。术语层、组件和 VM 在文中交替使用。本节的其余部分介绍了应 用程序的性能模型和控制器的设计。 31 应用程序的性能模型 控制器使用一个简单的和直观的使用卡尔曼滤波增强的应用程序性能模型 来跟踪 vm 的 CPU资源利用率。 控制器将 CPU 资源分配给虚拟机时只需要基于资源使用的观测值以及应用 程序性能模型。 我们的性能模型使用已知的观测值。 当服务器应用程序到达它的 服务饱和点,它的性能
11、,比如请求响应时间,会迅速恶化。为了维持好的性能, 服务器应用程序需要被分配比当前的使用值更多的资源。 然而,由于变化的工作 负载,将资源分配值维持在高于需求的状态往往造成在使用值上的大的偏差。 将 时变的 CPU使用率作为一个一维随机游动的值,建立以下的线性随机差分方程: vk 1 vk tk ,(1) 其中 vk 表示在 k 时刻真实使用的占总的 CPU的比重,独立的随机变量 tk 表示 过程噪声,并假定它正态分布。直观来看,在一个服务器系统,在时刻 k+1 的 CPU使用率通常会依赖于 k 时刻的 CPU使用情况,并在此基础上加上一定的噪声 以引起变化。如果 vk 已知,为了获得一个好的
12、应用性能,控制器需要将资源分 配与使用差值维持在一个可控的范围内。 3.2 控制器设计 如前所述 ,我们的控制器使用卡尔曼滤波跟踪并更新相应的分配。 这种方法本 质上使用过滤技术来消除 CPU利用率信号的来自瞬态负载变化的噪音 ,同时发现 其主要的波动。 卡尔曼滤波是一种数据处理方法 , 基于噪声测量的以递归的方式 来进行线性随机系统的状态估计 7 。卡尔曼滤波器基于以下两点假设: ( 1)系 统能用线性方程表示;(2)过程和测量噪声是高斯白噪声。 同时也有计算上的吸 引力 ,因为它的递归计算 ,因为下一个估计的产生只需要更新后的测量结果和先前 的预测。 3.2.1 KBC SISO KBC控
13、制器是单个 vm 跟踪控制器。在本节提出的所有指标是标量 , 指的是单个组件。 定义a为分配给 VM 的 CPU资源, u为测量的 CPU使用率。建 立资源分配模型如下: ak 1 ak zk, (2) 相关的使用率的测量值模型为: uk 1 c ak wk, (3) 其中 c记为真实的使用值与分配值之间的差值, 可以根据服务器应用程序或者虚 拟机而更改。独立的随机变量 zk 和 wk 分别表示过程噪声和量测噪声,并假定它 们满足正态分布: p(z) N(0,Q) (4) p(w) N (0, R)(5) 量测噪声方差 R在每一步或者测量时都可能会发生变化,过程噪声方差Q 几乎 肯定会改变,
14、反应了不同的系统动力学。 然而在这里, 我们假设在滤波过程中它 们是稳定的。 方程 (2)和(3)描述系统动力学 , 直接应用卡尔曼滤波理论得出为下一个时间 间隔所需的配置 ,这里使用跟踪使用情况 vk ,测量值 uk 和随后的分配值 ak + 1。 这个过程如下 : ak被定义为 CPU的一个先验的估计分配 ,即在k时刻的基于先前测量的预测估计 分配。 a?k 是一个后验的 CPU分配估计,即基于新的测量值的正确的分配估计值。 类似的, Pk 是一个先验的错误方差的估计, P?k 是一个后验估计。在下一个 k+1时刻的预 测的先验分配是: ak 1 a?k(6) 正确的后验估计是: (7)
15、a?k ak Kk(uk cak) 在时刻 K+1开始时,控制器得到一个先验 ak 1分配。如果 ak 1超过可用的物理资 源,控制器分配最大可用值 ; 因此过滤器只活跃在工作负载低于总资源情况即动 力学系统是线性时。实际和预测之间的修正卡尔曼增益测量是 : Kk cPk (c2Pk R) 1 (8) 卡尔曼增益 Kk 在多次迭代后稳定。误差方差的先验和后验估计分别为: P?k (1 cKk )Pk(9) Pk 1 Pk Q (10) 卡尔曼增益: 卡尔曼增益在下一轮计算分配时是很重要的。这是一个Q和R 的函数,描 述了动态系统。一般来说, Kk随 Q和 R单调增加。这可以直观地解释 :考虑一
16、个 系统与大的过程噪声 Q。其状态经历巨大的变化 , 这在任何测量中可以被观察到。 过滤器应该增加对产生新错误的信心 ( 预测状态和测量之间的差别 ), 而不是目前 的预测,为了跟上高度可变的测量。 因此卡尔曼增益是相当大的。 另一方面 , 当测 量噪声 R增加, 新的测量包括测量误差出现偏差。过滤器应该降低其对新错误的 信心,在这种情况下 ,卡尔曼增益值相对较小。此外 ,通过扩展 Q和 R的值,卡尔 曼增益值可以使控制器在不同的过滤模式下运作。 在第四节这可以被我们的研究 结果验证。 3.2.2 PNCC MIMO PNCC控制器进一步扩展了 KBC控制器,考虑在多层应用程序的组件使 用率之
17、间的资源配对。 ( 利用多层不同组件的服务器相关组件一起工作以来为传 入的请求服务 )。像 KBC,PNCC基于自身的错误调整每个组件的分配。但是此外 , 使用协方差过程噪声 , 同时基于其他组件造成的错误进行调整。如果 n 是应用程 序组件的数量 ,那么 PNCC平稳过程和测量噪声的卡尔曼滤波方程为 : ak 1 ak Wk,(11) uk Cak Vk ,(12) a?k ak Kk (uk Cak ),(13) Kk CPk (CPkC T R) 1,(14) P?k (I CKk)Pk ,(15) ak 1 a?k,(16) Pk 1 P?k Q, (17) 其中ak Rn 1和uk
18、Rn 1分别分配和使用向量并且每一行对应一个组件 Wk Rn 1是过程噪声矩阵; Vk Rn 1是测量噪声矩阵; C Rn n 是对角矩阵,对角线上是每个组件的目标值 c; Pk Rn n和P?k Rn n是先验和后验的误差协方差矩阵; Kk Rn n是卡尔曼增益矩 阵; R Rn n和Q Rn n分别是平稳测量和过程噪声的协方差矩阵。对矩阵 Q和 R, 对角元素对应于每个组件的过程和测量噪声。 矩阵 Q的非对角线元素取决于不 同组件之间的过程噪声协方差。同样 , Kk 矩阵的非对角线元素对应于不同组件 之间的增益。对一个 3 层应用程序来说,举个例子,一个后验值 a?k (1)估计在时 刻
19、k 的第一个组件的配置先验估计 ak (1)的结果加上从所有组件的修正,式子如 下: a?k(1) ak (1) Kk (1,1)(uk(1) C(1,1)ak(1) Kk(1,2)(uk(2) C(2,2)ak (2)(18) Kk (1,3)(uk (3) C(3,3)ak(3) 本例中的协方差表示利用率变化组件之间的耦合。 3.2.3 适应性-PNCC (APNCC) 到目前为止 , 只有平稳过程和测量噪音被考虑。两个控制器可以很容易地扩 展以适应考虑非平稳噪声的操作条件。 例如在 PNCC控制器的情况下 , 所有的公式 都像以前一样 ,但是稳定的 Q,改用动态 Qk。在这种情况下 ,
20、根据每几个间隔的最 新计算的方差和协方差 Qk自适应配置。因为我们的测量传感器很简单,测量噪 声方差被认为总是固定的,即 Rk R 3.2.4 方差和协方差的建模 分配被认为与使用率成正比。 因此我们可以通过使用方差估算它的过程噪声 方差 Q, 然后使用以下公式 (var 记为方差 ): var(a) var( u ) 12 var( u)(19) cc 使用过程噪声对应于使用信号在连续时间帧的演变。 直接估算它的方差是困难的 因为使用信号本身是一个未知的信号 , 这并不对应可以用数学定律描述的任何物 理过程。使用方差可以从 CPU利用率的测量值计算得到。最后 , 测量噪声方差 R 对应于测量
21、值非常接近真实值的信心。 另外,很难计算额外的 CPU使用率。然而 , 考虑到存在相对精确的测量工具 ,一个小值 (比如 R = 1.0) 作为一个好的近似的 测量误差。 像分配方差的计算 , 基于使用协方差的组件的分配之间的协方差可以计算。 如果ui uj是组件 i 和 j 之间的测量使用值,那么它们之间的分配协方差 ai aj (cov 记为协方差)可以计算如下: cov( ai , a j ) cov( uj ) 12 var(ui ,u j )(20) cj c2 当使用 KBC或PNCC控制器时 ,平稳过程方差或协方差提前离线计算和在运行时保 持不变。 APNCC而言, 他们是在线计
22、算,每隔几个控制器间隔它们的值更新。不 同的方法会在评估时进行比较。 4、实验评估 在本节中 ,我们使用运行了一个在不同工作负载条件下的 3 层 Rubis3 基准 测试程序的拍卖 web服务器的原型虚拟集群来评估控制器。 4.1.1 原型虚拟化集群 图 1: 虚拟原型和控制系统。控制器模块之间的实线 ,Rubis 服务器系统描述了三个 KBCS ISO 控制器。 MIMO控制器在虚线矩形中显示。 图 1 演示了原型虚拟化集群由通过千兆以太网连接的三台机器组成,每个机 器上运行 Xen 3.0.2 服务器管理程序 4 和托管 Rubis 服务器应用程序。 Rubis 是一个原型拍卖 web服务
23、器,建立了 eB。每三个服务器组件 -Tomcat web 服务器,JBoss 应用服务器和 MySQL数据库服务器 -被部署在不同的运行一个单独 的虚拟机的物理机器上。第四个主机运行 Rubis 客户端模拟器,用于生成请求。 在本文中 ,我们使用两个混合的工作负载 : 浏览混合 (BR)包含只读的请求和投标 混合(BD), 其中包括 15%的读写请求。除非另外声明,我们主要使用 BR。客户端 模拟器也记录请求响应时间 , 用于评估控制器的性能。 我们已经建立了两个模块来控制资源管理过程 : 管理模块和控制模块。周期 性得,管理模块提交平均 CPU使用。控制模块计算下一个间隔的分配和通过使用
24、从 Xen 导出的 CPU调度程序接口执行新分配给指定的 vm。我们的原型使用“简 单 EDF” (SEDF)调度程序配置限制选项 , 没有虚拟机可以使用更多的已经被分配 的 CPU时间。控制模块和客户端模拟器运行在同一台机器上。 本文对能控制 CPU分配给虚拟服务器应用程序的卡尔曼滤波器的性能进行 评估。为了确保服务器性能完全取决于控制器的 CPU分配, 要采取某些操作。所 有机器有两个 CPU,每个物理机有 2个固定一个单独的 CPU的 vm。这个简单的设 置使我们能够研究控制器 (s) 分配对服务器性能的影响而不用担心调度时运行虚 拟机之间由于共享相同的 CPU造成的影响。最后 , 对于
25、所有的实验,当第一次创 建时每个 VM分配要求的内存并且分配保持不变。 网络带宽也会被测量 , 但从来不 是一个瓶颈。 4.2 预备知识 本节描述实验方法和设置这些参数的值 (即控制器间隔 ,c, 方差/协方差), 保 持这些值在几个实验中相同。评价主要使用了两个工作负载的实验 : 工作负载 W0(t1,t2,t3):在这个实验中 ,300 个客户在 3个时间间隔发出请求。在 t1 间隔,另外 300客户添加直到 t2 间隔。所有请求属于 BR混合。这个实验模拟 中等强度的工作负载因为有两个工作负载变化, 客户的数量在剩下的实验中保持 不变。 每个实验结果由两个图呈现 (如图所示。稍后 ,图
26、2) 。第一个图表显示对应的 平均 Tomcat 组件利用率和平均每个时间间隔的分配 (记为图中的样本点 ) 。由于 篇幅限制 ,JBoss 和 MySQL的图表都省略了,但是它们都给出了类似的结果。第 二个图展示了服务器性能 : 对每个控制器的时间间隔 (以秒为单位 )的平均响应 时间(以下表示为 mRT)。mRT的值不是用来控制分配值的 ; 而它们仅提供服务器性 能的图形表示形式。 每个控制器的能力评估 :(a) 遵循利用率 (b) 在工作负载变化下保持良好的服 务器性能。当服务器组件能充分供应任何工作负载类型时,服务器使请求mRT 1秒。这是服务器期望达到的性能水平,使控制器动态配置资源
27、和以后对控制器 的性能进行评估。 工作负载 W1:在这个实验中 60个时间间隔总共有 200客户发出请求。在第 30 个 间隔 ,600 个客户请求在未来 30个间隔被添加。所有请求属于 BR混合。这个实 验模拟不可预知的大量的工作量的增加 , 用于评估当组件最有可能饱和时的控制 器性能。控制器的性能检查期间只从 30到 50之间的变化 ,直到服务器将增加的 工作负载处理完。我们使用三个评价指标 , 所有这些石在一段时间内的几个间隔 内计算得到的。 1. CR:已经完成的请求数 2. NR:请求响应时间 mRT=1s的请求数比上 CR 3. RMSE使: 用值预测的均方根误差 1 (l pre
28、dicted (l ) )2 ,其中 l 是请求响应 N i 1 predicted (l) 时间, N记为总的请求数 CR和 NR指标给出在一段时间内总数量超过请求特征。 在相同类型和持续时间的 实验中,当 NR或 CR的值增加 , 服务器的性能得到了改善。 RMSE度量提供了一个 更详细的请求的响应时间。预测值时对特定数量的客户的 mRT。由于当前系统不 预测单个请求响应时间 ,RMSE使用 mRT。因此, 模型预测之间都会存在一个错误 (mRT)和测量响应时间。 一般来说 ,RMSE值越小, 响应时间越接近 mRT,服务器性 能就越好。 三个指标 CR、NR和 RMSE的组合能提供足够的
29、信息来比较不同的控制 器。 4.2.1 控制器间隔 以5或 10为间隔。这些间隔选择 ,因为如果使用采样的平均利用率 ,那么这是 非常接近实际长期的系统利用率的平均值的 (例如 100s)。因此 ,这些解决方案不太 粗略地描述了系统性能, 由于系统测量仍然不能带来很大的开销。 本文评估使用 5 s 为间隔。 4.2.2 参数 c 实验参数 是真实的使用值与分配值之间的差值, 可以根据服务器应用程序 或者虚拟机而更改。这里令 c=60%。虽然c似乎过低,会存在可分配的资源的 “浪 费”,但是这个值能尽量避免引起资源的饱和从而能更好的研究控制器的性能。 可以发现当分配的资源数量接近真实的使用值时,
30、服务性能会迅速恶化,所以, 一个较低的 c 能很好的避免由资源饱和引起的问题。 4.2.3 方差和协方差 KBC和 PNCC控制器使用离线方式计算过程方差和协方差,这对于计算卡尔 曼收益很有必要。它们的值计算基于公式 (16)和 (17),使用来自一个实验固定的 工作负载的 40 间隔内有 600 个客户的测量值 ,重复十次统计结果 ,每个组件分配了 100%的 CPU。分配方差是: var(Tomcat, JBoss, MySQL)=(79,13.19, 13这2).些值在之 后记为 Q0.分配协方差是: cov(Tomcat, JBoss)= 6.5,cov(Tomcat, MySQL)=
31、14.05, and cov(JBoss, MySQL)=分5. 配协方差矩阵包含上述值, 记为 Q0. 因为它是很难甚至不 可能计算所有 Q0 和 Q0值混合工作负载的所有可能的组合 ,这些数字在不同的工 作负载下是作为一个 KBC和 PNCC控制器使用时的近似值。 最后,测量噪声方差被设置为一个较小的值 (比如 R = 1.0),因为有相对准确的 VM CPU测量工具。这个值可以作为一个好的可能的测量误差的近似。 4.3 KBC 图 2 说明了在 W0(20、40、 60)实验中 KBC分配和服务器性能 ,初始分配设置 为 100%。每个控制器跟踪使用波动和相应地调整分配 , 因此控制系统
32、的首要目标 可以实现。图 2(b)描述了每个间隔的 mRT,大部分的时间间隔时 mRT在 1s 以下。 87.92%的请求响应时间 1s。系统的第二个目标保持良好的服务器性能也实现 了。 mRT超过 1 s时,表示一个或多个组件 CPU饱和;这是标准的 Rubis行为。 每个 KBC控制器调整配置来匹配任何瞬态利用率的变化。 这是由于 KBC卡尔 曼的高值增益 (表 1 第二列 ),使每个控制器增加信心使用新的观察值跟随它们而 不是旧的预测。尽管这样控制器对任何工作负载变化能更迅速地作出反应,他们 也会做不必要的分配调整 ,这可能导致临时组件出现饱和。 图 2: Q0 值下的 KBC性能 表
33、1 KBC 卡尔曼增益 图 3: Q0/400 值下的 KBC性能 图 4: Q0/400 值下的 PNCC性能 为了缓解这种局面 ,KBC可以配置为运行不同的工作负载模式。 例如,图 3显示 了一个 W0(20、40、60)实验,卡尔曼收益 (表 1 第三列 )配置比以前更小的值 (稍后 解释 )。在后面的实验中 ,控制器减少对新的测量值的信心和它们遵循不那么咄咄 逼人的使用值模式。服务器现在的性能更稳定,没有那么多mRT 尖峰。总的来 说,请求响应时间 mRT1 s比例已经增加到 89.6%。 将卡尔曼滤波集成到一个反馈控制器的优点不仅体现在不同滤波模式下, 而 且这是基于来自应用程序资源
34、利用率本身得信息而不是依靠 ad-hoc 方法或系统 识别分析。KBC控制器基于取决于过程和测量噪声方差 Q 和 R的增益在不同的过 滤模式下工作。在图 3 中,过程噪声方差被设定为 Q0/400,比 R 的值还小。控 制器考虑负载波动 / 噪音来自测量本身 ,于是更有信心追随使用率的变化 ,因此选 择在平滑滤波模式下工作。 因此,通过简单的缩放 Q0的值,2 者都体现关于工作负 载使用率的信息 , 实现了不同滤波模式。 然而 ,当配置为过滤掉噪音时 ,控制器对大量增加的工作量响应缓慢 ; 图 3(b) 比在图 2中的 KBC(b)中有更多 mRT尖峰在第 20个间隔时出现。 控制器不能区分
35、一个小工作负载波动和大量工作负载变化。 之后 PNCC控制器评估会解决这个问 题。 4.4 PNCC 通过考虑所有组件的资源耦合 ,即使它是基于平稳过滤模式, PNCC控制器设 计能快速为多层服务器工作负载的变化进行响应。 图 5: 在 W1 时 PNCC与 KBC 的对比实验。百分比显示在 KBC 和 PNCC应用 t 检验后 90%可信区间,每种情况下代表的绝对指标差异。对每个 x 值重复 20 次 实验。 图 4 显示了在 W0(20、40、60)试验下 PNCC控制器分配资源情况 ;Q 矩阵被设 置为离线计算的值 Q0 再除以 400。数据显示 ,PNCC不仅跟踪主要资源使用情况 的波
36、动 ,而且能够比之前的 KBC控制器更快适应工作负载的增加。下面的图 4(b) 说明能在工作量增加时 mRT保持低于 1 s。 PNCC能比 KBC控制器更快适应工作负载的变化,来自于资源利用矩阵Q 组 件之间的协方差。每个组件的最终分配是自己的误差加上来自其他组件误差的结 果。例如 ,Tomcat配置结果来自自身的误差 (乘以 Tomcat增益 )以及来自 JBoss (乘 以 Tomcat-JBoss增益 )和 MySQL(乘以 Tomcat-MySQL增益 )的控制错误。被 Tomcat 组件使用的卡尔曼增益值如图 4 所示 : (Tomcat, Tomcat-JBoss,T omcat
37、-MySQL)= (0.38,0.0012,0.0025). 4.4.1 W1 对比 PNCC控制器的性能随着工作负载变化调整,现在对不同过滤模式进行测试。 协方差矩阵 Q除以 x,x 记为阻尼系数,取值如下 X=(x8,10,40,80,100,400)这. 些值的选择使卡尔曼增益从相对较大到较小值, 有一个范围。在 X中大的 x值不 显著改变卡尔曼增益值 ,因此没有用于评估。图 5显示了 PNCC与 KBC之间的性能 差异,使用了所有在 W1 实验中三个指标来衡量。 随着阻尼系数 x 增加,两种控制 器的性能都下降了 (CR和 NR下降, RMSE增加 )。这是因为卡尔曼收益减少 ,所有控
38、制器变得对预测值不那么自信 ,因此它们很慢地适应日益增长的资源需求。 然而, 在考虑这三个指标和 x 的所有值时,PNCC控制器等于或改善 KBC控制 器的性能。 CR指标的平均改善是 3%。事实上 , 随着 x 值的增加, PNCC对 KBC 的性能改进增加了。在这些情况下 ,使控制器对负载变化缓慢的较小的卡尔曼收 益使 PNCC对 KBC的改进更明显。在所有情况下 ,PNCC对工作负载的变化响应速 度比 KBC控制器快 ,因为它包含了所有组件的错误。 4.5 APNCC KBC 和 PNCC 控制器使用离线方式计算方差和协方差。本节评估自适应的 PNCC控制器 (APNCC,) 通过使用测
39、量值在线估计协方差矩阵 Q。这种控制器的优 点是它能自配置其参数来适应工作负载动力学。 APNCC的初始评估是使用类似的 W0 实验,其中混合工作负载强度和变化如 图 6 所示。这个实验运行时间比之前长,基于滑动窗口机制卡尔曼增益更新, 使 用了过去 10间隔的测量。在所有情况下控制器使用 Q / 40 的值。控制器在不同 负载条件下跟踪利用率变化 ,即不同的混合工作负载和客户数量 ; 在多数时间间 隔里 mRT1 s,89.58%的请求响应时间 1s。响应时间的峰值 (图 6(b)是由于瞬 态 JBoss CPU的增加 ,由 Rubis 的基准测试程序引起 ,导致 JBoss组件饱和。 在线
40、计算的卡尔曼增益值如图 6 所示(c)。相同的图也描述了卡尔曼收益,当 600 个客户离线方式计算 (虚线 )供参考。如图所示在间隔 60-120 时客户的数量增 加到 600,增益值也增加了。适应机制捕捉工作负载变化,更新相应的控制器参 数。 图 6:在 Q0/400 值时, APNCC性能 图 7: 在 W0(40,80,120)PNCC和 APNCC的对比实验。 百分比在 PNCC与 APNCC控制器应用 t 检验后 95%可信区间,每种情况下显示的指标差异比例的。一个积极 迹象表明 APNCC情况的度量值高于 PNCC的情况下。一个负号显示了相反的结果。 4.5.1 W0 对比 我们比
41、较在不同过滤模式下的 APNCC与 PNCC的 W0 实验。为不同的阻尼值 xX和不同的控制器 ,一个 W0(40,80,120)实验重复 5 次。当使用 APNCC时,协方 差矩阵 Q每 10个间隔被估计一次。结果如图 7 所示。根据 CR和 NR指标,自适 应的 APNCC性能表现与工作负载感知的 PNCC一样好。最后 ,在 RMSE情况下 ,对 所有的 x 值,没有其他控制器表现得更好。 4.5.2 W1 对比 这里我们测试 APNCC适应大量增加的工作量的方式。图 8 描述了在一个 W1 实验 x = 8,APNCC对这三个应用程序组件的卡尔曼收益。 在开始的 10 个间隔里, APN
42、CC收益将设定为 PNCC离线计算的值。对每个后续间隔,收益基于滑动窗口 机制进行更新 ,使用过去 10间隔的使用测量值。图 8显示了 APNCC在两个工作负 载条件下 (即在上半个实验有 200 个客户和在下半个实验有 800 个客户 )调整增益 值。此外 ,在负载变化期间 , 因为使用方差的变化收益增加了。 在变化期间 ,APNCC 收益在没有任何先验知识情况下随着工作量增加而调整 ,而只是使用利用率的变 化。 图 9: 在 W1 中 PNCC和 APNCC的对比实验。 百分比在 APNCC与 PNCC t检验 后 95%的置信区间在每种情况下显示的绝对指标差异。对每个x 值重复 20 次
43、实 验。 图 8:x=8 时,APNCC的卡尔曼增益 我们进一步在不同滤波模式下 xx评估 APNCC。随着 PNCC同等的性能实验 进行比较,结果在图 9中显示。如图所示的评价指标 ,随着 x增加 APNCC性能降 低。这是与以前的观测情况差不多的 ,因为随着 x 增加,APNCC在平滑滤波模式下 工作,并因此对变化响应变慢。 有趣的是注意到 ,当在相同 x值时比较 PNCC和 APNCC控制器,APNCC性能略 有降低。这是因为工作负载变化时 ,PNCC离线增益值大于 APNCC在线估计,如图 8 所示。这使得 PNCC对工作负载变化反应更快。 然而 ,尽管在工作负载增加开始时 APNCC
44、增益较小 ,APNCC检测到变化并相应进行调整。显示表明 ,其性能就 CR而 言平均只有 4.8%比 PNCC低。 PNCC离线收益计算仅为一个单独的工作负载类型 ,不能捕获服务器应用程序 中使用率变化的范围。 APNCC 适应大量增加的工作负载导致了一致的良好行为 , 而 PNCC性能取决于离线收益与获取的工作负载的变化的接近程度。 APNCC不需要任何特殊的机制来检测大量的工作量的增加。这个控制器 , 相 同对待所有工作负载的变化 ,自动适应增益来描述工作负载变化的重要性。最后 , 当调优 APNCC控制器,本质上可以选择一个 x 值,控制器仍将调整其增益来捕捉 任何后续工作负载的变化。
45、5、相关工作 51 集中控制的资源供应 单层应用程序 :15, 18 目前的反馈控制器分配单层 Apache服务器的 CPU资源, 服务器上运行着 hp ux PRM资源容器。这些包括 (a)一个积分线性控制器,系统 分析确定的基于 CPU分配的线性关系,调节相反的 mRT;(b)一个非线性控制器, 调节相对利用率 ;和 (c)上述情况的组合。与这些方法相比 ,我们的基于卡尔曼的控 制器都是线性的 ,是基于一个简单而普遍适用的 CPU利用率模型。 多层应用程序: 多层服务器应用程序的控制也获得了关注。文献 11一个 2 层控 制器调节相对利用率,两层虚拟化 Rubis服务器的两个实例共同运行在
46、 2 个物理 服务器上。作者利用 15 的第一层控制器调节相对利用每一层和二层控制器,使 用 QoS分化指标进一步调整分配的 CPU争用。 Wang等14提出一个 3层嵌套控 制设计,来控制 3 层 Rubis 应用程序的 CPU。两个内循环类似于 18。外循环提 供了相应的利用情况的更好的近似, 每层的 mRT 由事务混合性能模型计算得到。 使用一个简单的 CPU 资源耦合性能模型,我们的 MIMO 控制器实现跟踪,它能 在线更新而不是依赖于特定的应用程序的事务混合。 Liu 等10 在共享虚拟化集群出现争用的情况下解决资源共享的问题。 它们的 控制器分配 CPU资源是基于在过载区域存在的
47、QoS 的响应时间。我们的 MIMO 卡尔曼控制器使用在线资源 (容易派生 )的可度量的 CPU利用率耦合模型。 5.2 其他解决方案 除了控制理论 ,其他技术也被用来在虚拟化环境中管理资源。例如,徐等 16 提出一个 2 层资源管理系统,在满足它们的 sla下最小化单层应用程序的资源消 耗 ,同时使用模糊建模最大化效用函数的共享资源的收入的利润。在 6中,作者使 用混合方法,排队模型和优化技术来决定整合的虚拟化应用程序组件的位置。 5.3 非虚拟化集群 在虚拟化被广泛采用前 ,其他系统被开发来管理资源复用。 在这里我们简要讨 论一些以前的 CPU资源分配方法。 在 Sharc12中 , 基于
48、过去的观测一个以指数加权的移动平均 (EWMA)过滤器 被用来估计未来 CPU 和网络带宽资源。过滤器使用静态分配参数 ,可以在一系列 的工作模式下积极适应变化的观测信号 (敏捷过滤器 ),或者在瞬态波动 (稳定过滤 器)下变得平稳。 然而,这种过滤一次只能在一个模式下工作 ,因此是不适应不同的 操作条件。 为了解决上述局限性 ,Chase 等5使用基于类似 9的一个 flop-flipfilter 过滤 器。 flop-flip 过滤器使用在 30s窗口的估计的移动平均值 ,如果估计失败在标准差 以外,它切换到新的移动平均线。作者用这个过滤器来缓和尤其是突发性信号。 卡尔曼控制器不使用预设值
49、能动态适应操作条件。因此 ,他们更容易部署和完成 要求的最小配置。 Urgaonkaret 等13使用一个分析状态 ,在真实的工作负载下运行应用程序获 得其资源利用分布。 作者还建议定期在线更新资源的分布。 我们的自适应控制器 不使用离线测量值 ,而只在短期观察下进行工作负载利用率的预测。 6、结论和未来的工作 虚拟化集群的高整合需要服务器应用程序的自适应资源管理。控制理论已被 用于基于过去使用值的观测来调整 CPU 分配。本文介绍了卡尔曼滤波器的集成 到动态反馈控制器来实现分配多层虚拟化服务器的 CPU资源。实验结果表明: (a) 过滤使用情况的信号使我们能够按照工作负载变化而不受到瞬态波动
50、的影响 , (b) 我们的自适应控制器使用过去使用情况的观察值和自适应的负载条件, 参数在线 配置。我们打算进一步评估我们对高性能的控制器整合。 7、参考文献 1 VMware Distributed Resource Scheduler (DRS). http:/ 2 V. Almeida, M. Arlitt, and J. Rolia. Analyzing a Web- Based System s Performance Measures at Multiple Time Scales.SIGMETRICSP erformance Evaluation Review, 30(2):39
51、, 2002. 3 C. Amza, A. Chandra, A. L. Cox, S. Elnikety, R. Gil, K. Rajamani, W. Zwaenepoel, E. Cecchet, and J. 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,
52、 I. Pratt, and A. Warfield. Xen and the Art of Virtualization. In Proc. of SOSP, pages 164177, 2003. 5 J.S.Chase,D.C.Anderson.,NP.Thakar,A.Vahdat,a nd R. P. Doyle. Managing Energy and Server Resources in Hosting Centres. InProc.ofSOSP, pages 10136, 2001. 6 G. Jung, K. R. Joshi, M. A. Hiltunen, R. D. Schlichting, and C. Pu. Generating Adaptation Policies for Multi-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 the ASMEJournal of Basic Engineering
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产540套矿用除杂筛项目可行性研究报告
- 电梯售后服务改进项目可行性研究报告
- 防暑降温急救知识培训课件
- 食品配送行业市场需求分析
- 智慧城市建设对房地产市场的影响
- 消瘀药物临床应用现状-洞察及研究
- 浙江省名校协作体2026届高三上学期开学考试(一模)语文试卷(含答案)
- 山东省济南市2024-2025学年高一上学期期末学习质量检测历史试卷(含答案)
- 绿色工厂概念在皮革制品行业的应用研究-洞察及研究
- 第十三章 三角形 单元测试(含答案)2025-2026学年人教版数学八年级上册
- 建筑外观设计设计理念
- 部编人教版一年级上册道德与法治全册教案
- 乳牙根管治疗的护理配合
- 掘进支护安全培训课件
- 新概念二单词表
- 突发性耳聋演示课件
- 《雅思阅读技巧》课件
- 中医基础理论9病机课件
- 2023年全国出版专业技术人员职业资格考试出版专业基础知识(中级)试题及参考答案
- 工程结构检测与加固-3-砌体结构检测与加固
- 《影视美学教学》课件
评论
0/150
提交评论