一种低能耗的独立任务调度与资源配置方法

文档序号:10552769阅读:291来源:国知局
一种低能耗的独立任务调度与资源配置方法
【专利摘要】本发明公开了一种低能耗的独立任务调度与资源配置方法,其特征在于,包括:从任务调度与资源配置通用框架中获取已到达的独立任务信息与虚拟化云中的物理主机信息;根据独立任务信息与物理主机信息创建虚拟机;在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期性的独立任务进行调度,并对虚拟机进行资源配置;完成全部独立任务并返回任务结果。本发明通过使用不确定参数描述并量化不确定性从而进行任务调度与资源配置的技术手段,能够在云计算环境下进行不确定性任务的任务调度与资源配置,降低独立任务调度与资源配置的能耗。
【专利说明】
一种低能耗的独立任务调度与资源配置方法
技术领域
[0001] 本发明涉及虚拟化云领域,特别地,涉及一种低能耗的独立任务调度与资源配置 方法。
【背景技术】
[0002] 任务调度和资源配置是云计算中最重要的研究问题。目前已有一些相关的方法和 算法。在云资源管理中,有许多专注于不同目标的研究。例如,关于节能调度,Cardosa等人 研究了云中能耗节约问题,提出了一个在能量消耗和工作运行时间之间进行权衡的算法。 Deng等人提出了基于李雅普诺夫最优化模型的云数据中心供电系统节能的在线控制算法 SmartDPSS,可以随时间的推移,在任意需求下提供可靠的能量。Singh等人研究了基于集群 的启发式算法FastCEED,采用混合整数规划和复制通信密集型应用的方法来优化能源消 耗。以可靠性为目标,许多研究采用了不同的技术。Wang等人结合云的特点,全面分析了调 度时的约束,并考虑资源的弹性配置,扩展了传统的主/副版本(Pr imary/Backup,PB)模型。 Plankensteiner和Prodan研究了云中的容错问题,通过结合任务复制和任务重新提交等手 段提高工作流任务在截止期内完成的百分比。Zhou等人研究了关于通过使用检查点技术增 强云服务可靠性的问题,其中,把提供相同服务的所有虚拟机的相同部分作为服务检查点, 以减少资源消耗。有些工作研究多重目标。例如,Chen等人把节能和系统不确定性一起作为 调度目标,提出了一个使用主动调度和被动调度相结合的方法来控制不确定性的调度算法 PRS Juan等人专注于执行时间和经济成本两个目标,把调度问题转化为一个连续的合作博 弈问题。
[0003] 从任务类型来看,也有大量对任务调度和资源配置的研究。例如,Rodriguez和 Buyya为基础设施云上的科学工作流(依赖任务)提出了一个资源配置和调度策略,采用粒 子群优化技术来最小化时序约束内的整体执行时间。Mao和Humphrey设计、实施和评价了两 种资源自动伸缩的解决方案,以最大限度地减少云中依赖任务预算约束内的工作时间。相 反,Xiao等人专注于独立任务,研究了基于云的视频服务动态请求重定向和资源配置问题。 Bey等人也针对独立任务,提出了一个云计算中任务调度的平衡启发式算法。此外,一些研 究人员关注实时任务调度问题。例如,Abrishami等人提出了一种两阶段调度算法PCP,最小 化工作流执行消耗并满足任务预期截止期。Hosseinimotlagh等人提出了一个两层任务调 度方法,以在一个实时状态下同时使云供应商和他们的用户受益。才外,也有针对云中非实 时任务调度的研究。例如,Bittencourt研究了混合云中的调度问题,以最小化非实时工作 流的完成时间。
[0004] 为了方便运算,现有技术的数学模型大多假设所有任务的属性能被精确预知,虚 拟机的工作能力也是恒定的,然而实际并非如此。在实际工作中,云中虚拟机的计算能力会 随时间动态变化,任何任务的到达时间、执行时间、完成时间也不是不是确定的值。对于此 类问题,现有技术只能按照保证完成的边界条件带入确定值进行计算,过于严格的边界条 件浪费了大量计算能源。针对现有技术中不确定性任务在现有模型中处理方法欠优化、能 耗过高的问题,目前尚未有有效的解决方案。

