Pacer:针对云计算中虚拟机在线迁移的进程管理系统外文翻译资料

 2022-09-18 05:09

英语原文共 14 页,剩余内容已隐藏,支付完成后下载完整资料


Pacer:针对云计算中虚拟机在线迁移的进程管理系统

摘要

虚拟机的在线迁移是云计算中的一个关键管理方法。不幸的是,在最先进应用上不存在在线迁移进程管理系统,导致(1)无法猜测迁移会花多长时间,相应地,也无法根据这些时间来调度相关的任务;(2)当应用程序组件和远程云数据中心在迁移的任意时段出现问题时是不接受应用程序降级的;(3)无法权衡应用程序性能和迁移时间。举例来说,完成迁移后应减小对应用程序性能的影响。Pacer是解决这些问题的第一个迁移进程管理系统。其技术是基于健壮和轻量级运行时测量系统和工作负载时候的高效和准确的分析预测模型的特点,用于提升在线适应维护用户定义的迁移目标与协调,以及及时迁移。我们在当地的Amazon EC2平台上的测试表明,Pacer在一系列的应用程序工作负载和网络环境下是高效的。

索引词:在线迁移,云计算,进程管理,数据中心

  1. 介绍

这篇文献呈现了去解决在云计算中的一个新兴的服务管理问题的技术,即虚拟机在线迁移的进程管理。我们的技术是在一个叫做Pacer的系统中实现的,该系统精准地预测了迁移时间并且使用预测去实现在迁移进程管理中的两个高级功能:(1)最优化的迁移时间控制,和(2)多虚拟机的协调迁移。通过让虚拟机迁移变得更加的可预测化,Pacer是促进了有序和及时的服务管理操作。

1.A 虚拟化与云计算的角色

云计算,或称为“云”,是在支付后使用的基础上形成的网上即期计算资源[1]。在工业界和学术界上,云计算已经吸引了大量的关注。一份由企业云提供商Virtustream[2]赞助的研究报告表明,在美国有多于一半的企业在广泛使用云计算技术[3]。在过去,云计算服务经历了快速成长时期,在未来,截止到2016年,公有云服务市场值预计可增长至2066亿美元[4]。互联网和业务应用程序越来越多地转移到云以便于最大化共享资源和规模经济的有效性。云提供商例如Amazon EC和IBM[6]经营公有云,以即期的低利率来提供存储和虚拟主机给消费者,然而其他的一些云厂商建立起来是提供开发环境作为服务,例如谷歌搜索引擎应用[7]。

云服务通常在数据中心运行。数据中心的主要职能是掌控应用程序,这些应用程序是处理核心商务逻辑和处理组织的运营数据。当前,数据中心可能有成百上千的服务器。在云上运行的应用程序通常是在由多个组件组成的多个主机上运行。这些共有的组件可以是数据库,文件服务器,应用程序服务器,中间件,以及其他种类繁多的组件[8]。一个多层电子商务应用程序可能包含web服务器,数据库服务器和应用程序服务器。前端web服务器显示信息,如商品列表。应用程序服务器和前端web服务器通信并实现了应用程序的核心功能。数据库服务器存储业务数据并保持数据中立,它是独立于应用程序逻辑的。

支撑云计算的关键技术是虚拟化技术,该技术抽象了物理基础设施,隐藏了底层硬件或软件的复杂性,并使基础设施作为一个容易隔离和共享物理资源的软组件可用[10],[11]。虚拟化资源池的管理需要能够在池内够灵活映射和移动应用程序和数据[12]。通常而言在单个物理机上会有多个虚拟机运行。因此,虚拟化技术提供了一个有效的方法从更少的服务器获得更高生产率来巩固硬件。虚拟化技术也加速和促进IT管理,维护与部署新的应用程序[13]。在云计算中,虚拟机管理程序或虚拟机监视器(VMM)是一套用于创建,运行与管理众多虚拟机的软件。KVM [14], XEN [15], VMware ESX [16]和Hyper-V [17]是四个当今比较流行的虚拟机监视器。

1.B 虚拟机作为原始管理工具迁移

随着数据中心不断地部署虚拟服务,有很多场景都需要在同一数据中心或不同的数据中心之间将一台物理主机的虚拟机移动至另一台物理机。下面举一些例子:

有计划的维护:为了保持高性能和可用性,虚拟机需要从一台云主机迁移到另一台上来充分利用可用资源,避免硬件维护所造成的停机时间,并且克服源云端计算能力的限制。如果一台物理机需要软件或者硬件的维护,管理员可以将这台机器上运行的所有虚拟机迁移到其他物理机从而来释放原机资源[18]。

