首页 » 正文

[论文解读]Cost of Virtual Machine Live Migration in Clouds A Performance Evaluation

1.本文系课程报告的相关内容,亦系论文Cost of Virtual Machine Live Migration in Clouds A Performance Evaluation的报告和解读。
2.全文为对于云计算的讨论,非专业的知识普及,可能存在疏漏或错误,如需要相对准确的内容,请直接阅读原文。
3.文章图片部分来源于网络,表格则为根据原文内容自制,解读过程中加入的自己的部分观点,不代表原作者立场。
4.对于目前云提供商的分析,虽已充分查阅相关资料但难免疏漏,所述不代表其实际的功能和定价,亦不会因为未来功能的更新而更新本文。
5.为了帮助学习者更好的了解云端计算的相关内容,文中附上了原文下载,同样对于部分引用于网络的图片,遵循知识产权保护,如有问题请申诉。
———————– Page 2———————–
目录
1.概述………………………………………………………………………………3
2.虚拟机简介……………………………………………………………………4
3.迁移成本……………………………………………………………………….5
4.迁移成本与服务级别协定………………………………………………..6
5.即时迁移……………………………………………………………………….7
6.相关工作……………………………………………………………………….8
7. 互联网应用的特点………………………………………………………….10
8.测试平台参数…………………………………………………………………11
9.即时迁移成本评估…………………………………………………………..12
10.实验设计………………………………………………………………………13
11.实验结果……………………………………………………………………….15
12.结论……………………………………………………………………………..18
———————– Page 3———————–
1.概述
• 虚拟化已广泛应用在云计算中,今天我们讨论的是其中的重要一环,即虚拟机器即时迁移。即时迁移最主要的特征是不停机,且机器内部的程式均正常运转,程式之间的 交互也不会受到影响。程式甚至不能“感觉”到外部环境已经发生变化。
• 传统的云业务允许短时间的停机并在期间移动工作负载。而在不允许停机的情况下如何使得运行的程式不受到影响是重要的议题。
• 我们首先需要更好地了解迁移对系统性能的影响,然后需要评估即时迁移对虚拟机。系统性能:对于全局的影响程度,比如硬件设备的资源消耗,响应时间的变化。程式性能:对局部程式的性能造成影响,包括卡顿,短时间失去响应等。
• 在大多数情况下,迁移的代价是可以接受的,但不能忽略不计,特别是在一些需要长期可用或高度响应的系统中。长期可用和高度响应是良好程式的特征, 从时间的长度上表明用户在任何时候都 可以发起请求,从一段时间的性能要求上说明对于任意的用户请求都能快速, 准确的反应。
• 在现代网络应用程式服务的资料中心中,即时迁移适用性的潜力很大。
———————– Page 4———————–
2.虚拟机简介
• 虚拟机已成为资料中心和群集系统的基本模组 ,这主要是由于其业务隔离 ,可混合和可迁移的能力。
• 这些功能使资料中心能够以安全 ,灵活和高效的方式为多个使用者提供服务 。这些虚拟化基础架构被视为驱动云计算的关键元件 。

图1 :著名虚拟机品牌vmware workstation
• 虚拟机的迁移需要确保系统的可管理性 ,性能和容错能力 。
• 在生产环境中迁移虚拟机的原因主要是需要平衡系统负载 ,通过将虚拟机从超载或过热的环境中迁移出来 ,以使其更好的工作。

图2 :著名虚拟机品牌Oracle VirtualBox
———————– Page 5———————–
3. 迁移成本
• 服务器在将其工作负载迁移到其他设备后 ,需要有选择地关闭服务器进行维护。迁移整个作业系统需要克服传统上迁移的诸多困难 。甚至应用程式本身并不知道正在发生迁移 。
• 传统的虚拟机迁移只是单纯的停止虚拟机并复制文档 ,将其所有内存页面复制到目标主机 ,最后重新开启虚拟机 。这一过程是非常直觉的 ,但停止虚拟机在某些任务中是令人不可接受的 。
• 流行的虚拟机管理程式Xen或VMWare允许在作业系统继续运行时进行迁移 ,这种过程也称为“即时”或“热”迁移 ,而即时迁移的主要优势是可以在停机时间几乎为零的情况下迁移作业系统 ,这是提供即时服务时的一项重要功能。

