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

文档序号:9235345阅读:230来源:国知局
一种虚拟化云中容错任务调度方法
【技术领域】
[0001] 本发明设及云计算领域,特别地,设及一种虚拟化云中容错任务调度方法。
【背景技术】
[0002] 由于计算机系统出错的不可预测性,在设计调度算法时加入对容错性的支持至关 重要。容错调度算法大体上可W分为两类,即静态容错调度和动态容错调度;静态容错调度 在任务提交之前进行调度决策,通常用来调度周期性任务;动态容错调度通常用来调度非 周期性任务,其任务到达时间不确定。
[0003] 目前,在分布式计算环境下主要有两种主要的容错调度手段,即重提交和复制。重 提交是指当一个任务所分配的计算节点出现故障后,该任务被重新提交。采用重提交方式 将会导致一些任务的完成时间推迟,甚至可能会不满足任务的截止期。复制是指通过将一 个任务复制成多个版本,之后把每个复制的版本分配到不同的计算节点,W保证即便在资 源出现故障的情况下,任务仍能在截止期前成功完成。任务被复制的版本越多,系统的容错 能力越强,但该将不可避免地造成大量的资源消耗。因此,采用两个版本的复制方式,即主 版本与副版本模型(primary-backup model,下文中简称为PB模型)成为目前广为采用的 容错手段。
[0004] 为了在保障容错的前提下提高系统可调度性和资源利用率,有不少学者在采用PB 模型时研究了如何通过重叠技术减少系统开销。目前主要有两种的重叠模式;副版本-副 版本重叠化ackup-backup overlapping,简称BB重叠),即多个不同的副版本可在同一 个计算单元上进行重叠;主版本-副版本重叠(primary-backup overlapping,简称PB重 叠),即一个主版本可W和其他任务的副版本在同一个计算单元上重叠。在PB模型中, 副版本可进一步分为两种类型,即被动副版本(passive backup)和主动副版本(active backup)。被动副版本只在其对应的主版本不能成功完成时开始执行,如果主版本成功完 成,副版本将被撤销。尽管上述方法可W减少资源占用,但不能保证所有的任务可在截止期 内完成;相反,主动副版本允许一个任务的主版本和副版本在执行时间上有重叠,义用主动 副版本执行方式可W减小任务错失截止期的概率,但同时资源利用率也会随之降低。现有 技术中已经存在对实时任务进行重叠处理的技术方案,但该些技术方案并未考虑系统的虚 拟化,因此仅适用于传统的分布式系统,并不适合虚拟化云计算环境。
[0005] 近来,也有一些云中依赖任务调度方面的研究。但是该些工作都没有在调度时考 虑系统出错的情况,不能解决云中容错问题。针对现有技术中缺乏云计算环境下容错任务 调度方法的问题,目前尚未有有效的解决方案。

【发明内容】