负载均衡:虚拟机可能会被重新安排在不同的物理机集群中,以便在拥塞的主机上减轻工作负载[18]。虚拟服务器的工作负载增加可以通过增加资源分配给虚拟服务器来处理,这些虚拟服务器是处在在物理服务器上有些空闲资源是可用的条件下的;或通过简单地将虚拟服务器移动到一个负载量更少的物理服务器来处理[19]。

防止单一供应商锁定:虽然很多云服务用户在早期已经就成功使用单一的云供应商[20],[21],但是使用多个云来在不同云供应商之间提供服务和自由移动的灵活性是当今新兴的需求[22]。过去常使用使用单一云供应商来实现他们的应用程序的用户应该有能力和灵活性,来将应用程序迁移到内部或其他云供应商,以控制业务连续性,并避免与特定的供应商成为同一条绳上的两只蚂蚱[23]。

企业IT整合:工作在多个数据中心工作的多家企业已尝试处理数据中心“蔓延”,并通过将多个较小的网站整合成一部分较大的数据中心来削减成本。由于业务中断相应减少带来的影响,用最小的成本或无需停机时间来移动一个服务器的能力是很有吸引力的[12]。

混合云计算:混合云计算(HCC)——私有数据中心和公共云服务供应商的虚拟计算与存储资源在那里会无缝地集成到一个平台上,在该平台上应用程序可以自由迁移——根据最近的行业报告和调查,该平台是商业企业首选的新兴的云计算模式[24],[25],[26]。这并不奇怪,因为混合云计算结合了公共和私有云计算的好处,导致为节约成本有着额外的灵活性,应用程序的自适应性,灾难性错误的生存能力等等。为了实现上述好处,虚拟机迁移技术是关键的混合云计算范例。

总之,从云服务供应商的角度来看,虚拟机迁移有着易于维护、资源管理、针对灾害性错误计划以及经济效益。从云服务用户的角度看,虚拟机迁移可以提供更低的成本,更好的可靠性和更好的性能。

1.C 虚拟机在线迁移的好处

虚拟机的迁移方式不尽相同,这取决于虚拟机究竟是运行在一个无状态服务器还是在一个有状态服务器上。一些应用程序包含有不保留任何会话信息的无状态服务器,如静态页面的Web服务器[27]。该服务提供程序可以很容易地通过终止旧的服务器,并在新的站点上提供一个新的服务器来迁移无状态服务器。然而,企业的多数应用程序运行在有状态服务器。有状态服务器端从一个请求到下一个请求地来保存客户的状态记录。例如,FTP服务器,数据库服务器,邮件服务器和动态页面的Web服务器都是有状态的。针对有状态的服务器迁移,传统的做法是停止虚拟机,在目的物理机器上复制虚拟机状态和重新启动虚拟机。这种做法会导致长期的应用程序停机时间。移动应用程序的一个更具吸引力的机制是在线迁移,因为在线迁移是完全独立的应用程序(无状态或有状态),并且能避免打断正在运行的应用的应用程序。

在线迁移是指在不同的物理机之间移动一个正在运行的虚拟机或应用程序的过程,该过程无需断开客户端或应用程序。虚拟机包含的迁移全部内容应有以下几个方面:

1.虚拟机的运行状态(即,中央处理器状态,内存状态)

2.被虚拟机使用的容量或虚拟磁盘

3.网络方面和与现有的客户端连接

最先进的虚拟机管理程序,如VMware ESX, HyperV, KVM和Xen,支持在线迁移。源主机和目的主机上的虚拟机控制器掌控迁移。源主机的虚拟机监控器典型地将虚拟机所有磁盘状态拷贝至到目的主机,而虚拟机仍运行在源主机。如果在这个过程中写入一些磁盘块,这些块将被再次拷贝一次。当要拷贝的磁盘块的数量开始小于阈值时,虚拟机管理程序开始复制内存状态。一旦磁盘和内存状态已被转移,虚拟机管理程序为实现磁盘,内存,处理器和网络状态最终转移到目的主机,会简短地停顿虚拟机。

1.D 问题:在线迁移中缺乏进程管理

不幸的是,国内的最先进的虚拟机管理程序支持在线迁移,但是没有提供迁移的任何进程管理的方式。这不足导致了以下问题:

迁移需要多长时间?——这是一个在使用虚拟机在线迁移的用户之间是受欢迎的问题[28],[29],[30]。这也是一个重要问题。Nicolae等人[31]指出迁移时间是重要的,因为它表明了迁移的总时间,在这段时间内源主机正忙并且无法重新分配给不同的任务或关闭。不幸的是,没有简单的公式来计算答案,因为完成的时间取决于许多运行时期的动态变量。这些变量包括应用I/O的负载强度,网络吞吐量,磁盘信息吞吐量,等等。

有许多标志表明[32],[33],[34],[35],[36],[37],[38],[39]用户总是试图去猜测为什么迁移过程是缓慢的,迁移过程是否可以加速,以及他们可能要等待多久。