图3 :虚拟化技术架构
———————– Page 6———————–
4.迁移成本与服务级别协定
实际的停机时间在不同的应用程式之间可能会有很大的不同,例如:
• 迁移Quake游戏服务器时的60毫秒
• HPC基准测试时的3秒
关于迁移活动造成的开销,较早的研究表明,
• 对于一组特定的HPC基准,经历的速度下降在1%到8%之间。
• 在其他使用Xen的方案中,运行Web的虚拟机的Apache Web服务器的传输速率降低了12%到20%。
• 在复杂的Web工作负载(SPECWeb99)的情况下,被测系统可以保持与基准度量标准的一致性。
考虑到一系列应用,迁移的不利影响是可以接受的或可以忽略不计。
我们进行了案例研究并量化了虚拟机即时迁移对现代应用程式的性能影响。对于服务级别协定(SLA)驱动诸如服务可用性和响应性等指标的环境进行实际测试。SLA服务提供者和消费者就最低服务水准达成协议,直接反映了最终使用者如何看待所提供服务的品质。
服务级别协定(SLA)最根本的形式是协议双方(服务提供者和使用者)签订的一个合约或协定,这个合约规范了双方的商务关系或部分商务关系。一般来说,SLA是服务提供者与使用者之间协商并签订的一个具有法律约束力的合同,合同规定了在服务提供过程中双方所承担的商务条款。
———————– Page 7———————–
5.即时迁移
• 即时迁移虚拟机的过程包括将内存映射,即从原始服务器传输到目标服务器 。虚拟机监控程式会将虚拟机的内存页面预先复制到目标位置 ,而不会中断OS或其任何应用程式 。页面复制过程在多个循环中重复进行 ,在该循环中连续传输资料不一致的页面 ,以期待完整修复它 ,但通常会有一组页面被修改得过于频繁 ,以至于必须将虚拟机停止一段时间 ,直到将其完全转移为止。随后 ,可以在新服务器中恢复虚拟机 。
• 在上述的过程中虚拟机的即时迁移允许在不停机的状况下使工作负载进行移动 ,但是由于内存预复制的反复运算所引起的开销 ,仍然会对程式的性能造成负面影响 。这些开销主要包括原始服务器和目标服务器上消耗的额外的CPU周期以及消耗额外的网络频宽 ,除此之外 ,随着虚拟机在迁移后的恢复 ,一些缓存需要重新加载 ,也会使得速度降低 。由于不同的内存使用情况和访问模式 ,对于不同的应用程式 ,停机时间和应用程式性能可能会受到不同的影响 。

图4 :即时迁移
———————– Page 8———————–
6.1相关工作
多核 ,半虚拟化 ,硬件辅助虚拟化和即时迁移是最新出现的创新技术 ,现在的企业需要衡量使用虚拟机的成本和收益 。虚拟化在各种情况下的影响已成为企业关注的焦点 ,许多研究提出了虚拟机对各种工作负载时的开销进行单独或并行的测量 。
Apparao在运行Xen的单个服务器上运行多个应用程式 ,作者使用了Intel定义的网络套件 ,由Web服务器虚拟机 ,数据库服务器虚拟机 ,Java服务器虚拟机 ,邮件服务器虚拟机以及一个空闲虚拟机组成 ,在这种情况下几乎无法充分利用服务器 ,应用之间会互相影响 。

图5 :Xen 的半虚拟化架构

图6 :支持VT-x技术的虚拟化架构

图7 :Apparao 的实验系统由Web服务器虚拟机 ,数据库服务器虚拟机 ,Java服务器虚拟机等组成
———————– Page 9———————–
6.2相关工作
Zhao等人的研究则专门处理虚拟机迁移 。在迁移CPU和内存密集型工作负载以及同时迁移多个虚拟机时会使得性能下降。但是 ,这种研究采用的是纯粹的复制迁移方法 ,而不是即时迁移 。他们随后研究的是Xen即时迁移 ,并量化其对四个常见的一组应用程式的影响 。主要侧重于量化停机时间和总迁移时间 ,并展示即时迁移的可行性。但是 ,这些工作尚未评估迁移对现代Internet工作负载的性能的影响 。

