一种虚拟化云中容错资源供给方法

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

【发明内容】

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