如何在应用程序性能和迁移时间之间进行控制与权衡呢?——这是由用户们提出的另一个流行的问题[40],[41]。研究[42],[43],[44],[45]表明,迁移可能会降低应用程序的性能,并且降低迁移的速度有助于减少迁移性能下降[43]。虽然管理员可能愿意减慢迁移速度从而在一定程度上去提高应用程序的性能,迁移任务必须仍在最后期限前完成或其他相关任务不能继续进行。不幸的是,对于管理迁移进程并能在指定的时间内完成迁移,并没有解决方案存在。

如何避免应用程序组件在遥远的数据中心之间迁移时被拆分?——这个问题对于企业来讲是很重要的,因为他们的应用程序通常由多个相互作用的并且执行不同的功能部件组成(如内容生成,自定义逻辑,数据管理,等等[46])。没有管理迁移进程的能力,个别应用程序组件可能在极其不同的时间完成迁移,并可能在任意长一段时间在遥远的云数据中心被分离。由此产生的大组件通信延迟导致迁移性能下降。

1.E 解决方案:Pacer

我们的贡献是Pacer——第一个迁移进度管理系统。Pacer通过准确预测迁移时间有效地解决了上述所有问题,并使用此预测来进一步尽可能地来实现迁移时间的控制和协调迁移多虚拟机。我们在本地测试平台和Amazon EC2平台的实验表明(1)Pacer能预测迁移时间大约需1.7个小时的长时间迁移,预测的误差不到10秒,并且这一预测精度仅仅在迁移开始后的5分钟内迅速实现;(2)Pacer可以在各种应用程序的工作负载下控制迁移完成的时间与想要迁移完成的时间误差不超过2秒;(3)Pacer可以极大地缩短时间周期从约400秒到3秒,在这段时间内,应用程序组件会在远程数据中心之间被拆分。

Pacer的有效性的原因在于设计中的以下关键要素:

使用实时测量来驱动决策——我们已经确定了重要的测量,这些测量对于实现准确预测是必不可少的,如应用程序的I/O工作负载(内存与磁盘访问)和迁移的瓶颈速度(网络与磁盘)。进一步,在我们实施Pacer时候,我们不断以第三部分介绍到的较低的开销方式来收集这些在运行时会使用到的技术测量值。

使用详细的分析进程模型——我们已经开发了新颖而又详细的分析模型,针对于(1)预测剩余的待迁移的数据量,该数据量是应用程序的I/O工作负载特征特性和迁移过程的一个函数,和(2)预测迁移的完成时间,该时间是每个迁移阶段的一个特征函数(例如磁盘,脏块,CPU/内存,等等)。

自适应运行时期条件——由于运行时动态,静态迁移的设置无法成功实现控制迁移时间的目的或协调多虚拟机迁移的目的,Pacer不断适应环境以确保达到目标。在迁移时间控制的情况下,Pacer能在应用程序是动态的情况下适应迁移速度来维持定向迁移完成时间。在协调迁移的情况下,Pacer为所有组件来适应定向迁移完成时间,这考虑到运行时测量预测是可行的。

1.F 大纲版图

本文的剩余部分组织如下。第二部分介绍Pacer在迁移进程管理中用到的技术。第三和四部分介绍展示Pacer的能力和效益的实验结果。第五部分论述了Pacer在并发迁移场景中的应用。我们在第六部分讨论相关的工作并在第七部分总结。

  1. Pacer的设计

2.A 概述

Pacer是为预拷贝迁移模型而设计,该模型被广泛应用于KVM[14]和Xen[18]虚拟化平台。VMware使用该模型的稍微不同的变体[47],会在之后讨论[48]。在预拷贝模型中,在内存迁移之前先执行虚拟磁盘迁移。在虚拟磁盘迁移期间,所有写磁盘的操作都会被记录下来。脏块被重传的时候,在那段时间内新产生的脏块会被再次记录和重传。脏块重传的过程会一直重复,直到脏块数目下降至低于阈值,之后内存迁移开始。

据我们所知,当今没有现有的解决方案在虚拟机迁移全过程的每个阶段来量化迁移时间,特别是对于脏块迭代。这个问题是有挑战性的,原因有两点。首先,在迁移时虚拟机上运行的应用和不断创造的脏页/块取决于其工作负载以及如何访问内存/存储,所以脏页/块的总数在迁移过程中是一个变量,该变量在迁移完成之前是不知道的。其次,迁移时候的干扰项来源于迁移的虚拟机自身的工作负载和与迁移共享网络或磁盘带宽的其他竞争工作负载,因此迁移速度也是一个不知道的变量。

Pacer的主要功能有两个:迁移

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[148562],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 20元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。