图8 :zhao等人的研究是纯粹的复制迁移
Travostino展示了通过专用1Gbps链路连接的WAN上的虚拟机即时迁移的有效性 ;尽管RTT高出1000倍 ,但据估计 ,应用程式的停机时间比LAN内设置的停机时间长5-10倍 。除了其可行性外 ,WAN即时迁移的概念仍将在商业虚拟机管理程式中实施 ,这要求所有涉及的电脑连接的WAN上的虚拟机即时迁移的有效性都在同一子网中并共用存储 。

图9 :Travostino展示了通过专用1Gbps链路
———————– Page 10———————–
7. 互联网应用的特点
利用基础架构的应用程式非常广泛 。亚马逊报告了几个利用其EC2平台的案例研究 ,包括视频处理 ,基因类比和Web应用程式。这样的平台对于多层Web应用程式特别有用 ,该Web应用程式通常包括Web服务器 ,应用程式服务器/动态内容生成和后端数据库 。
虚拟机技术允许动态置备和复制虚拟机为一个应用程式 层托管其他实例 ,从而为Web应用程式的扩展提供了额外的灵活性 。
社交网站可能是高度动态和交互式Web 2.0应用程式的最著名示例 ,该应用程式在过去几年中越来越受欢迎 。它们越来越受欢迎 ,刺激了对用于托管应用程式的高度可扩展和灵活的解决方案的需求 。

图10 :基础架构的应用程式包括视频处理 ,基因类比和Web应用程式
———————– Page 11———————–
8.测试平台参数
• 测试平台是一个由6个服务器 (1个头节点和5个虚拟机主机)组成的集群 。
• 每个节点都配备了Intel Xeon E5410 (具有2x6MB L2快取内存和Intel VT技术的2.33GHz四核处理器),4 GB内存和7200 rpm硬盘 。服务器通过千兆以太网交换机连接 。
• 群集头节点运行没有管理程式的Ubuntu Server 7.10 。所有其他节点 (虚拟机主机)运行Citrix XenServer Enterprise Edition 5.0.0 。
• 所有虚拟机均运行64位Ubuntu Linux 8.04 Server Edition ,半虚拟化内核版本2.6.24-23 。
• 安装的Web服务器是以prefork模式运行的Apache 2.2.8 。PHP版本是5.2.4-2 。带有Innodb引擎的MySQL是5.1.32版 。

图11 :测试平台参数
———————– Page 12———————–
9.即时迁移成本评估
• 我们将Olio用作Web 2.0应用程式 ,这是Sun通过了解Web 2.0客户面临的挑战而设计的 。与Faban负载生成器结合使用以表示应用程式和工作负载集 。它可帮助开发人员评估各种Web技术的适用性 ,功能和性能 。
• Faban是开源的玛律可夫链负载生成器 ,用于驱动针对Olio的负载 ;它由一个主程序组成 ,该主程序产生一个或多个负载驱动程式 ,即类比实际使用者的多执行绪进程 。
• 主机提供了一个Web接口 ,通过它可以提交自订的基准测试并监视其结果 。这种Olio / Faban组合最初是作为基准测试的一部分提出的。可以通过更改应用程式要服务的并发使用者数来更改针对应用程式驱动的负载级别 。

图12 :Faban主页
———————– Page 13———————–
10.1实验设计
• 我们的实验的总体目标 :量化在运行中执行虚拟机迁移指令后遇到的速度下降和停机时间 。
• 根据SLA计算生成的值来量化应用程式的运行速度 。迁移实验包括在两个专用物理机之间迁移单个虚拟机 。在每次运行中 ,所选的目的电脑都不同于上一次运行中的源电脑 ,也就是说 ,一系列测试中不包括在同一组的两台电脑之间来回迁移虚拟机 。
• 我们使用Olio来增加负载 ,并逐渐增加两次运行之间的并发用户数 ,以100个用户为增量 ,同时使用2个大小相同 ,带有2个vCPU和2GB内存的虚拟机 。通过分析SLA发现正常运行服务是我最大并发使用者数为600 。我们观察了内存和CPU的使用情况 ,以找到能够为600个使用者提供服务的最小虚拟机大小 。

