CN100576177C - 基于QoS约束的双向分级网格资源调度方法 - Google Patents
基于QoS约束的双向分级网格资源调度方法 Download PDFInfo
- Publication number
- CN100576177C CN100576177C CN200810047691A CN200810047691A CN100576177C CN 100576177 C CN100576177 C CN 100576177C CN 200810047691 A CN200810047691 A CN 200810047691A CN 200810047691 A CN200810047691 A CN 200810047691A CN 100576177 C CN100576177 C CN 100576177C
- Authority
- CN
- China
- Prior art keywords
- task
- resource
- scheduling
- matrix
- qos
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于QoS约束的双向分级网格资源调度方法,其调度方法是:1、根据任务提交的QoS请求对所有可用机器提供的QoS服务进行测试,以矩阵形式记录测试的结果,可执行则记录执行时间,不可执行做相应标识;2、对测试结果矩阵按指定的原则变形,并对变形后的矩阵按水平方向和垂直方向累加,计算出两个向量;3、按计算所得的两个向量对任务和资源进行非降序分组;4、按任务分组结果进行优先级调度,分组值小的优先级高先调度,分组内部按Min-min算法原则进行调度;5、调度中若出现任务对不同资源有相同的最小完成时间,则按资源分组结果进行调度,分组值小的优先级高先调度;6、重复执行第四步骤到第五步骤,直到所有任务调度完成。
Description
技术领域
本发明属于一种网格资源调度方法,特别是一种基于QoS约束的双向分级网格资源调度方法。
背景技术
网格计算就是将地理上分布的、异构的资源连接在一起,形成一台高性能的超级计算机,为用户提供随处可得并且可靠的计算能力。网格提供了共享网络资源和协同解决问题的平台,由于网格建立在异构环境下,网络上的资源为不同的组织所有,有各自不同的管理方式,因此网格环境下跨域的资源管理极具挑战性,如何在网格环境下映射一组任务到一组资源已被证明是NP完全问题。网格资源调度算法的研究是网格资源管理的一个重要的课题,目前国内外已经提出了很多调度算法,现有的网格资源调度方法可简单分为两类:静态调度方法和动态调度方法。
静态调度方法是较早出现的调度方法,它相对较为简单,运行开销小,数据依赖性小,因而是在网格计算中最早被研究的方法。目前常见的静态调度方法包括:OLB、MET、MCT、Min-Min、Max-Min、Duplex、GA、SA、GSA、Tabu、A*等十多种。在网格计算环境中,由于各个处理器处理速度不同,给设计静态调度算法带来了难以平衡负载的困难,使得静态调度方法难以设计和实现。异构平台上的静态调度策略遇到了很多的问题:设计最优的调度方法被证明是NP完全问题;难以准确评价任务执行时间和通信延迟;无法应对处理器速度的多样性。相比之下,动态调度方法有很多优势。
动态调度方法能够有效地解决负载评估、效应测定、作业传输、矢量计算、任务选择和任务迁移等问题。动态调度方法可分为在线模式和批模式,在线模式是指只要任务到来就映射到机器,该模式对每一个任务的映射只考虑一次,即一旦任务被映射就不会再改变,常见的在线模式启发式调度方法有:OLB、MCT、MET、SA和KPB等,在线模式较简单,但总体性能不高。批模式是指网格中元任务到来并不立即映射到机器,而是把任务收集起来组成一个任务集合,等映射事件到来后才对该集合中的任务进行集中映射。批模式下,调度方法执行前已获得任务的请求信息和大量任务的实际执行时间,故能做出更好的调度决策。常见的批模式调度方法有:Min-min、Max-min和Sufferage等,其中,Min-min方法思路简单,性能稳定,在绝大多数环境下都有良好的表现,是目前网格调度算法的研究基础之一。
已有的网格调度方法都是由分布式计算经典算法演化而来,虽然在分布式环境中有较好的性能,但对于非集中管理的网格异构环境却都有局限性:首先,对于任务完成时间最小化问题没有很好的解决;其次,网格环境中异构机器的负载平衡也得不到保证;此外,对于有QoS约束的网格资源调度问题,上述方法都不能很好的解决,造成了不合理的调度。针对已有方法的这些不足很多研究者提出了改进方案,主要分为以下几类:以改进任务完成时间为目的的算法;对原有方法加入QoS约束的方法;改进负载均衡能力的方法;按照经济原则考虑调度问题的方法等。这些方法在解决某一特定的网格调度问题方面有较好的表现,但是综合性能不强,不适用于现实的网格环境。因此,寻找一种适用于网格环境的最优算法仍是现在网格计算领域研究的重要课题之一。
发明内容
本发明的目的是提供一种在异构环境下实现多QoS约束下的多种资源的调度,缩短作业完成时间,增强网格资源调度的负载平衡能力的基于QoS约束的双向分级网格资源调度方法。
为了实现上述目的,本发明在描述具体方法前先作出如下定义:
对网格环境中任务定义:m个异构的独立任务,表示为T={t0,t1,...,tm},设定网格环境下提交的任务为元任务,满足如下3个条件:
(1)每个任务都是原子的和独立的,任务之间没有通讯和数据依赖;
(2)每个机器都是独占的,即当一个任务分配给一个机器时,该任务占有该机器直到运行完毕;
(3)静态运行时间,即在分配任务之前任务在每个机器上的期望运行时间都是预先可知的。
对网格环境中资源的定义:把网格中的资源具体为某一种机器,简称机器,它表示可提供一定的计算能力、网络存储能力、精密仪器及一些特殊的资源。假设网格异构环境中有n个异构机器,它们表示为M={m0,m1,...,mn},网格中的机器在同一时间内只能执行网格环境中的一个任务,直到任务完成才能执行其他的任务,即为任务独占。
对参数的定义:
双向分级调度方法使用的三个矩阵和两个向量分别定义如下:
定义1预期执行时间EET(Expected Execution Time)矩阵:每个元素EETij表示资源mj在没有负载的情况下,执行任务ti所需要的时间,若任务不能在机器上执行则为***定义的最大值,EET是一个m×n的矩阵,它在调度前由网格管理***测试并记录。
定义2预期完成时间ECT(Expected Completion Time)矩阵:每个元素ECTij表示资源mj完成任务ti的时间(在ti之前分配到mj的所有作业都被执行完毕),它也是一个m×n的矩阵。
定义3机器的可执行矩阵CoE(Capability of Execution)矩阵:由EET矩阵计算得出,每个元素CoEij表示资源对任务的可执行情况,它也是一个m×n的矩阵。
此外还要定义两个向量:每个任务的可执行机器数量的向量NoM(Number of Machines),它的每个分量值为可执行该任务的机器数量;每个机器可执行任务数量的矩阵NoT(Number of Tasks),它的每个分量表示相应机器的可执行任务的数量。
设定作业ti的到达时间是ai,开始运行的时间是dj,则由以上的定义可以得出:
ECTij=dj+EETij.............................................(1)
如果作业ti分配给了资源mj运行,令ECTi来表示ECTij,那么,最大执行时间就等于最大的任务完成时间与调度起始时间之间的差值,即从第一个作业开始执行到最后一个作业被执行完毕所花的时间,若设起始时间为零则有:
Makespan=Max(ECTi),ti∈T..................................(2)
Makespan是异构计算***的一个衡量标准,网格资源调度的主要目的就是要减小Makespan。
本发明首先对任务和资源分别分级,对分级后的任务和资源进行调度,其调度方法是:
第一步骤:根据任务提交的QoS请求对所有可用机器提供的QoS服务进行测试,以矩阵形式记录测试的结果,可执行则记录执行时间,不可执行做相应标识;
第二步骤:对测试结果矩阵按指定的原则变形,并对变形后的矩阵按水平方向和垂直方向累加,计算出两个向量:
A:可执行相应任务的资源数目向量;
B:每个资源的可执行任务数目向量;
第三步骤:按计算所得的两个向量对任务和资源进行非降序分组;
第四步骤:按任务分组结果进行优先级调度,分组值小的优先级高先调度,分组内部按Min-min算法原则进行调度;
第五步骤:调度中若出现任务对不同资源有相同的最小完成时间,则按资源分组结果进行调度,分组值小的优先级高先调度;
第六步骤:重复执行第四步骤到第五步骤,直到所有任务调度完成。
本发明分析了网格异构环境下资源的特殊性和多QoS约束下资源调度的复杂性,解决了异构环境中多QoS约束下多种资源的调度问题,分别对资源和任务进行分级,实现了网格环境下的有效调度。本调度方法与传统网格资源调度方法相比,有以下特点:1、从多QoS约束任务的需求出发考虑异构资源的复杂性,不局限于传统调度方法只对计算资源的调度,本专利对多种资源调度提出了相应的调度方法,更适用于网格异构环境;2、对任务进行了详细和合理的分级,区别于原有一些调度方法的两级调度模式,更能反应任务的特性,优先调度有“苛刻”要求的任务,确保了总体完成时间最小;3、提出了对资源分级的思想,对网格环境中的稀少资源进行优先调度,改进由于等待某些稀少资源而产生的不必要的等待时间,并可以提高这些资源的利用率;4、该调度方法中分别对任务和资源进行分级,综合双向分级结果对网格资源进行调度,相对于传统调度方法有更小的任务完成时间和负载均衡性能。
附图说明
图1为本发明的执行流程图。
具体实施方式
下面结合附图对本发明作进一步的详细描述。
本发明基于QoS的网格资源调度模型是解决异构环境下资源调度问题的有效途径,在此模型下,任务以描述其QoS需求的方式提交,资源以描述其可提供的QoS服务方式发布,调度要保证在QoS约束的前提下尽量使任务有最小的完成时间(Makespan)。目前已经有很多调度方法考虑了QoS约束的问题,但多数都只考虑一维QoS的影响:简单的把任务分为两组,使具有高QoS要求的任务为一组首先被映射;具有底QoS要求的任务为一组后映射。这显然不符合网格环境的现实,网格环境是多种资源构成的异构环境,任务对资源的QoS要求可以是各种形式,如:CPU性能、机器带宽、网络能力、精密仪器等特殊资源,这就要求网格资源调度要考虑多维QoS约束。在考虑多维QoS约束的网格环境中,任务提交的QoS需求及资源提供的QoS服务都是多种多样的,这使得网格环境中任务和资源的对应情况变的复杂。很大一部分资源只能满足任务的某些QoS需求,而不是全部,它们就不能分配给该任务。这就要求在调度前要测试资源对任务的满足情况,根据任务QoS需求的苛刻程度及资源的性能区别制定合理的调度方案。
双向分级调度方法是指对预期执行时间矩阵EET在垂直方向和水平方向上分别分级,根据分级的结果对任务进行调度,下面给出了调度中使用的矩阵和向量的产生方法,介绍了它们在网格资源调度中的作用。
调度中使用的矩阵和向量的产生方法:根据任务提交的QoS请求对所有可用机器提供的QoS服务进行测试,并用预期执行时间矩阵EET来描述测试的结果,其中可执行则记录预期执行时间,不可执行记录为‘X’。根据EET矩阵产生CoE矩阵,对EET矩阵中每个元素的情况进行分析:若EET矩阵中元素为数字,则CoE中相应位置置‘1’;若EET矩阵中元素为‘X’,则CoE矩阵中相应位置置‘0’。下面给出了EET矩阵的一个设定,推导出的CoE矩阵如下:
若: 可推导出
然后,由CoE矩阵产生NoM向量和NoT向量,产生的方法为:CoE矩阵的每一行元素相加为NoM向量的每一个分量,分量的个数于任务数相同;CoE矩阵的每一列元素相加为NoT向量的每一个分量,分量的个数与机器数相同,公式如下:
对于上面对EET的假设,相应的NoM和NoT向量分别为:NoM={1,3,2};NoT={3,1,2},它们分别是CoE矩阵水平和垂直方向累加的结果。
利用NoM向量和NoT向量按垂直方向和水平方向分别对EET进行分级,方法如下:
垂直方向分级:对NoM向量的分量进行非降序排序,有相同值的分量分为一组,并记录每组的分量值作为每组的调度级别:若值为‘0’,表示该任务在当前硬件环境下不可完成,不予调度;若为其它值,则值越小表示分组的级别越高,任务按级别由高到底调度,若值为‘1’的分组优先级最高,最先调度。
水平方向分级:对NoT向量的分量进行非降序排序,有相同值的分量分为一组,并记录每组的分量值作为每组的调度级别:若值为‘0’,表示该机器不可完成任何任务,为无用机;若为其它值,则值越小表示分组的级别越高。
按照垂直方向分级的结果按优先级调度,可以保证最苛刻QoS约束的任务首先调度,防止较低QoS要求的任务占用较高QoS服务的机器。分组内部按Min-Min算法调度,尽力获得最小的任务完成时间。若在使用Min-Min算法调度时出现同一分组内有多个机器同时对某任务有最小完成时间,则按NoT向量分组结果中记录的机器优先级进行调度。在整个调度的过程中,每完成一个任务的调度就要更新NoT向量的值并重新分组,以保证每次使用的值为机器可执行剩余任务数量的最新值。
本发明双向分级调度方法的伪码描述如下:
(1)for作业集T中的所有作业tk
(2)for所有的机器mj
(3)ECTij=EETij+dj
(4)end for
(5)end for
(6)由EET矩阵计算出CoE矩阵
(7)由CoE矩阵计算出向量NoM和NoT
(8)把任务集T中的作业按NoM向量的分量值非降序分组
(9)移除T中对应NoM向量分量值为零的任务
(10)do unti1任务集合T中所有任务被映射
(11)for任务集T中所有已排序的分组
(12)for每个分组中的作业,找到具有最小完成时间的机器
(13)找到具有最小的最小完成时间的任务tk
(14)If如果在多个机器上有相同的最小完成时间
(15)找到在NoT向量中具有最小分量值的机器m1
(16)end if
(17)end for
(18)分配任务tk到具有最小完成时间的机器m1上
(19)从任务集合T中删除任务tk
(20)NoT向量中对应机器m1的分量值减1
(21)更新d1
(22)对所有i的取值更新ECTi1
(23)end for
(24)end do
从上述调度过程可以看出,该调度方法先对可执行机器数目少的机器进行调度,然后再对可执行机器数目多的机器进行调度,以减弱由异构机器性能受限产生的执行任务的相关性。其中,第1行到第5行对作业集中的每个作业算出该作业在每个资源上的期望完成时间。第6行到第8行是对ECT矩阵产生机器的可执行关系矩阵CoE,可以满足任务QoS需求的机器在矩阵中标志为1,反之为0,并由CoE矩阵产生任务和机器的可执行关系向量NoM和NoT。第9行排除不可执行的任务,防止任务调度在循环过程中失效。第10行到最后是把已分组的任务对所有可用的机器以Min-min算法进行测试,找出最小完成时间的机器分配作业,其中第14行到16行是在对有相同的最小执行时间的机器进行选择,选择的原则是按照NoT矩阵分组级别分配,以减少机器对任务的向关性对makespan产生影响。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (1)
1、一种基于QoS约束的双向分级网格资源调度方法,该方法首先对任务和资源分别分级,对分级后的任务和资源进行调度,其调度方法是:
第一步骤:根据任务提交的QoS请求对所有可用机器提供的QoS服务进行测试,以矩阵形式记录测试的结果,可执行则记录执行时间,不可执行做相应标识;
第二步骤:对测试结果矩阵按指定的原则变形,并对变形后的矩阵按水平方向和垂直方向累加,计算出两个向量:
A:可执行相应任务的资源数目向量;
B:每个资源的可执行任务数目向量;
第三步骤:按计算所得的两个向量对任务和资源进行非降序分组;
第四步骤:按任务分组结果进行优先级调度,分组值小的优先级高先调度,分组内部按Min-min算法原则进行调度;
第五步骤:调度中若出现任务对不同资源有相同的最小完成时间,则按资源分组结果进行调度,分组值小的优先级高先调度;
第六步骤:重复执行第四步骤到第五步骤,直到所有任务调度完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810047691A CN100576177C (zh) | 2008-05-13 | 2008-05-13 | 基于QoS约束的双向分级网格资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810047691A CN100576177C (zh) | 2008-05-13 | 2008-05-13 | 基于QoS约束的双向分级网格资源调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101271405A CN101271405A (zh) | 2008-09-24 |
CN100576177C true CN100576177C (zh) | 2009-12-30 |
Family
ID=40005395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810047691A Expired - Fee Related CN100576177C (zh) | 2008-05-13 | 2008-05-13 | 基于QoS约束的双向分级网格资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100576177C (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383850B (zh) * | 2008-10-16 | 2011-05-04 | 北京邮电大学 | 一种基于服务质量本体的互联网服务选择***及方法 |
CN101702833B (zh) * | 2009-10-27 | 2012-03-14 | 武汉理工大学 | 一种移动网格任务调度方法 |
EP2337273B1 (en) * | 2009-12-15 | 2012-10-10 | Alcatel Lucent | Capacity management in mesh networks |
CN101835164B (zh) * | 2010-04-20 | 2014-11-05 | 武汉理工大学 | 基于资源移动性的移动网格资源选择方法 |
CN102143526B (zh) * | 2011-04-18 | 2014-01-01 | 武汉理工大学 | 基于能量均衡和QoS约束的传感器资源节点选择方法 |
CN103678000B (zh) * | 2013-09-11 | 2016-08-17 | 北京工业大学 | 基于可靠性和合作博弈的计算网格均衡任务调度方法 |
CN103914542A (zh) * | 2014-04-03 | 2014-07-09 | 华中科技大学 | 一种流数据***连续查询服务质量动态计算方法 |
CN104243617B (zh) * | 2014-10-14 | 2017-10-27 | 中国科学院信息工程研究所 | 一种异构集群中面向混合负载的任务调度方法及*** |
CN104852860B (zh) * | 2015-05-04 | 2019-04-23 | 四川大学 | 一种基于队列的异构资源多目标调度策略 |
CN105141697A (zh) * | 2015-09-16 | 2015-12-09 | 国云科技股份有限公司 | 一种多QoS约束的云计算任务调度方法 |
CN106878389B (zh) * | 2017-01-04 | 2020-02-07 | 北京百度网讯科技有限公司 | 用于在云***中进行资源调度的方法和装置 |
CN108427602B (zh) * | 2017-02-14 | 2021-10-29 | 全球能源互联网研究院有限公司 | 一种分布式计算任务的协同调度方法及装置 |
CN109960574B (zh) * | 2019-03-12 | 2023-04-07 | 昆明理工大学 | 一种网格环境下的静态调度改进方法 |
CN110311965A (zh) * | 2019-06-21 | 2019-10-08 | 长沙学院 | 一种云计算环境下的任务调度方法及*** |
-
2008
- 2008-05-13 CN CN200810047691A patent/CN100576177C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101271405A (zh) | 2008-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100576177C (zh) | 基于QoS约束的双向分级网格资源调度方法 | |
CN105159762B (zh) | 基于贪心策略的启发式云计算任务调度方法 | |
CN102932279B (zh) | 一种云环境数据中心多维资源调度方法 | |
CN104331321B (zh) | 基于禁忌搜索和负载均衡的云计算任务调度方法 | |
CN111611062B (zh) | 云边协同分层计算方法及云边协同分层计算*** | |
CN103365727B (zh) | 一种云计算环境中的主机负载预测方法 | |
US9239734B2 (en) | Scheduling method and system, computing grid, and corresponding computer-program product | |
CN103034614B (zh) | 基于关键路径和任务复制的单任务多核调度方法 | |
CN105718479A (zh) | 跨idc大数处理架构下执行策略生成方法、装置 | |
CN102855153B (zh) | 面向片式多核处理器的流编译优化方法 | |
CN104239144A (zh) | 一种多级分布式任务处理*** | |
CN110347504B (zh) | 众核计算资源调度方法及装置 | |
CN104243617A (zh) | 一种异构集群中面向混合负载的任务调度方法及*** | |
CN103488531B (zh) | 一种基于多核处理器和fpga的软硬件混合实时任务调度方法 | |
CN110187969A (zh) | 一种基于gpu的分布式大数据并行计算方法 | |
CN105373426A (zh) | 一种基于Hadoop的车联网内存感知实时作业调度方法 | |
CN111782627B (zh) | 面向广域高性能计算环境的任务与数据协同调度方法 | |
CN109710372A (zh) | 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法 | |
CN105005503B (zh) | 基于元胞自动机的云计算负载均衡任务调度方法 | |
CN103514042B (zh) | 一种双调归并排序调优方法及装置 | |
CN116166396A (zh) | 调度模型的训练方法、装置、电子设备及可读存储介质 | |
CN115827237A (zh) | 一种基于性价比的storm任务调度方法 | |
Singh | Task scheduling in parallel systems using genetic algorithm | |
Gao et al. | Minimizing financial cost of scientific workflows under deadline constraints in multi-cloud environments | |
Fan et al. | An efficient scheduling algorithm for interdependent tasks in heterogeneous multi-core systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091230 Termination date: 20120513 |