一种虚拟化云中容错任务调度方法_5

文档序号:9235345阅读:来源:国知局
rkflow Generator分别生成包含50、100、200和500个任务的不同大小的任务 组。对于每种大小的任务组,我们基于真实任务分别生成20组。因此,基于真实应用的任 务组共5类,分别有4种任务组大小,又分别有20个实例,共400个依赖任务组。
[0150] 在基于真实依赖任务组的实验中,假设200个依赖任务组按平均间隔时间为4s的 泊松分布达到云系统,任务组截止期的计算方法与上文相似。为反映云系统中任务组的多 样性,我们从上述生成的400个依赖任务组中随机选择任务组。
[0151] 表1基于真实依赖任务组的实验结果
[0巧2]
[0153] 实验结果如表1所示。从表中可W看出,在基于真实依赖任务组的实验中,FASARD 的性能同样优于其他算法。与基于随机合成依赖任务组的实验结果相比,本组实验中任务 完成率要明显高于前一组实验,特别是FASA畑与NCFASA畑的完成率接近100%。该是由于 真实依赖任务组内的依赖关系约束要明显弱于随机合成任务组,在真实依赖任务组中,存 在大量的并行任务,可W通过创建更多的虚拟机并行完成该些任务。然而,eFRD由于缺乏 资源动态调整能力,大量的并行任务无法在有限的计算资源上完成,因而完成率要低于随 机合成任务组中的完成率。该结果说明,资源动态调整机制是提升真实依赖任务组下可调 度性的一种重要机制。
[0154] 由于真实依赖任务组中,各任务的大小要大于随机合成任务组中任务的大小,该 组实验下HAT值高于基于随机合成任务组中的值。可W发现,FASA畑在提高系统资源利用 率方面同样展示了较好的性能。特别是相比于NCFASARD与NBSFASARD而言,资源利用率分 别提升了 45. 0%与25. 5%。该种相比于上组实验更为显著的性能提升同样是由于真实依 赖任务组中存在大量的并行任务。为了处理该些并行任务,系统需要创建大量虚拟机,而当 该些并行任务完成后,该些虚拟机将闲置,并最终被关闭。对于NVFASARD,由于缺乏虚拟机 整合收缩机制,活动主机无法在虚拟机关闭后被及时调整到休眠状态,造成了计算资源浪 费;对于NBSFASARD,随着并行任务数量的增加,各个并行任务完成时间上的差异会更加明 显,缺少任务后移策略会导致大量已完成任务的虚拟机闲置,等待其他并行任务的完成,而 造成计算资源浪费。通过上述实验,我们可W认为,本文所提出的技术、策略与算法可W在 真实应用环境下有效地提高系统的可调度性与资源利用率。
[0155] 综上所述,借助于本发明的上述技术方案,通过建立虚拟化云中实时容错模型代 替传统的PB模型,建立了一种充分利用空闲资源的容错任务调度方法,提高了容错保障下 的资源利用率与容错任务的可调度性。
[0156] 所属领域的普通技术人员应当理解;W上所述仅为本发明的具体实施例而已,并 不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均 应包含在本发明的保护范围之内。
【主权项】
1. 一种虚拟化云中容错任务调度方法,其特征在于,包括: 获取已到达的依赖任务组信息与虚拟化云的物理主机信息; 使用PB模型为所述依赖任务组中的每个任务建立主版本与副版本; 根据所述依赖任务组信息为所述依赖任务组中的每个任务的每个版本均指定一个最 早开始时间与一个最晚完成时间; 根据所述依赖任务组信息激活多个所述物理主机,并在每个被激活的所述物理主机上 划分出多个虚拟机,获取每个被激活的所述物理主机上的每个所述虚拟机信息; 根据依赖任务组中的每个任务的每个版本的最早开始时间与最晚完成时间、以及每个 被激活的所述物理主机上的每个所述虚拟机信息,将所述依赖任务组中的每个任务的每个 版本按照每个被激活的所述物理主机上的任务分布情况在指定的时间段上加载到每个被 激活的所述物理主机上的每个所述虚拟机中; 在每个被激活的所述物理主机上的每个所述虚拟机中按照指定的时间安排运行被加 载的所述依赖任务组中的每个任务的每个版本; 完成依赖任务组的全部任务并返回任务结果。2. 根据权利要求1所述的一种虚拟化云中容错任务调度方法,其特征在于: 所述依赖任务组信息包括任务集合、任务间关系集合与任务截止期,所述任务集合记 载了所述依赖任务组中每个任务的大小,所述任务间关系集合记载了所述依赖任务组中任 意两个任务之间的依赖关系,所述任务截止期为所述依赖任务组的最晚完成时间; 所述物理主机信息包括物理主机集合,所述物理主机集合记载了每个所述物理主机处 理能力的大小; 所述虚拟机信息包括每个被激活的所述物理主机上的虚拟机集合,所述虚拟机集合记 载了每个所述虚拟机所在的物理主机以及每个所述虚拟机处理能力的大小。3. 根据权利要求2所述的一种虚拟化云中容错任务调度方法,其特征在于,所述使用 PB模型为所述依赖任务组中的每个任务建立主版本与副版本,为在所述依赖任务组中依次 指定每个任务,并为被指定的任务创建一个主版本与一个副版本,其中,所述同一个任务的 主版本与副版本重复进行相同的工作。4. 根据权利要求3所述的一种虚拟化云中容错任务调度方法,其特征在于,多个被激 活的所述物理主机之间存在传输时延;根据所述依赖任务组信息为所述依赖任务组中的每 个任务的每个版本均指定一个最早开始时间与一个最晚完成时间包括: 对于任一子任务的主版本,其最早开始时间为其多个父任务中每个父任务的完成时间 加上所述父任务所在物理主机与子任务所在物理主机之间的传输时延之和中的最大值; 对于任一子任务的副版本,其最早开始时间为其多个父任务中每个父任务的完成时间 加上所述父任务所在物理主机与子任务所在物理主机之间的传输时延之和、以及同一任务 的主版本任务长度二者的较大值; 对于任一非子任务的主版本,其最早开始时间为该任务的主版本所在物理主机的所在 虚拟机为执行该任务的主版本而准备就绪的时间与该任务所在的依赖任务组信息到达时 间中的较大值; 对于任一非子任务的副版本,其最早开始时间为该任务的副版本所在物理主机的所在 虚拟机为执行该任务的副版本而准备就绪的时间与该任务所在的依赖任务组信息到达时 间中的较大值; 对于任一任务的任意版本,其最晚完成时间为该任务的截止时间; 其中,一子任务与一父任务为一依赖任务对,所述子任务依赖于所述父任务,所述子任 务必须获得所述父任务的执行结果才能执行。5. 根据权利要求3所述的一种虚拟化云中容错任务调度方法,其特征在于,将所述依 赖任务组中的每个任务的每个版本按照每个被激活的所述物理主机上的任务分布情况在 指定的时间段上加载到每个被激活的所述物理主机上的每个所述虚拟机中,为先将所述依 赖任务组中的每个任务的主版本在指定的时间段上加载到每个被激活的所述物理主机上 的每个所述虚拟机中,并使得所述依赖任务组中的每个任务的主版本尽量均匀的分布在所 有主机上;再将所述依赖任务组中的每个任务的副版本在指定的时间段上加载到每个被激 活的所述物理主机上的每个所述虚拟机中并使得所述依赖任务组中的每个任务的副版本 尽量集中分布到数台副版本分布数量较多的主机上。6. 根据权利要求5所述的一种虚拟化云中容错任务调度方法,其特征在于,将所述依 赖任务组中的每个任务的主版本在指定的时间段上加载到每个被激活的所述物理主机上 的每个所述虚拟机中,并使得所述依赖任务组中的每个任务的主版本尽量均匀的分布在所 有主机上,包括: 选取一个待调度任务的主版本; 将激活主机集合中的所有主机按已被调度主版本数量由小到大排序,分割为多个主机 组,并指定已被调度主版本数量最小的主机所在的主机组为候选主机组; 在所述候选主机组中选取一个虚拟机,使得在该虚拟机上所述待调度任务的主版本能 够在截止期之前被完成,且所述待调度任务的主版本被完成的时间最早; 若未找到前述虚拟机,则继续指定下一个主机组为候选主机组并选取符合前述条件的 虚拟机,直到符合前述条件的虚拟机被找到或所有候选主机组都被指定过; 若所有候选主机组都被指定过但仍未能选取符合前述条件的虚拟机,则调用资源扩展 机制增加计算资源以完成待调度任务的主版本; 若调用资源扩展机制增加计算资源后仍不能完成待调度任务的主版本,则将所述待调 度任务的主版本调度到所述待调度任务的主版本被完成的时间最早的虚拟机上,并返回待 调度任务的主版本不能在截止期之前完成的提示信息。7. 根据权利要求5所述的一种虚拟化云中容错任务调度方法,其特征在于,将所述依 赖任务组中的每个任务的副版本在指定的时间段上加载到每个被激活的所述物理主机上 的每个所述虚拟机中并使得所述依赖任务组中的每个任务的副版本尽量集中分布到数台 副版本分布数量较多的主机上,包括: 选取一个待调度任务的副版本; 将激活主机集合中的所有主机按已被调度副版本数量由大到小排序,分割为多个主机 组,并指定已被调度副版本数量最小的主机所在的主机组为候选主机组; 在所述候选主机组中选取一个虚拟机,使得在该虚拟机上所述待调度任务的副版本能 够在截止期之前被完成,且所述待调度任务的副版本被完成的时间最早; 若未找到前述虚拟机,则继续指定下一个主机组为候选主机组并选取符合前述条件的 虚拟机,直到符合前述条件的虚拟机被找到或所有候选主机组都被指定过; 若所有候选主机组都被指定过但仍未能选取符合前述条件的虚拟机,则调用资源扩展 机制增加计算资源以完成待调度任务的副版本; 若调用资源扩展机制增加计算资源后仍不能完成待调度任务的副版本,则将所述待调 度任务的副版本调度到所述待调度任务的副版本被完成的时间最早的虚拟机上,并返回待 调度任务的副版本不能在截止期之前完成的提示信息。
【专利摘要】本发明公开了一种虚拟化云中容错任务调度方法,其特征在于,获取已到达的依赖任务组信息与虚拟化云的物理主机信息;使用PB模型为依赖任务组中的每个任务建立主版本与副版本;为依赖任务组中的每个任务的每个版本均指定一个最早开始时间与一个最晚完成时间;在每个被激活的物理主机上划分出多个虚拟机,获取每个被激活的物理主机上的每个虚拟机信息;将依赖任务组中的每个任务的每个版本按照每个被激活的物理主机上的任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中;按照指定的时间安排运行被加载的依赖任务组中的每个任务的每个版本;完成依赖任务组的全部任务并返回任务结果。
【IPC分类】G06F9/48
【公开号】CN104951367
【申请号】CN201510422524
【发明人】朱晓敏, 包卫东, 刘忠, 王吉, 纪浩然, 肖文华, 陈超
【申请人】中国人民解放军国防科学技术大学
【公开日】2015年9月30日
【申请日】2015年7月17日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1