图13 :SLA评分标准
———————– Page 14———————–
10.2实验设计
•我们的目标是将虚拟机的大小(vCPU和内存资源)减小到可为600个使用者提供服务所需的最小值。
•在最终配置中,仅托管Apache / PHP的虚拟机具有1个vCPU和2GB内存;MySQL的虚拟机具有2个vCPU和1GB内存。
•在预演实验中,我们注意到将MySQL服务器托管在NFS上时的性能问题。该应用程式不能扩展到超过400个并发用户,导致我们将MySQL托管在本地硬盘中,但也因此可以扩展到600个并发用户。
•我们对600个并发用户执行了10分钟和20分钟的基准测试。在这些实验中,对Web服务器虚拟机进行了即时迁移。试验此负载级别的目的是评估在系统几乎被超过运行能力但未超载情况下的反应。
我们旨在量化迁移影响的持续时间和应用程式经历的停机时间。随后,在第二轮实验中,我们使用较少的并发用户(即100、 200、 300、 400和500)运行基准测试,旨在找到可以在较低风险下进行迁移的“安全”负载水准。

图14 :作者设计的评分系统
———————– Page 15———————–
11.1实验结果
总体而言 ,我们的实验结果表明 ,即时迁移而产生的开销是可以接受的 ,但不能忽略 ,尤其是在要求更高服务级别的面向SLA的环境中。
在即将结束时经历了3秒的停机时间和44秒的迁移 。虚拟机在目标节点中恢复后 ,回应时间中观察到的最高资源负载峰值立即发生 。经过5秒钟后系统可以完全满足停机期间发起的所有请求。在停机过程中 ,没有任何请求被丢弃或超时。当为600个并发使用者提供服务时,Olio经历的停机时间大大超过了预期 。
该结果表明,工作负载复杂性强加了异常的内存访问模式,从而增加了即时迁移虚拟机的难度。

图15 :显示了在一次运行的稳定状态下运行五分钟后常的内存访问模式 ,从而增加了即时执行一次迁移的效果。
———————– Page 16———————–
11.2实验结果
图16展示了多次迁移对首页加载回应时间的影响。这些结果对应于5次运行的平均值。我们可以观察到,当发生一次迁移时,如果以90%SLA作为基准则不会发生任何问题,只有在短时间内执行两次迁移时,才会产生问题。但是第一次迁移后,如果我们以99%SLA作为基准则其出现了一定的问题,这表明当为600个并发使用者提供服务时,单个虚拟机迁移的开销是不可接受的。此图还表明,一个以上的迁移可能不会使得90%SLA产生问题。防止这种冲突的方法是在迁移之间留出足够的间隔,以使系统回到正常的回应水准。

图16 :为600个并发用户的首页加载回应时间计算的第90和第99个百分位SLA 。允许的最大回应时间为1秒正常的回应水准 。
———————– Page 17———————–
11.3实验结果
根据上述结果 ,我们可以得出结论 ,尽管虚拟机的即时迁移会导致显著的速度下降和停机时间过长 ,但是当系统响应标准为90%SLA时 ,我们就可以使得单个迁移发生的更加顺利 。换句话说 ,只要在正确的时间执行迁移 ,就不会有与之相关的成本。图17记录了对500 、400 、300 、200和100个并发用户执行一次迁移时 ,所有用户操作最大记录的99%SLA的数值。由第99%SLA算出的所有用户操作的最大回应时间 ,负载从100到500个用户不等 。在所有情况下 ,即使在即时迁移Web服务器的情况下 ,我们的仍能够接受的性能的影响 。

图17 :给出了更详细的结果 ,列出了在10分钟的运行过程中执行一次迁移时
———————– Page 18———————–
12.结论
• 虚拟机的即时迁移是虚拟化群集和资料中心的重要功能 。
• 在不损害应用程式可用性和回应能力的情况下可以实现负载平衡和进行基础结构维护 ,以及更灵活地管理可用的物理资源 。
• 在将应用程式托管在一组虚拟机上的情况下 ,我们进行了一系列实验来评估虚拟机的即时迁移成本 。
• 在针对应用程式驱动了多个负载级别的场景中进行了即时迁移实验 。我们的结果表明 ,在系统资源几乎被用尽的情况下 ,即时迁移会导致严重的停机时间 。此外 ,这种服务中断还会导致在某些情况下违反预定义的SLA,尤其是在短时间内执行两次迁移时 。
• 我们发现在将系统负载稍微减少到较少的并发用户时执行迁移时 ,仍然可以满足最严格的SLA(99%) 。
• 总之 ,我们看到即时迁移在服务于现代网络服务的资料中心中具有很大的潜力 。这项性能评估研究是迈向研究虚拟机即时迁移对资料中心和集群进行管理的第一步 。

发表评论