基于时间约束条件下的云计算关联任务调度方法和装置制造方法

文档序号:6548679阅读:180来源:国知局
基于时间约束条件下的云计算关联任务调度方法和装置制造方法
【专利摘要】本发明公开了一种基于时间约束条件下的云计算关联任务调度方法和装置,所述方法包括以下步骤,首先,使用构建DAG图的方法来表示关联任务组中任务之间的关联关系;然后,采用将DAG图分层的思想,将处于同一层中的非关联任务划分进同一任务集合;接着,将硬件资源虚拟化,建立虚拟机集群以提供任务执行的场所;最后,采用基于时间约束的分层调度方法,将每一层任务集合中的任务调度至最合适的虚拟机中执行,以保证任务按时完成。本发明采用的技术方案有效解决了现有技术中云计算关联任务在调度过程中出现执行延迟的问题,能够最大化的减少任务的延迟情况发生,保证任务在用户期望的时间内完成,同时实现了虚拟机资源的有效利用。
【专利说明】基于时间约束条件下的云计算关联任务调度方法和装置
【技术领域】
[0001]本发明涉及一种云计算关联任务调度方法和装置,具体涉及一种基于时间约束条件下的云计算关联任务调度方法和装置。
【背景技术】
[0002]云计算技术是当前国内外计算机技术研究的重点和前沿领域,云计算将动态可伸缩的虚拟化资源以服务的方式提供给用户,能够有效地降低用户硬件开销,并以较低的成本获取高质量的服务。
[0003]虚拟化技术的发展为云计算提供了很好的解决方案,通过将硬件资源虚拟化,形成多个独立的虚拟机集群,用户通过申请的方式使用虚拟机,能有效的节省硬件资源的开销,提高资源的有效利用并且节省了管理的成本。云计算任务调度的主要作用就是将用户提交的任务申请通过一定的方法分配给虚拟机,由虚拟机完成用户提交的任务。
[0004]在用户提交的任务中,有些任务并非是单个的独立任务,而是具有执行次序先后关系的关联任务,这些关联任务在进行任务调度的过程中不能同时被分配至虚拟机,需要等待自己的前驱任务完成后才能被调度,在这种关联任务调度的过程中,一旦某个任务的执行出现延迟,就会影响后继任务的执行,从而影响整个关联任务组的完成时间。目前现有的关联任务调度方法大多只是从减少任务之间的通信成本考虑问题,而对于出现任务延迟的情况并没有太多的解决方案。
[0005]当用户提交了一组关联任务时,如何最大化的减少任务的延迟情况发生保证任务能够在用户期望的时间内完成,寻找更多的并行任务调度至合适的虚拟机以达到资源的有效利用成为本发明所要解决的首要问题。

【发明内容】