【发明内容】

[0005] 有鉴于此,本发明的目的在于提出一种低能耗的独立任务调度与资源配置方法, 能够在云计算环境下进行不确定性任务的任务调度与资源配置,降低独立任务调度与资源 配置的能耗。
[0006] 基于上述目的,本发明提供的技术方案如下:
[0007] 根据本发明的一个方面,提供了一种低能耗的独立任务调度与资源配置方法,包 括:
[0008] 从任务调度与资源配置通用框架中获取已到达的独立任务信息与虚拟化云中的 物理主机信息;
[0009] 根据独立任务信息与物理主机信息创建虚拟机;
[0010] 在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期 性的独立任务进行调度,并对虚拟机进行资源配置;
[0011] 完成全部独立任务并返回任务结果。
[0012] 其中,根据独立任务信息与物理主机信息创建虚拟机包括:根据独立任务信息为 每个独立任务均指定一个任务大小不确定参数;根据独立任务信息激活多个物理主机,并 在每个被激活的物理主机上划分出多个虚拟机,获取每个被激活的物理主机上的每个虚拟 机信息,其中,虚拟机信息包括虚拟机的处理能力不确定参数;
[0013] 独立任务信息包括任务集合与任务截止期,任务集合记录了独立任务大小不确定 参数,任务截止期为独立任务的完成时间不确定参数;物理主机信息包括物理主机集合,物 理主机集合记录了每个物理主机处理能力的大小;虚拟机信息包括每个被激活的物理主机 上的虚拟机集合,虚拟机集合记录了每个虚拟机所在的物理主机以及每个虚拟机处理能力 不确定参数。
[0014] 并且,在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非 周期性的独立任务进行调度,并对虚拟机进行资源配置包括:
[0015] 根据每个独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个 被激活的物理主机上的每个虚拟机信息,将每个独立任务按照每个被激活的物理主机上的 任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中;在每个 被激活的物理主机上的每个虚拟机中按照指定的时间安排运行被加载的独立任务,并计算 物理主机的负载情况与实时利用情况使用资源扩展机制与资源收缩机制调节系统的资源 利用率。
[0016] 并且,根据每个独立任务信息的任务大小不确定参数与完成时间不确定参数、以 及每个被激活的物理主机上的每个虚拟机信息,将每个独立任务按照每个被激活的物理主 机上的任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中, 为根据每个独立任务信息的任务大小不确定参数与每个虚拟机处理能力不确定参数获得 任务执行时间不确定参数与任务结束时间不确定参数,并根据任务执行时间不确定参数与 任务结束时间不确定参数将每个独立任务按照每个被激活的物理主机上的任务分布情况 在指定的时间段上使得成功完成任务最大化与总耗能最小化,并加载到每个被激活的物理 主机上的每个虚拟机中。
[0017] 并且,将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时 间段上加载到每个被激活的物理主机上的每个虚拟机中包括:
[0018] 建立用于处理独立任务的等待队列与紧急队列,并将所有独立任务置入等待队列 与紧急队列中;
[0019] 依照先紧急队列、后等待队列的次序分别选取每个独立任务,获取其任务截止时 间,并根据其不确定结束时间获取最短结束时间与最长结束时间;
[0020] 当该独立任务最长结束时间不超过任务截止时间时,将该独立任务分配至耗能最 小的虚拟机;
[0021 ]当该独立任务截止时间处于最长结束时间与最短结束时间之间时,将该独立任务 分配至当前执行的任务结束时间最小的虚拟机;
[0022] 当该独立任务最短结束时间不低于任务截止时间时,进一步判断该任务处于等待 队列还是紧急队列,当该任务处于等待队列时,创建一个新虚拟机运行该任务;当该任务处 于紧急队列时,放弃该任务。
[0023] 并且,将所有独立任务置入等待队列与紧急队列中,为获取每个独立任务的松弛 度,并将每个独立任务的松弛度与预先设定的松弛度阈值比较,将松弛度大于松弛度阈值 的独立任务置入等待队列中,松弛度小于松弛度阈值的独立任务置入紧急队列中,其中,松 弛度设定为开启一个物理主机并于其上创建一个虚拟机所需要的总时间。
[0024] 另外,根据计算物理主机的负载情况与实时利用情况使用资源扩展机制与资源收 缩机制调节系统的资源利用率。资源扩展机制包括水平扩展与垂直扩展,资源收缩机制包 括水平收缩与垂直收缩;其中,水平扩展为通过创建新的虚拟机增加计算资源规模,垂直扩 展为将主机的未启用处理能力分配到该主机的虚拟机上;水平收缩为通过关闭虚拟机降低 计算资源规模,垂直收缩为降低虚拟机的处理能力。
[0025] 并且,资源扩展机制按以下方式进行:
[0026] 将所有活动主机按照剩余处理能力由大到小排序,并依次指定每个主机;
[0027]分别访问主机上的每个虚拟机,获得待分配任务在每个虚拟机上的最早开始时 间,并根据待分配任务在每个虚拟机上的最早开始时间计算为完成待分配任务每个虚拟机 分别需要的处理能力;
[0028]根据指定主机的未启用处理能力大小判断将未启用处理能力分配到虚拟机能否 是虚拟机的处理能力足够完成待分配任务,若能则使用垂直扩展将未启用处理能力分配到 一个可用的虚拟机上并将待分配任务分配到该虚拟机上;
[0029] 依次指定每台活动主机直到该任务被成功分配或所有活动主机都被指定过,若所 有活动主机都被指定过但该任务仍未被成功分配,则使用水平扩展创建一台新的虚拟机并 将待分配任务分配到该虚拟机上;
[0030] 若使用水平扩展无法创建新的虚拟机,则返回任务分配失败信息。
[0031] 同时,资源收缩机制按以下方式进行:
[0032] 指定休眠阈值、关闭阈值、第一空闲时长阈值与第二空闲时长阈值;
[0033] 当有任务被调度到虚拟机上时,根据第一空闲时长阈值、第二空闲时长阈值与任 务长度,更新休眠阈值与关闭阈值;
[0034] 当虚拟机连续空闲的时常超过休眠阈值时,将虚拟机的处理能力压缩到最小;
[0035] 当虚拟机连续空闲的时常超过关闭阈值时,关闭该虚拟机并将占用的处理能力返 还主机;
[0036] 当虚拟机被关闭且所在主机的负载情况与实时利用情况处于较低水平时,关闭该 主机并将主机上剩余虚拟机迀移到其他主机上。
[0037] 并且,当有任务被调度到虚拟机上时根据第一空闲时长阈值、第二空闲时长阈值 与任务长度,更新休眠阈值与关闭阈值包括:
[0038] 当有任务被调度到虚拟机上时,休眠阈值更新为第一空闲时长阈值与任务长度 (大小)之和、与旧休眠阈值两者中的较大值,关闭阈值更新为第二空闲时长阈值与任务的 主版本长度之和、与旧关闭阈值两者中的较大值;
[0039] 从上面所述可以看出,本发明提供的技术方案通过使用不确定参数描述并量化不 确定性从而进行任务调度与资源配置的技术手段,能够在云计算环境下进行不确定性任务 的任务调度与资源配置,降低独立任务调度与资源配置的能耗。
【附图说明】
[0040] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
[0041] 图1为根据本发明实施例的一种低能耗的独立任务调度与资源配置方法流程图。
【具体实施方式】
[0042] 为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中 的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的 实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域 普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0043]根据本发明的实施例,提供了一种低能耗的独立任务调度与资源配置方法。
[0044]如图1所示,根据本发明实施例的提供的一种低能耗的独立任务调度与资源配置 方法包括:
[0045]步骤S101,从任务调度与资源配置通用框架中获取已到达的独立任务信息与虚拟 化云中的物理主机信息;
[0046]步骤S103,根据独立任务信息与物理主机信息创建虚拟机;
[0047]步骤S105,在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先 权、非周期性的独立任务进行调度,并对虚拟机进行资源配置;
[0048]步骤S107,完成全部独立任务并返回任务结果。
[0049]其中,根据独立任务信息与物理主机信息创建虚拟机包括:根据独立任务信息为 每个独立任务均指定一个任务大小不确定参数;根据独立任务信息激活多个物理主机,并 在每个被激活的物理主机上划分出多个虚拟机,获取每个被激活的物理主机上的每个虚拟 机信息,其中,虚拟机信息包括虚拟机的处理能力不确定参数;
[0050] 独立任务信息包括任务集合与任务截止期,任务集合记录了独立任务大小不确定 参数,任务截止期为独立任务的完成时间不确定参数;物理主机信息包括物理主机集合,物 理主机集合记录了每个物理主机处理能力的大小;虚拟机信息包括每个被激活的物理主机 上的虚拟机集合,虚拟机集合记录了每个虚拟机所在的物理主机以及每个虚拟机处理能力 不确定参数。
[0051] 并且,在创建好的虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非 周期性的独立任务进行调度,并对虚拟机进行资源配置包括:
[0052] 根据每个独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个 被激活的物理主机上的每个虚拟机信息,将每个独立任务按照每个被激活的物理主机上的 任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中;在每个 被激活的物理主机上的每个虚拟机中按照指定的时间安排运行被加载的独立任务,并计算 物理主机的负载情况与实时利用情况使用资源扩展机制与资源收缩机制调节系统的资源 利用率。
[0053] 并且,根据每个独立任务信息的任务大小不确定参数与完成时间不确定参数、以 及每个被激活的物理主机上的每个虚拟机信息,将每个独立任务按照每个被激活的物理主 机上的任务分布情况在指定的时间段上加载到每个被激活的物理主机上的每个虚拟机中, 为根据每个独立任务信息的任务大小不确定参数与每个虚拟机处理能力不确定参数获得 任务执行时间不确定参数与任务结束时间不确定参数,并根据任务执行时间不确定参数与 任务结束时间不确定参数将每个独立任务按照每个被激活的物理主机上的任务分布情况 在指定的时间段上使得成功完成任务最大化与总耗能最小化,并加载到每个被激活的物理 主机上的每个虚拟机中。
[0054]并且,将每个独立任务按照每个被激活的物理主机上的任务分布情况在指定的时 间段上加载到每个被激活的物理主机上的每个虚拟机中包括:
[0055] 建立用于处理独立任务的等待队列与紧急队列,并将所有独立任务置入等待队列 与紧急队列中;
[0056] 依照先紧急队列、后等待队列的次序分别选取每个独立任务,获取其任务截止时 间,并根据其不确定结束时间获取最短结束时间与最长结束时间;
[0057]当该独立任务最长结束时间不超过任务截止时间时,将该独立任务分配至耗能最 小的虚拟机;
[0058] 当该独立任务截止时间处于最长结束时间与最短结束时间之间时,将该独立任务 分配至当前执行的任务结束时间最小的虚拟机;
[0059] 当该独立任务最短结束时间不低于任务截止时间时,进一步判断该任务处于等待 队列还是紧急队列,当该任务处于等待队列时,创建一个新虚拟机运行该任务;当该任务处 于紧急队列时,放弃该任务。
[0060] 并且,将所有独立任务置入等待队列与紧急队列中,为获取每个独立任务的松弛 度,并将每个独立任务的松弛度与预先设定的松弛度阈值比较,将松弛度大于松弛度阈值 的独立任务置入等待队列中,松弛度小于松弛度阈值的独立任务置入紧急队列中,其中,松 弛度阈值设定为开启一个物理主机并于其上创建一个虚拟机所需要的总时间。
[0061] 另外,根据计算物理主机的负载情况与实时利用情况使用资源扩展机制与资源收 缩机制调节系统的资源利用率。资源扩展机制包括水平扩展与垂直扩展,资源收缩机制包 括水平收缩与垂直收缩;其中,水平扩展为通过创建新的虚拟机增加计算资源规模,垂直扩 展为将主机的未启用处理能力分配到该主机的虚拟机上;水平收缩为通过关闭虚拟机降低 计算资源规模,垂直收缩为降低虚拟机的处理能力。
[0062] 并且,资源扩展机制按以下方式运行:
[0063] 所有活动主机按照剩余处理能力由大到小排序,并依次指定每个主机;分别访问 主机上的每个虚拟机,获得待分配任务在每个虚拟机上的最早开始时间,并根据待分配任 务在每个虚拟机上的最早开始时间计算为完成待分配任务每个虚拟机分别需要的处理能 力;
[0064]根据指定主机的未启用处理能力大小判断将未启用处理能力分配到虚拟机能否 是虚拟机的处理能力足够完成待分配任务,若能则使用垂直扩展将未启用处理能力分配到 一个可用的虚拟机上并将待分配任务分配到该虚拟机上;
[0065] 依次指定每台活动主机直到该任务被成功分配或所有活动主机都被指定过,若所 有活动主机都被指定过但该任务仍未被成功分配,则使用水平扩展创建一台新的虚拟机并 将待分配任务分配到该虚拟机上;
[0066] 若使用水平扩展无法创建新的虚拟机,则返回任务分配失败信息。
[0067] 同时,资源收缩机制按以下方式运行:
[0068] 指定休眠阈值、关闭阈值、第一空闲时长阈值与第二空闲时长阈值;
[0069] 当有任务被调度到虚拟机上时,根据第一空闲时长阈值、第二空闲时长阈值与任 务长度,更新休眠阈值与关闭阈值;
[0070] 当虚拟机连续空闲的时常超过休眠阈值时,将虚拟机的处理能力压缩到最小;
[0071] 当虚拟机连续空闲的时常超过关闭阈值时,关闭该虚拟机并将占用的处理能力返 还主机;
[0072] 当虚拟机被关闭且所在主机的负载情况与实时利用情况处于较低水平时,关闭该 主机并将主机上剩余虚拟机迀移到其他主机上。(这里不涉及多版本容错问题,所以没有主 版本副版本问题。)
[0073] 并且,当有任务被调度到虚拟机上时根据第一空闲时长阈值、第二空闲时长阈值 与任务长度,更新休眠阈值与关闭阈值包括:
[0074] 当有任务被调度到虚拟机上时,休眠阈值更新为第一空闲时长阈值与任务长度 (大小)之和、与旧休眠阈值两者中的较大值,关闭阈值更新为第二空闲时长阈值与任务的 主版本长度之和、与旧关闭阈值两者中的较大值;
[0075] 下面根据具体实施例进一步阐述本发明的技术特征。
[0076]我们考虑一个虚拟云,它包含一个实体计算主机集合H= {hi,h2,…}。活动主机集 合由有n个元素的1表示,氣G 对任一主机hk,它的处理能力p k由它的CPU性能MIPS描 述。对于每个主机hkGH,它包含一个虚拟机集合匕={%,%,???%卩丨,每个虚拟机vjkGVk 满足Jjk的准备时间由rjk表示。
[0077]另外,无论任务是什么类型,一些任务属性都可以被建模表示成通用形式。比如, 不管任务类型是什么,每个任务都有一个到达时间。因此,我们得到如下主要通用任务模 型。
[0078] 我们考虑一个任务集合1={^142,-_}。对任一任务1,它可以表示成1={&1, 81, di,pi},其中ai、si、di和pi分别为到达时间、任务大小、截止时间和任务ti的优先权。如果ti是 个非实时性任务,di被设定为,当对ti没有优先权时,pi被设定为0。令Sijk为任务ti在虚 拟机W上的开始时间。类似地,f^k表示任务^在^上的结束时间。令e ljk为任务^在虚拟机 Vjk上的执行时间。此外,Xljk被用来表示虚拟云中虚拟机上的任务映射,若任务^被分配到 主机hk上的虚拟机Vjk上,则Xijk= 1,否则为xijk = 0。另外,Zijk用来表示任务ti是否被成功完 成,右ti成功兀[成,则Zijk = 1,否则Zijk = 0。
[0079] 关于不确定性,在我们的研究中,我们考虑虚拟机vmjk的CPU性能pjk随时间变化, 且不能精确测量任务U大小 Sl。因此,任务U的开始时间、执行时间、完成时间也不确定。 、对@、e^/A、/丨#和.c#被用来表不它们的不确定参数。我们用区间数来描述 参数,如下:当>〇时,沿且~=[/片,<0。不确定执行时间el# 可以被下列式子计算:。 雜=0 _^緣]
[0080] ,4轉齡:(!,
[0081] 然后,不确定结束时间//#可以用下列式子计算:
[0082] i ^ j ~ ^ ?j .i' i' s j - d
[0083] 由于我们考虑实时任务调度,如果任务U的实际完成时间小于或等于其截止期, 即表示成功完成了这个任务。zljk可以由下列式子确定: 、 I U it' UfUik < di) Sftd {xiik = !}),
[0084] ^ \ (K 、otherwise. '' ⑶
[0085]所以,成功完成任务数应被最大化,即:
[0087] 由于节能是调度目标,当调度时,总能耗应被最小化。因此有: P.J…
[0088] min / . / - l>j -1/1) i- (I - kh pj(5》 12 /, e {1,0丨表示在时刻t,主机hj是否活动;k是空闲主机能量消耗率分数;Pj是主机 的整体功耗;u( t)是主机hj在时间t的CPU利用率。 2 我们定义两个队列来处理不确定性一一等待队列WQ和紧急队列UQ。如果在WQ中的 任务变成紧急任务,它将被放入UQ。在本专利中,我们定义松弛度U小于或等于给定阈值Ld 的任务为紧急任务,Ld设定为开启一个物理主机并于其上创建一个虚拟机所需要的总时 间。下述算法1为任务调度算法EASU的伪代码。
[0092]在EASU算法中,用整数来衡量不确定性。.馬^和,/^分别是估计最少完成时间与估 计最长完成时间。最小的(即ftMIN)和最大的/^ ( 即ftMAX)通过检查所有的虚拟机来获 得(见4-9行),如果ftMAX小于或等于ck,表示^可以被成功完成,那么它可以以最小的能量消 耗被分配给一个虚拟机(见10-11行)。如果ftMAX比di大且同时ftMIN小于或者等于diJASU选 择有最小的虚拟机来提升系统的可调度性(见12-13)行。如果ftMIN大于CU,且则 任务t不得不被取消,反之如果说明启动一个主机并创建一个新的虚拟机来运行t 是可行的(见15-18行)。
[0093]由于云的独特的特征一一可伸缩性,资源应该是根据系统负载动态地被提供^因 此,设计了80&16如1^80111'068()和80&16〇0¥111^80111'068()这两个函数。
[0095] 函数scaleUpResources()选择可容纳Vj的主机中能力最小的主机(见3-5行)。如 果没有这样的主机,迀移虚拟机(见7-11行)。在此之后,检查虚拟机^是否可以被添加到原 虚拟机已被迀出的主机上。如果可以,^将被创建并检查在W上任务是否可以在其截止时间 之前完成(见12-15行)。如果没有可行的迀移或任务不能在截止期内成功完成,那么启动一 个主机h n,并在其上创建虚拟机V#。然后,检查任务是否可以在V#上成功完成(见16-20行)。
[0097] 在scaleDownResources()中,如果存在任何虚拟机的空闲时间比预定阈值大,那 么删除该虚拟机(见2-4行)。如果没有在主机上运行的虚拟机,它会关闭该主机(见5-7行)。 如果在SH集合中的一台主机上运行的所有虚拟机可以添加到一个或多个在DH结合中的主 机上运行,将这些虚拟机移到目标主机,然后关闭迀移后的主机。然而,在一个主机上如果 有一个或几个虚拟机无法迀移,那么放弃对此主机上所有虚拟机的迀移(见10-21行)。 [0098]综上所述,借助于本发明的上述技术方案,通过使用不确定参数描述并量化不确 定性从而进行任务调度与资源配置的技术手段,够在云计算环境下进行不确定性任务的任 务调度与资源配置,降低独立任务调度与资源配置的能耗。
[0099]所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并 不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均 应包含在本发明的保护范围之内。
【主权项】
1. 一种低能耗的独立任务调度与资源配置方法,其特征在于,包括: 从任务调度与资源配置通用框架中获取已到达的独立任务信息与虚拟化云中的物理 主机信息; 根据所述独立任务信息与物理主机信息创建虚拟机; 在创建好的所述虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期 性的独立任务进行调度,并对所述虚拟机进行资源配置; 完成全部独立任务并返回任务结果。2. 根据权利要求1所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,根 据所述独立任务信息与物理主机信息创建虚拟机包括:根据所述独立任务信息为每个所述 独立任务均指定一个任务大小不确定参数;根据所述独立任务信息激活多个所述物理主 机,并在每个被激活的所述物理主机上划分出多个虚拟机,获取每个被激活的所述物理主 机上的每个所述虚拟机信息,其中,所述虚拟机信息包括虚拟机的处理能力不确定参数; 所述独立任务信息包括任务集合与任务截止期,所述任务集合记录了独立任务大小不 确定参数,所述任务截止期为所述独立任务的完成时间不确定参数;所述物理主机信息包 括物理主机集合,所述物理主机集合记录了每个所述物理主机处理能力的大小;所述虚拟 机信息包括每个被激活的所述物理主机上的虚拟机集合,所述虚拟机集合记录了每个所述 虚拟机所在的物理主机以及每个所述虚拟机处理能力不确定参数。3. 根据权利要求2所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,在 创建好的所述虚拟机上以节能和不确定性作为调度目标对实时、无优先权、非周期性的独 立任务进行调度,并对所述虚拟机进行资源配置包括: 根据每个所述独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个 被激活的所述物理主机上的每个虚拟机信息,将每个所述独立任务按照每个被激活的所述 物理主机上的任务分布情况在指定的时间段上加载到每个被激活的所述物理主机上的每 个所述虚拟机中;在每个被激活的所述物理主机上的每所述个虚拟机中按照指定的时间安 排运行被加载的所述独立任务,并计算物理主机的负载情况与实时利用情况使用资源扩展 机制与资源收缩机制调节系统的资源利用率。4. 根据权利要求3所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,根 据每个所述独立任务信息的任务大小不确定参数与完成时间不确定参数、以及每个被激活 的所述物理主机上的每个所述虚拟机信息,将每个所述独立任务按照每个被激活的所述物 理主机上的任务分布情况在指定的时间段上加载到每个被激活的所述物理主机上的每个 所述虚拟机中,为根据每个所述独立任务信息的任务大小不确定参数与每个所述虚拟机处 理能力不确定参数获得任务执行时间不确定参数与任务结束时间不确定参数,并根据任务 执行时间不确定参数与任务结束时间不确定参数将每个所述独立任务按照每个被激活的 所述物理主机上的任务分布情况在指定的时间段上使得成功完成任务最大化与总耗能最 小化,并加载到每个被激活的所述物理主机上的每个虚拟机中。5. 根据权利要求4所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,将 每个所述独立任务按照每个被激活的所述物理主机上的任务分布情况在指定的时间段上 加载到每个被激活的所述物理主机上的每个所述虚拟机中包括: 建立用于处理独立任务的等待队列与紧急队列,并将所有独立任务置入所述等待队列 与所述紧急队列中; 依照先紧急队列、后等待队列的次序分别选取每个独立任务,获取其任务截止时间,并 根据其不确定结束时间获取最短结束时间与最长结束时间; 当该独立任务最长结束时间不超过任务截止时间时,将该独立任务分配至耗能最小的 虚拟机; 当该独立任务截止时间处于最长结束时间与最短结束时间之间时,将该独立任务分配 至当前执行的任务结束时间最小的虚拟机; 当该独立任务最短结束时间不低于任务截止时间时,进一步判断该任务处于等待队列 还是紧急队列,当该任务处于等待队列时,创建一个新虚拟机运行该任务;当该任务处于紧 急队列时,放弃该任务。6. 根据权利要求5所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,所 述将所有独立任务置入所述等待队列与所述紧急队列中,为获取每个所述独立任务的松弛 度,并将每个所述独立任务的松弛度与预先设定的松弛度阈值比较,将松弛度大于松弛度 阈值的独立任务置入等待队列中,松弛度小于松弛度阈值的独立任务置入紧急队列中,其 中,所述松弛度阈值设定为开启一个物理主机并于其上创建一个虚拟机所需要的总时间。7. 根据权利要求3所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,根 据计算物理主机的负载情况与实时利用情况使用资源扩展机制与资源收缩机制调节系统 的资源利用率时,所述资源扩展机制包括水平扩展与垂直扩展,所述资源收缩机制包括水 平收缩与垂直收缩;其中,所述水平扩展为通过创建新的虚拟机增加计算资源规模,所述垂 直扩展为将主机的未启用处理能力分配到该主机的虚拟机上;所述水平收缩为通过关闭虚 拟机降低计算资源规模,所述垂直收缩为降低虚拟机的处理能力。8. 根据权利要求7所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,所 述资源扩展机制按以下方式运行: 所有活动主机按照剩余处理能力由大到小排序,并依次指定每个主机; 分别访问主机上的每个虚拟机,获得待分配任务在每个虚拟机上的最早开始时间,并 根据待分配任务在每个虚拟机上的最早开始时间计算为完成待分配任务每个虚拟机分别 需要的处理能力; 根据指定主机的未启用处理能力大小判断将未启用处理能力分配到虚拟机能否是虚 拟机的处理能力足够完成待分配任务,若能则使用垂直扩展将未启用处理能力分配到一个 可用的虚拟机上并将待分配任务分配到该虚拟机上; 依次指定每台活动主机直到该任务被成功分配或所有活动主机都被指定过,若所有活 动主机都被指定过但该任务仍未被成功分配,则使用水平扩展创建一台新的虚拟机并将待 分配任务分配到该虚拟机上; 若使用水平扩展无法创建新的虚拟机,则返回任务分配失败信息。9. 根据权利要求7所述的一种低能耗的独立任务调度与资源配置方法,其特征在于,所 述资源收缩机制按以下方式运行: 指定休眠阈值、关闭阈值、第一空闲时长阈值与第二空闲时长阈值; 当有任务被调度到虚拟机上时,根据第一空闲时长阈值、第二空闲时长阈值与任务长 度,更新休眠阈值与关闭阈值; 当虚拟机连续空闲的时常超过休眠阈值时,将虚拟机的处理能力压缩到最小; 当虚拟机连续空闲的时常超过关闭阈值时,关闭该虚拟机并将占用的处理能力返还主 机; 当虚拟机被关闭且所在主机的负载情况与实时利用情况处于较低水平时,关闭该主机 并将主机上剩余虚拟机迀移到其他主机上。10.根据权利要求9所述的一种低能耗的独立任务调度与资源配置方法,其特征在于, 并且,当有任务被调度到虚拟机上时根据第一空闲时长阈值、第二空闲时长阈值与任务长 度,更新休眠阈值与关闭阈值包括: 当有任务被调度到虚拟机上时,休眠阈值更新为第一空闲时长阈值与任务长度大小之 和、与旧休眠阈值两者中的较大值,关闭阈值更新为第二空闲时长阈值与任务的主版本长 度之和、与旧关闭阈值两者中的较大值。
【文档编号】G06F9/48GK105912406SQ201610292565
【公开日】2016年8月31日
【申请日】2016年5月5日
【发明人】朱晓敏, 包卫东, 周文, 刘桂鹏, 纪浩然, 肖文华, 陈黄科, 王吉, 陈超, 邵屹杨
【申请人】中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1