基于检验点的移动云资源调度策略研究
2019-02-25曹启彦
何 利,曹启彦
(重庆邮电大学 计算机科学与技术学院,重庆 400065)
0 引 言
云计算正在成为引人注目的提供可靠弹性服务和按需服务的范例,它使用不同的模型和抽象层次在互联网上提供服务。云平台将应用程序当作服务提供给用户,其将整个IT基础架构外包给外部数据中心,并允许用户在互联网上托管他们的个人文档。得益于云计算和移动互联网的不断融合发展,催生了移动云计算这一新兴业务模式,尤其是移动终端的广泛普及应用。这种新生的信息服务和应用模式已经得到了各界的广泛关注及研究。由于云资源调度过程中任务发生故障是不可避免的,使得容错问题成为云服务关注的焦点。一方面,越来越多的移动应用程序在云平台上开发,导致了云系统面临或多或少的容错问题;另一方面,以物理资源过载来实现高资源利用率的情况在云系统中非常普遍。根据Google Trace对数万用户的跟踪记录[1]表明,用户对资源的需求量通常大于谷歌数据中心的总容量。这种过载可能会导致物理资源枯竭,最终可能导致低优先级任务被中断或不能执行。容错资源调度建立在冗余技术基础之上,通过有效管理云平台中的软、硬件,利用故障检测、诊断和恢复等方法,使得在云任务执行过程中发生故障的情况下仍能提供有效服务。利用检验点技术对故障进行恢复,是云计算容错资源调度对系统故障恢复的主要手段之一。
检验点技术是指在云任务执行过程中选取一个点,并在此处保存系统最新状态,它是任务发生故障前的一个稳定(正确)状态。在容错资源调度系统中采用某种策略部署检验点,把资源调度过程中正确状态保存到稳定存储器中,如果在随后的任务执行过程中检测到故障事件,系统就向后回卷到之前最近一个检验点处,恢复故障后重新继续执行直至任务完成。但云计算中的检验点需要处理巨量虚拟机镜像的保存和恢复工作,检验点的部署和调度需要很大开销,这在采用虚拟技术的云服务系统中尤其明显。因此,本文针对不同云计算系统中检验点的部署和优化调度策略问题进行了深入研究。
1 检验点技术原理
检验点技术是提高云服务可靠性的常用手段,它是一种基于时间创建正确系统状态副本的容错资源调度策略。考虑到云平台中的节点可能会发生故障,这个时候某些云任务可能执行到一半但没有提交。当该节点重启时,需要恢复到一致的状态,即要么提交整个任务,要么回滚。为了保证云系统的一致性,其中的某些操作需要持久化到磁盘,如果每次操作都随机更新磁盘的某个数据块,系统性能将会很差。因此,通过云系统采用日志记录每个任务的操作并在内存中执行这些操作,内存中的数据定期刷新到磁盘,实现将随机写请求转化为顺序写请求。但是,如果所有的数据都保存在内存中,那么可能会出现2个问题:①故障恢复时需要回放所有的日志,效率较低。如果日志较多,故障恢复时间是无法接受的;②内存不足。即使内存足够大,存储系统往往也只能够缓存最近较长一段时间的更新操作,很难缓存所有数据。
因此,需要将内存中的数据定期转储到磁盘,这种技术称为检验点技术。为最小化因任务故障造成的损失,其在安全设备中周期性地将内存中的操作以某种易于加载的形式(检验点文件)转储到磁盘中,并记录检验点时刻的日志回放点。倘若发生故障,则只需要回滚到最近的检验点恢复任务,从而避免了任务从头开始执行。检验点技术原理如图1所示,其中,Ckpt表示检查点。
图1 检验点技术原理图Fig.1 Principles of checkpoint technical
由于采用检验点技术对故障进行恢复,不需要考虑故障的产生原因等因素,无论是硬件故障还是软件故障都可恢复,因此得到了广泛应用。基于检验点技术的容错资源调度能够将故障对云平台造成的影响降到尽可能低,使云任务自动恢复到正常工作状态继续运行下去直至任务完成。该技术虽然可以有效减少资源的浪费,但与此同时也受到了相应的开销限制,例如:将检验点写入稳定存储的时间开销、对云任务进行回卷恢复的时间开销以及最后一个检验点与任务故障点之间的时间开销等。因此,在云平台中使用检验点技术进行容错资源调度是必要的,其中根据不同的故障概率分布设置相应的检验点布局成为研究焦点。
2 基于检验点技术的容错资源调度
近几年,学者们针对云计算中基于检验点技术的容错资源调度问题进行了较多研究。检验点技术根据不同的故障概率可以分为以下2类:假设故障发生概率服从泊松分布的检验点技术和无预设故障概率分布的检验点技术。
2.1 检验点技术的分类
2.1.1 故障概率服从泊松分布的检验点技术
近年来,研究人员研究了一系列云计算环境下的最优检验点/重新启动模型。在一些实际系统中常常通过假设故障发生的概率服从泊松分布来设计检验点部署策略,如图2所示。
假设每隔t时间单位设置一个检验点,每个检验点的成本为ε。当故障发生时,系统通过卷回到最近一个检验点状态进行恢复,预计恢复时间为r。在系统恢复正常后继续执行任务,直至任务完成为止。虽然大部分时间系统的运行是稳定的,但任务发生故障是不可预测的,经众多云资源调度故障事件发生的数据分析可以发现,故障发生的概率大多服从泊松分布,以及在某些小时内系统中故障事件发生的概率明显高于其他时候。因此,为提供优化的检验点放置策略,研究人员们把节点发生故障的概率设置为一个服从泊松分布的问题,并且将检验点间隔根据经验或者惯例设置为固定值(如每小时一次)等一系列合理的假设,确定了不同云计算系统中的检验点容错模型。
经典的杨氏检验点策略为最小化因发生故障而导致的额外时间开销,首先假设系统发生故障的概率服从泊松分布;然后根据平均故障时间和自上一个正确检验点以来直到故障发生的时间,计算出检验点的最佳间隔。然而,建立检验点并对故障进行恢复是需要额外成本的,为了确保云任务发生故障时能够以相对较低的容错开销对任务进行恢复,文献[2-4]提出将发生故障的概率假设为服从泊松分布,通过求解Markov模型中进程状态转移概率和权重来对信息进行预测,并据此得出期望的检验点间隔时间。此类方案能够以最小容错开销计算出检验点回卷恢复策略中的最佳检验点间隔。
在云任务执行过程中发生故障不仅会产生额外开销,系统的可靠性也将受到影响。为了兼顾成本开销和系统可靠性这2个因素,Dimitriou[5]提出在任务发生故障、退化和修复的情况下,利用不可靠的重试队列进行性能分析,尝试用最小的成本开销为用户提供高可靠性的服务。但当时作者并没有选择采用检验点技术进行研究,后来Dimitriou[6]开始考虑使用重试队列构建容错系统与检验点模型,并提出采用检验点技术来实现云平台中成本及可靠性优化的策略。首先假设故障发生的概率服从泊松分布;然后将每个云任务的服务时间分解为N个模块,并在每个模块的结尾处建立一个检验点。此外,该方案还在云服务中添加了定时器,以保证在服务空闲期停止其组件来节省电力成本。
随着云计算的蓬勃发展,云服务提供商们逐渐意识到他们不仅需要满足用户多样化的需求,还被要求为用户提供高度可靠的云服务。为此,Zhao等[7]提出一种可提供弹性可靠性优化的方法,该方法假设主机(节点)的故障服从泊松分布。但与其他方法不同的是,作者采用点对点技术在云中边缘节点设置检验点。利用对用户个人需求的评估和数据中心的总可用资源,使用双分解的分布式算法[8]进行联合优化提高服务的可靠性水平,该文献提出的方法在提高资源利用率的同时还增加了运营商的收入。
还有一些基于检验点的容错机制研究,例如文献[9]中把检验点的设置作为全局参数。但这样做忽略了检验点的设置应该与系统资源的动态变化相结合,检验点的设置和布局应该是一个动态变化的过程。
2.1.2 无预设概率分布的检验点技术
通过将故障概率假定为服从泊松分布的方式来设置检验点间隔的检验点技术,是对所有服务请求利用资源冗余实现了相同的“预设”可靠性。这些研究内容中冗余资源的布局是静态且有预设条件的,如果任务执行过程中的内存占用量发生变化或者网络可达性变化,均会导致故障的概率分布发生变化,检验点成本也可能会在执行期间发生变化。因此,这些检验点布局不能随着服务的增加而动态调整,当服务需求数量激增时,冗余资源的数量将呈现指数增长的趋势,造成资源的浪费和服务供应商的成本增加。
为了动态满足用户需求并同时提供高可靠性服务,文献[10-11]使用基于节点而不是服务器的点对点技术,并综合考虑建立检验点的成本、系统可靠性以及历史数据等因素来进行无预设概率的模型优化。这种设置检验点的方案能够减少任务执行时间并提高系统性能。
考虑到云计算的性质,假如云任务发生故障时云中已没有空闲虚拟机,则该任务必须等待有空闲虚拟机或者某些资源可用时才能利用检验点技术进行卷回恢复。Di[12]试图在不预设故障概率分布概率情况下设置检验点,并对检验点的间隔进行了深入研究,设Te表示系统中执行完一个作业中的所有任务所需时间,C表示检验点成本,E(Y)表示执行任务期间发生的故障事件。从而推导出适用于云任务中具有不同故障概率分布的最佳检验点间隔x*表示为
(1)
由于任务的故障概率分布还取决于其优先级,即当且仅当在先前的最后一个检验点间隔期间改变了任务平均故障数(mean number of failures, MNOF)才需要重新计算下一个检验点位置。因此,该策略中还使用历史数据来统计平均故障数MNOF,以此来实现对云任务不作任何故障概率预设。
根据研究[13]表明,故障在局端规模系统上具有时间局部性。由此,Wan等[14]利用故障的时间局部性来识别检验点间隔,通过刻画检验点时间曲线并增加检验点的间隔时间使其曲线与故障曲线具有相同斜率来确定最佳检验点间隔。并利用突发缓冲区和并行文件系统来存放检验点数据,不仅可以得出了最优检验点间隔,还可以减少由系统故障引起的计算时间浪费,使其不会超过突发缓冲区的写入限制。Meroufel等[15]还在此基础上提出了一种基于时间的自适应协调检验点技术,解决了云任务在不同的虚拟机(virtual machine, VM)之间通过消息传递接口通信的问题。该技术根据估计的孤儿消息和转接消息出现时间间隔,选择一个VM作为启动器。在这段估计的时间间隔内,该技术可以得到最佳检验点间隔,从而减少了任务执行总时间。
针对具有动态保存和检索时间不固定的检验点模型[16-17],Levitin等[18]进行研究提出了一种动态检验点策略,自上一个检验点完成以来,系统进行再执行πj=(n(j,k)+1)个操作后设置一个新的检验点,其中,x表示故障发生后还需执行的操作数,(n(j,k)+1)表示直到任务完成需要执行的检验点数。该策略仍然是动态地确定检验点设置频率,可靠性优于检验点间隔服从固定概率的布局策略。
寻求成本和可靠性折中的机制或工具来降低成本同时保持高可靠性,对用户来说非常重要。为此,Yi等[19]提出了一种在亚马逊弹性云(elastic compute cloud,EC2)中使用检验点并迁移资源的机制来最小化资源配置的成本和波动。在此基础上,Mehta等[20]根据云环境下资源的动态变化特性,设置了一个检测器来检测任务故障,当检测到某节点发生故障时立即保存状态,然后将任务卷回到尚未发生故障的云系统中的另一个节点。这种方法降低了任务发生故障后的开销和执行时间。
2.2 不同检验点策略的比较和分析
本文将基于检验点技术的容错资源调度方法归为2类:将故障概率假定为服从泊松分布来设置检验点的容错资源调度方法和不作故障概率预设设置检验点的容错资源调度方法。现将这些方法作比较和分析,如表1所示。
表1 基于不同检验点技术的容错资源调度策略的比较Tab.1 Comparisons of fault-tolerant resource scheduling strategies based on different checkpoint technology
续表1
3 移动云中的容错资源调度
3.1 移动云
移动云计算是云计算与移动互联网不断融合的产物,近年来其得以飞速的发展。它继承了云计算的应用动态部署、资源可扩展、多用户共享以及多服务整合等优势,许多新服务和应用模式也因它而生[21]。为满足用户日益复杂的需求,种类繁多的移动应用在移动云平台中被开发。但与此同时,移动云计算也有底层设备电池容量、计算能力、存储容量有限,依赖关系不固定以及网络不可靠等问题。这些问题导致了移动云平台中应用程序容易发生故障。因此,移动云为用户提供云服务时,需要考虑以下问题。
1)移动设备对资源的获取。云资源遍布全世界并为用户提供各种不同的服务。但移动云需要在移动设备所在区域或临近区域为用户提供可靠云服务。这将要求移动云能够管理海量位置信息,并提供精准的定位服务。特别是对室内地图进行现场调查并构图需要耗费大量资源。目前,Dong等[22]尝试了收集移动用户拍摄的照片建立3D点云,并由此在云端服务器上构建室内地图模型。此后,Dong等[23]进一步利用基于密度的冲突检测技术对室内地图模型进行改进,提高了其中障碍物位置的信息完善,并且采用群智建立初始阶段的定位。
2)移动设备与移动云平台的连接。移动云计算允许将计算密集型应用程序的执行从资源约束的移动设备卸载到更强大的计算资源,即远程云端服务器或云端。但移动设备无法检测到远程云端服务器或云端是否出现故障,并且远程云计算资源的连接也可能因为移动设备电池能量不足或网络断开而突然丢失。此外,移动设备的网络地址也可能随时间推移而改变。这些因素均会导致用户与移动云平台的连接出现故障,也就是说,会出现网络不可靠以及依赖关系不固定问题。目前,Chen等[24]结合移动云计算和情感计算提供个性化的情感感知服务,提出了一种针对于资源密集型移动应用的感知管理新模型。这种模型能够在动态的网络环境下,通过实现移动设备与云端服务器之间资源的稳定连接来优化用户体验。Saad等[25]针对在网络和移动云平台2个层次上,始终保持移动用户拥有良好的网络连接以及应用程序能够高性能执行的问题进行了深入调查和研究。他们提出采用预测用户需求,尽量减少不必要的切换和服务迁移,以保证移动设备与移动云平台的稳定连接。
3)移动云提供远程资源的特性。移动云计算通过在远程云服务器上执行移动应用程序的方式来最大限度地减少执行时间。当移动云提供远程资源时,需要并行化处理;在应用程序部件远程执行之前,还需要将这些部件先迁移到云平台中。这种资源迁移对于交互式和实时应用程序来说是非常有效的减少响应时间的手段。然而,这些操作将产生迁移的开销。并且在处理应用程序卸载或节能问题时,也需要考虑迁移的开销。为此,Islam等[26]提出了一种用于异构移动云计算系统的遗传迁移算法。结合云服务器的负载均衡和用户移动性因素为移动虚拟机选择最佳云服务器。这种算法能够最大限度地减少虚拟机迁移开销,以此达到减少任务执行时间的目的。
4)移动终端设备的电池能耗。由于移动终端设备的电池容量有限,移动应用与移动终端设备电量的矛盾愈发明显。移动应用的耗电量已成为良好用户体验的阻碍。虽然研究者们不断地研发更大容量的电池,但采用控制技术节省应用的能量消耗,减少因电池不足而造成的故障,才是用户和服务提供商更加期望的双赢局面。当前,Tang等[27]提出了一种适用于移动设备功耗调度的实时闭环控制系统的方案,其能够在不需要任何特定的功率传感器的情况下,使处于稳定状态下的多媒体系统的能耗尽可能低。此外,Zhang等[28]将协同任务执行制定为约束最短路径问题,针对具有线性拓扑结构的移动应用在移动云中迁移的情况,他们提出采用动态规划的方式进行任务迁移,这种方案根据通信信道的状态以及任务的计算量和数据量来协同制定迁移方式,不仅能够保障应用执行时间限制,而且可以最小化移动终端的电池能耗,延长电池寿命。
5)移动云资源的安全性与用户隐私。移动云为用户提供远程服务时,需要保证资源的安全性。并且这些远程资源可能同时被多个用户使用,移动云还需要提供用户的隐私保护,例如用户身份信息、兴趣爱好、地理位置等。近年来,Thayananthan等[29]提出了在安全大数据环境中通过量子加密技术对数据进行加密的方案;Fujiwara等[30]用量子密钥对以太网的数据流进行了加密,并提出量子密钥应该存储在智能卡中以实现移动用户采用量子加密技术进行通信;Han等[31]提出基于量子键和距离HKQ的安全认证协议,通过近场通信技术将量子密钥传输到可靠的移动用户安全存储区域,使得移动用户可以通过量子密钥访问移动云平台中的数据,以实现对移动用户数据和隐私的保护。
由此可见,普通Web云与移动云的服务质量(quality of service,QoS)度量指标有所差异,如图3所示。
图3 QoS度量指标图Fig.3 Metrics of QoS
由于普通Web云与移动云的服务质量评价指标不同,移动云中的容错资源调度策略也所区别于普通Web云。其不仅需要有效管理云系统中的软、硬件,还需要考虑异构数据中心之间服务资源的相互调度协调问题。因此,移动云中的容错问题值得广泛关注。
3.2 移动云中的容错资源调度
随着移动互联网和便携式设备如智能手机,平板电脑以及可穿戴式智能设备的飞速发展,越来越多的云服务开始由移动云计算系统提供给用户[32-33]。移动应用也开始向医疗、教育、市政建设等领域发展。但移动云服务中故障仍是客观存在的,容错问题不容小觑。而移动云计算中存在多种故障类型,大致可以分为网络故障,物理故障,任务执行过程中的故障以及移动云服务到期故障等[34-35]。
如今,移动云计算的资源调度主要研究领域是通过更好的应用程序分析和基于多个因素的更准确的卸载决策,以减少移动设备的能耗和改善用户体验。但在大多数情况下,均未充分考虑云端资源使用问题。EMCO[36]是一个移动云计算(mobile cloud computing, MCC)框架,Flores等在设计它的时候考虑到了云资源的使用,使之能够从系统用户收集有关卸载过程的详细信息。EMCC框架还包含云中的自动缩放机制,可以监视系统状态并在必要时水平放大。它还提供了一个能存储先前计算结果的缓存空间,并可以减少执行时间和提供容错能力。EMCO是移动云中考虑了可扩展性和多租户的第一个资源调度解决方案,其能够确保占用较低资源以及获得高QoS。但是,本文没有详细讨论资源使用优化问题。而Nawrocki[37]提出的一种移动云环境中的新架构,即多用户共享一个虚拟机。这种策略是通过启用多租户来减少对资源的需求以及保证较低的成本。
由于移动云的各类接入网络并不能保证其完全安全。因此,在非安全环境中服务的应用,极其容易发生大规模的故障或损害。这将导致网络中多个节点同时发生故障且会将网络划分为不相交的分区。针对于整体网络的连通性问题,Lee等[38]通过建立双连接的节点分区拓扑,并采用具有确定容错能力的连通性恢复(CRAFT)算法,计算出在故障发生节点的附近形成最大的内部简单循环。然后再部署中继节点通过2个非重叠路径将每个外部节点连接到循环中。这种方案不仅能够最小化分区间距及使用最少数量的中继节点,而且解决了网络的连通性问题。
在移动网络环境中存在拓扑结构具动态性、稳定存储空间有限性及缺少固定基础设施等问题,为了解决这些问题,Mansouri等[39]采用一种自适应,协调和非阻塞的检验点策略,通过保持进程间的确切依赖关系和对正常消息捎带检验点序列号的方式,将无用检验点的数量减少到最低,并且能够减少控制信息所需的开销。
由于移动设备的状态信息是动态变化的,倘若将移动设备视作移动云中的资源,则这种资源被认定为不稳定的。因此,Park等[40]提出了一种基于马尔科夫链模型的监测模型,该模型分析和预测了资源状态。随着提出的监控技术和状态预测,移动云系统将能够更好地抵御由移动设备的波动引起的故障问题。该技术通过对过去的状态模式进行建模,从而对移动设备的未来状态进行预测来减少移动设备的波动性,有效提高了系统的可靠性。
移动云计算的广泛应用使得许多敏感数据需要通过移动互联网传输,重要数据的加密和移动用户的隐私问题已经成为移动互联网应用中的重要挑战。然而,在移动云服务中不仅会遭受普通Web云中的安全威胁,还会因为安全软件功能不完备等原因面临诸多专门针对移动终端的安全威胁,比如恶意代码会造成信息被窃取、使用不安全的接入点接入互联网等。特别是在Android平台上,移动恶意软件严重威胁网络安全和隐私。据此,Yuan等[41]设计了Android系统中基于机器学习的恶意软件检测方法,利用从Android应用程序的静态分析和动态分析中提取的超过200个特征来进行恶意软件检测,精确度高达96%。但对于数据传输中的安全和隐私的认证问题,传统模式是采用第三方安全监控机制。这些机制依赖与复杂且资源密集的机制来确保其安全性,它们不适用于移动云计算,移动云环境下需要更轻量级的认证方法。为此,Khan等[42]通过对现有的端口敲入认证方法进行分类评估发现,端口敲入方式为解决移动云中的安全问题提供了轻量级的应用层解决方案。并且得益于它提供的一个合适的安全层,确保了SMD和MCC之间的真实通信。但由于端口敲击过程的短距离分配容易受到中间人攻击,远程分配涉及服务器节点上缓冲区管理的开销。Khan等还提出可以采用MCC的虚拟化来解决这个问题。
为了支持用户移动性,提高用户QoS以及共享云服务,Choi等[43]提出在移动云计算中使用CAN进行容错。该调度算法由恶意用户过滤、云服务传递、QoS配置、设置副本和均衡负载组成,并以此对移动设备产生的故障进行容错。不仅考虑了用户QoS需求,而且还允许云环境中的各友好用户之间共享云服务,无需进一步认证。此策略优化了任务执行时间和可靠性。
移动应用已经向医疗领域迈开步伐,远程医疗保健系统(remote healthcare system, RHS)也正在被开发。医疗系统中的数据文件等资源常由多个医护人员、病患以及政府机构有权限的共享,这就发生了多个用户同时访问相同资源的情况。文献[44-45]中提出使用基于检验点的多版本并发控制策略,以在应用程序域中实现非阻塞进程同步。该策略能保证病患历史数据的一致有效性,以及在病患数据并发更新时创建新的检验点。这种策略不仅使得从检验点访问数据时有较小的时间开销,而且还有效提高了远程医疗保健系统的吞吐量及资源利用率。
可穿戴式设备也已经可用于监控大众的健康状况,并将收集的健康数据上传到云服务器进行共享,从而有助于电子医疗记录(electronic healthcare records, EHR)系统的开发。然而,在广泛应用EHR系统之前,必须解决隐私和效率问题。患者最关心的是电子病历的保密问题,但与此同时,可穿戴式设备通常在一定程度上受资源限制。据此,Liu等[46]提出了一种细粒度的EHR访问控制方案。该方案允许EHR所有者可以在知道EHR数据和访问策略之前生成离线密码,以执行大多数计算任务。此外,当EHR数据和访问策略变为已知时,在线阶段可以快速组合最终密文。该方案还允许以线性秘密共享方案编码的访问策略,并通过广泛的性能比较和仿真结果表明,Liu的解决方案非常适合移动云计算。
3.3 未来可用于移动云中的检验点技术
移动云计算系统资源管理是移动云计算技术领域的重要研究内容。由于移动云中资源故障是客观存在的,而有效的容错资源管理不仅能提升资源的利用率,也能够有效地保障系统的可靠性。因此,采用经典的检验点技术对移动云进行容错资源调度具有重要的理论意义和应用价值。鉴于移动云环境受到移动设备存储容量、通信带宽、访问延迟、服务可靠性及性价比等因素的限制,使得大多数用户选择同时使用多个云服务供应商提供的服务。而当前的多云协作体系架构,使得移动终端必须要维护多份数据副本,不但增加了移动终端的计算量和通信带宽的成本,而且无法满足多用户数据在多云中同步和共享。
移动云中基于检验点的容错资源调度与普通Web云中的容错资源调度有所不同。普通Web云计算中检验点技术大都采用虚拟机监控器统一协调检验点之间的虚拟镜像传输和检验点的恢复策略,对核心交换设备和虚拟机监控器提出了巨大的通信瓶颈挑战。而移动云计算环境下还需要考虑移动终端性能缺陷,以及在满足用户需求的同时还需提升云服务的可靠性水平和尽可能的节省能耗。据此,本文通过深入调查和分析移动云中容错资源调度策略,提出了以下基于检验点技术未来可能的研究方法。
1)采用人工势场方法为基础的布局定位模型表示方法。通过建立不同影响因素下的引力势场和斥力势场以及总势场叠加模型,把检验点布局定位问题转化为在人工势场中搜索势能极值位置问题。采用栅格模型对布局检验点的环境信息进行描述,得到布局检验点的状态数字势场模型,并设计基于改进连续智能算法的检验点布局定位算法。
2)采用排队论理论构建适用于云计算容错需要的检验点布局法,通过把云计算节点抽象为某一个特定的图论结构,采用图嵌入方法研究检验点虚拟镜像传输的通信瓶颈,并以此为基础建立旨在优化虚拟镜像传输延时性能的目标函数,提出一种基于模拟退火算法的检验点布局算法。
3)考虑到通信带宽的影响,还可以采用端到端的虚拟机镜像传输存储,对检验点进行局部调度,减小访问延迟。并通过对拥塞度、传输时延等参数的权重调整,实现基于检验点技术的弹性可靠服务。
4 结 论
在当今的学术界和工业界中,已有不少国内外专家针对基于检验点的移动云容错资源调度问题进行研究并取得了大量研究成果。本文中,首先针对云环境下任务执行过程中发生故障的不可避免性和不可预测性,重点讨论了基于不同检验点技术的容错资源调度方法。假设故障概率服从泊松分布的检验点部署方法,虽有一定的动态适应能力,但并不能很好地应用在实时动态系统中。无预设故障概率分布情况下的检验点部署方法是针对不同的系统资源,自适应地进行检验点部署,这类检验点布局方法,能够有效提高资源利用率和减少任务执行时间。由于在移动云环境中需要考虑底层设备的局限性、智能均衡负载以及降低管理成本问题。因此,本文在最后指出了未来可能的研究方法:可以采用人工势场方法为基础并结合栅格模型对检验点部署方式进行改进;可以采用排队理论为基础结合模拟退火算法进行检验点布局;还可以采用端到端的虚拟机镜像存储方式对检验点进行局部调度,以实现基于检验点技术的弹性可靠服务。