[0006]发明目的:本发明的目的是为了解决关联任务在调度过程中出现任务延迟的情况下,在任务调度过程中,由于各个任务是在执行次序上相互关联的,即所有的任务都有前驱或者后继任务,当某个任务在执行过程中出现延迟时,后继任务的执行必定受到影响。如何最大化消除这种影响并使虚拟机资源得到有效利用是本发明所要解决的重要问题。
[0007]技术方案:一种基于时间约束条件下的云计算关联任务调度方法,包括以下步骤:
[0008](I)将关联任务组中的所有任务按照其执行的先后次序建立DAG图(无回路有向图);
[0009](2)根据所述步骤(I)中构建完成的DAG图将所有任务按层次划分为不同的任务集,为每层任务集限定时间约束;
[0010](3)将硬件资源虚拟化,构建虚拟机集群;
[0011](4)根据每层任务集的时间约束情况将任务调度至虚拟机集群中相应的虚拟机。
[0012]在本发明所述的关联任务中,任务之间的关联性体现在任务的执行次序上,即各个任务都有其前驱或者后继任务,只有当每个任务的直接前驱任务完成时,其后继任务才能开始执行。所述步骤(1)中建立DAG图的具体过程为:
[0013](1.1)定义G= {T, A,C}为描述关联任务组的三元组,其中,T为关联任务图中所有的任务集合,A为任务之间的执行次序的集合,C为任务之间通信开销的集合(每个任务在执行之前所需的数据是已知的,通信开销指任务之间的数据传输量与系统网络带宽的比值),当两个具有直接关联关系的任务被分配至同一虚拟机上执行时,任务之间不需要进行数据传输,因此其通信开销为0,当两个具有直接关联关系的任务被分配至不同的虚拟机执行时其通信开销可由下式计算:
[0014]
【权利要求】
1.一种基于时间约束条件下的云计算关联任务调度方法,其特征在于,包括以下步骤: (1)将关联任务组中的所有任务按照其执行的先后次序建立DAG图; (2)根据步骤(1)中构建完成的DAG图将所有任务按层次划分为不同的任务集,为每层任务集限定时间约束; (3)将硬件资源虚拟化,构建虚拟机集群; (4)根据每层任务集的时间约束情况将任务调度至虚拟机集群中合适的虚拟机。
2.根据权利要求1所述的基于时间约束条件下的云计算关联任务调度方法,其特征在于,所述步骤(1)的具体步骤为: (1.1)定义G= {T, A,C}为描述关联任务组的三元组,其中,T为关联任务组中所有的任务集合,A为任务之间的执行次序的集合,C为任务之间通信开销的集合; (1.2)根据集合Λ中任务之间的执行次序得出关联任务组的DAG图。
3.根据权利要求1所述的基于时间约束条件下的云计算关联任务调度方法,其特征在于,所述步骤(2)的具体步骤为: (2.1)按照从入口任务至出口任务的顺序将所述DAG图分层; (2.2)将所述DAG图中的任务按照其对应的层次划分至相应层的任务集合中; (2.3)将用户期望的关联任务组完成时间作为关联任务调度的总的时间约束,根据公式计算出每层任务集合的时间约束。
4.根据权利要求3所述的基于时间约束条件下的云计算关联任务调度方法,其特征在于, 所述步骤(2.3)中计算每层任务集合的时间约束的公式为
5.根据权利要求1所述的基于时间约束条件下的云计算关联任务调度方法,其特征在于,所述步骤(3)的具体步骤为: (3.1)将物理资源,包括CPU资源、网络资源、内存资源和存储资源,虚拟化并构建多台虚拟机; (3.2)在虚拟机中部署用户任务执行所需要的操作系统、应用程序以及任务执行所需的数据; (3.3)将构建好的虚拟机加入虚拟机集群中等待任务被调度执行。
6.根据权利要求1所述的基于时间约束条件下的云计算关联任务调度方法,其特征在于,所述步骤(4)中的任务调度的流程为: (4.1)根据所述步骤(2)中已划分好任务集的关联任务组按层次接收一层任务集,将任务集中的任务分配至虚拟机集群中不同的空闲虚拟机,转至步骤(4.2); (4.2)判断所接收任务集中的任务是否全部执行完毕,若没有完成则继续等待任务执行完毕,否则转至步骤(4.3);(4.3)计算所接收任务集中的所有任务的总完成时间,判断是否小于该层任务的约束时间,若实际的总完成时间小于约束时间,则转至步骤(4.1),否则转至步骤(4.4); (4.4)将下一层任务集中的任务分配至与其前驱任务相同的虚拟机中,转至步骤(4.2)。
7.一种基于时间约束条件下的云计算关联任务调度装置,其特征在于,包括任务图构建单元(101)、任务分层单元(102)、虚拟机管理单元(103)和任务调度单元(104); 所述任务图构建单元(101)用于接收关联任务组,并将所有任务按照任务执行的先后次序建立DAG图; 所述任务分层单元(102)与任务图构建单元(101)相连,包括任务集划分单元(1021)和时间约束计算单元(1022),所述任务集划分单元(1021)用于根据所述任务构建单元(101)构建完成的DAG图将任务按照层次划分为不同的任务集,所述时间约束计算单元(1022)将关联任务组的时间约束分配到具体各层的时间约束; 所述虚拟机管理单元(103)用于管理虚拟机集群,能够监控虚拟机上任务的执行情况; 所述任务调度单元(104)分别与任务分层单元(102)和虚拟机管理单元(103)相连,用于将任务分层单元(102)中的按层分好的任务集按照时间约束情况分配至虚拟机管理单元(103)管理的合适的虚拟机。
8.根据权利要求7所 述的基于时间约束条件下的云计算关联任务调度装置,其特征在于, 所述任务调度单元(104)包括任务集接收单元(1041)、任务集分配单元(1042)、任务集执行监控单元(1043)和任务集时间计算单元(1044); 所述任务集接收单元(1041)从所述任务分层单元(102)接收待执行任务集和任务集的时间约束; 所述任务集分配单元(1042)将任务集中的任务分配至虚拟机中执行,所述任务集执行监控单元(1043)监控任务执行情况,所述任务集时间计算单元(1044)计算任务集中所有任务完成开销的时间并与任务集的约束时间进行比较,所述任务集分配单元(1042)根据比较结果确定下一层任务集的分配情况。
【文档编号】G06F9/48GK104021040SQ201410245649
【公开日】2014年9月3日 申请日期:2014年6月4日 优先权日:2014年6月4日
【发明者】毛莺池, 陈曦, 平萍, 朱沥沥, 接青, 闵伟 申请人:河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1