[0006] 针对现有技术中缺乏云计算环境下容错任务调度方法的问题,本发明的目的在于 提出一种虚拟化云中容错任务调度方法,能够在云计算环境下采用PB模型进行容错任务 的调度,提高资源利用率与容错任务的可调度性。
[0007] 基于上述目的,本发明提供的技术方案如下:
[000引根据本发明的一个方面,提供了一种虚拟化云中容错任务调度方法,包括:
[0009] 获取已到达的依赖任务组信息与虚拟化云的物理主机信息;
[0010] 使用PB模型为依赖任务组中的每个任务建立主版本与副版本;
[0011] 根据依赖任务组信息为依赖任务组中的每个任务的每个版本均指定一个最早开 始时间与一个最晚完成时间;
[0012] 根据依赖任务组信息激活多个物理主机,并在每个被激活的物理主机上划分出多 个虚拟机,获取每个被激活的物理主机上的每个虚拟机信息;
[0013] 根据依赖任务组中的每个任务的每个版本的最早开始时间与最晚完成时间、W及 每个被激活的物理主机上的每个虚拟机信息,将依赖任务组中的每个任务的每个版本按照 每个被激活的物理主机上的任务分布情况在指定的时间段上加载到每个被激活的物理主 机上的每个虚拟机中;
[0014] 在每个被激活的物理主机上的每个虚拟机中按照指定的时间安排运行被加载的 依赖任务组中的每个任务的每个版本;
[0015] 完成依赖任务组的全部任务并返回任务结果。
[0016] 其中,依赖任务组信息包括任务集合、任务间关系集合与任务截止期,任务集合记 载了依赖任务组中每个任务的大小,任务间关系集合记载了依赖任务组中任意两个任务之 间的依赖关系,任务截止期为依赖任务组的最晚完成时间;物理主机信息包括物理主机集 合,物理主机集合记载了每个物理主机处理能力的大小;虚拟机信息包括每个被激活的物 理主机上的虚拟机集合,虚拟机集合记载了每个虚拟机所在的物理主机W及每个虚拟机处 理能力的大小。
[0017] 并且,使用PB模型为依赖任务组中的每个任务建立主版本与副版本,为在依赖任 务组中依次指定每个任务,并为被指定的任务创建一个主版本与一个副版本,其中,同一个 任务的主版本与副版本重复进行相同的工作。
[001引并且,多个被激活的物理主机之间存在传输时延;根据依赖任务组信息为依赖任 务组中的每个任务的每个版本均指定一个最早开始时间与一个最晚完成时间包括:
[0019] 对于任一子任务的主版本,其最早开始时间为其多个父任务中每个父任务的完成 时间加上父任务所在物理主机与子任务所在物理主机之间的传输时延之和中的最大值;
[0020] 对于任一子任务的副版本,其最早开始时间为其多个父任务中每个父任务的完成 时间加上父任务所在物理主机与子任务所在物理主机之间的传输时延之和、W及同一任务 的主版本任务长度二者的较大值;
[0021] 对于任一非子任务的主版本,其最早开始时间为该任务的主版本所在物理主机的 所在虚拟机为执行该任务的主版本而准备就绪的时间与该任务所在的依赖任务组信息到 达时间中的较大值;
[0022] 对于任一非子任务的副版本,其最早开始时间为该任务的副版本所在物理主机的 所在虚拟机为执行该任务的副版本而准备就绪的时间与该任务所在的依赖任务组信息到 达时间中的较大值;
[0023] 对于任一任务的任意版本,其最晚完成时间为该任务的截止时间;
[0024] 其中,一子任务与一父任务为一依赖任务对,子任务依赖于父任务,子任务必须获 得父任务的执行结果才能执行。
[0025] 同时,将依赖任务组中的每个任务的每个版本按照每个被激活的物理主机上的任 务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中,为先将依 赖任务组中的每个任务的主版本在指定的时间段上加载到每个被激活的物理主机上的每 个虚拟机中,并使得依赖任务组中的每个任务的主版本尽量均匀的分布在所有主机上;再 将依赖任务组中的每个任务的副版本在指定的时间段上加载到每个被激活的物理主机上 的每个虚拟机中并使得依赖任务组中的每个任务的副版本尽量集中分布到数台副版本分 布数量较多的主机上。
[0026] 并且,将依赖任务组中的每个任务的主版本在指定的时间段上加载到每个被激活 的物理主机上的每个虚拟机中,并使得依赖任务组中的每个任务的主版本尽量均匀的分布 在所有主机上,包括:
[0027] 选取一个待调度任务的主版本;
[002引将激活主机集合中的所有主机按已被调度主版本数量由小到大排序,分割为多个 主机组,并指定已被调度主版本数量最小的主机所在的主机组为候选主机组;
[0029] 在候选主机组中选取一个虚拟机,使得在该虚拟机上待调度任务的主版本能够在 截止期之前被完成,且待调度任务的主版本被完成的时间最早;
[0030] 若未找到前述虚拟机,则继续指定下一个主机组为候选主机组并选取符合前述条 件的虚拟机,直到符合前述条件的虚拟机被找到或所有候选主机组都被指定过;
[0031] 若所有候选主机组都被指定过但仍未能选取符合前述条件的虚拟机,则调用资源 扩展机制增加计算资源W完成待调度任务的主版本;
[003引若调用资源扩展机制增加计算资源后仍不能完成待调度任务的主版本,则将待调 度任务的主版本调度到待调度任务的主版本被完成的时间最早的虚拟机上,并返回待调度 任务的主版本不能在截止期之前完成的提示信息。
[0033] 同时,将依赖任务组中的每个任务的副版本在指定的时间段上加载到每个被激活 的物理主机上的每个虚拟机中并使得依赖任务组中的每个任务的副版本尽量集中分布到 数台副版本分布数量较多的主机上,包括:
[0034] 选取一个待调度任务的副版本;
[0035] 将激活主机集合中的所有主机按已被调度副版本数量由大到小排序,分割为多个 主机组,并指定已被调度副版本数量最小的主机所在的主机组为候选主机组;
[0036] 在候选主机组中选取一个虚拟机,使得在该虚拟机上待调度任务的副版本能够在 截止期之前被完成,且待调度任务的副版本被完成的时间最早;
[0037] 若未找到前述虚拟机,则继续指定下一个主机组为候选主机组并选取符合前述条 件的虚拟机,直到符合前述条件的虚拟机被找到或所有候选主机组都被指定过;
[003引若所有候选主机组都被指定过但仍未能选取符合前述条件的虚拟机,则调用资源 扩展机制增加计算资源W完成待调度任务的副版本;
[0039] 若调用资源扩展机制增加计算资源后仍不能完成待调度任务的副版本,则将待调 度任务的副版本调度到待调度任务的副版本被完成的时间最早的虚拟机上,并返回待调度 任务的副版本不能在截止期之前完成的提示信息。
[0040] 从上面所述可W看出,本发明提供的技术方案通过建立虚拟化云中实时容错模型 代替传统的PB模型,建立了一种充分利用空闲资源的容错任务调度方法,提高容错保障下 的资源利用率与容错任务的可调度性。
【附图说明】
[0041] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据该些附图获 得其他的附图。
[0042] 图1为根据本发明实施例的一种虚拟化云中容错任务调度方法流程图;
[0043] 图2为根据本发明实施例的一种虚拟化云中容错任务调度方法中,强主版本的消 息或数据传递关系图;
[0044] 图3为根据本发明实施例的一种虚拟化云中容错任务调度方法中,弱主版本的消 息或数据传递关系图;
[0045] 图4为
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1