预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

云环境下基于蚁群算法的动态容错技术研究云环境下基于蚁群算法的动态容错技术研究云环境下基于蚁群算法的动态容错技术研究2019-10-03计算机信息技术云环境下基于蚁群算法的动态容错技术研究0引言云计算是一个热门研究方向,许多企业都相继开发出自己的云端系统进行运算与研究。然而,只要是计算机就会发生错误[1]。在云计算中由于资源的高度动态性和异构性,使云计算平台较传统计算平台出错几率更高[2]。为减少发生错误所造成的损失,需要容错机制保证系统在故障情况下也能持续运行[3]。容错包括故障检测或识别、故障预测和故障恢复3个策略。故障检测或识别通常用于检测故障类型,然后用最合适的方案进行故障诊断。故障预测侧重于根据历史数据预测故障发生的概率,并应用合适的调度策略降低故障概率。故障恢复常用技术有作业复制和检查点[4]。作业复制的优点是不需要重新计算,因为每个作业都会同时分配给不同资源的多个副本,如果其中一个失败,其它作业副本仍然可以处理[5]。但是,这种技术不是很有效,因为作业的副本单独执行可能会占用作业队列。检查点是另一种技术,它要求将运行任务的状态存储在一个已定义的检查点上。如果作业执行失败,则从最后一次保存的状态重新启动任务执行而不是从头开始,这样可极大地节省任务执行时间。针对云计算容错技术,国内外学者进行了相应研究,提出了许多算法:文献[6]提出了周期任务模型的容错调度算法,但是该模型要求所有任务的周期完全相同,文献[7]研究了动态实时调度算法与速率单调算法。文献[8]讨论带固定优先级实时调度算法,这些算法均没有考虑系统的容错问题。文献[9]针对当前计算机系统计算和存储资源丰富但并行文件系统写带宽提高相对滞后的特点,提出了基于内存缓存的异步检查点容错技术。文献[10]提出了一种主备份的容错调度策略用于对宿主机的错误容忍,其使用主从宿主机结构,需要设置多个宿主机作为备份宿主机,对宿主机资源浪费比较严重。文献[11]提出了增强型蚁群优化算法(EnhancedAntColonyOptimization,EACO),根据任务和资源数量引入动态蒸发速率确定信息素蒸发速率,确保每个资源处理的任务数量很多时蒸发率很小,否则蒸发率会很高,实验结果表明控制蒸发率可有效平衡所有资源的负载。文献[12]提出了基于信任的蚁群优化调度算法(Trust-basedAntColonyOptimization,TACO),旨在尽量减少作业完成时间,平衡所有可用资源的工作量,同时引入面向资源的信任机制处理资源故障问题。文献[13]通过ACS算法和有向无环图(DAG)方法相结合,提出了一种新的云计算故障管理算法,该算法可提供有效的资源分配但没有恢复操作。文献[14]提出基于遗传算法(GeneticAlgorithm,GA)的混合蚁群优化算法,以克服元启发式算法不受控制的性质,但会降低云计算分配性能。文献[15]提出在云计算中使用检查点的容错蚁群优化算法(FaultToleranceACO,FTACO),有效利用云计算中的动态资源解决故障和负载平衡问题。文献[16]提出了使用蚁群优化算法进行云计算的容错作业调度以满足服务质量需求,该服务使用资源失败率和基于检查点的回滾恢复策略。在任务执行期间,故障索引管理器将不断与检查点处理程序交互以记录资源故障率,每发生一次故障,都将应用回滚恢复技术以节省执行时间,该算法减少了任务总执行时间,提高了吞吐量和平均周转时间。1系统建模蚁群优化算法是一种生物启发式算法,为求解优化问题和设计元启发式算法提供一个自适应概念[17]。蚁群优化算法在处理调度和负载均衡时非常有效,且在查找最佳路径过程中出现故障时可构建替代路径,图1为蚁群在查找最佳路径期间出现故障最终找到替代路径的例证[18]。流程如下:①通过蚁群1建立最优资源a的路径路线;②资源a执行任务失败,重新调用提交流程;③通过蚁群1建立替代资源b的新路径,并完成任务的提交和处理;④从不同来源的蚁群2选择由前一个蚁群1构造的最优路径分配下一个任务。本文受蚁群寻找最适合资源的最佳路径概念启发,基于此概念进一步扩展,提出基于蚁群算法的动态容错技术(DynamicACS-basedFaultTolerance,DAFT),使蚁群能够在重新提交任务过程中执行资源研究,以确保任何执行失败的任务都被完全处理。此外,进一步改进信息素更新技术,作为一种惩罚失败的资源机制,使其不那么有吸引力以最终减少失败的可能性,并根据资源适当控制任务分配。基于蚁群算法的动态容错算法对每个任务都会生成一个蚁群,根据信息素值选择执行资源。初始化的信息素值首先被启动,以确定所有资源的状态,然后提