一种移动网格任务调度方法

文档序号:7723600阅读:246来源:国知局
专利名称:一种移动网格任务调度方法
技术领域
本发明涉及网格的任务调度方法,更具体地涉及一种移动网格任务调度方法。
背景技术
现今,移动设备例如便携式计算机、个人数字助理(PDA, Personal DigitalAssistant)、移动手机等已经大众化,逐渐影响了人们日常生活和商务活动的 各个方面。同时,无线网络的蓬勃发展,包括无线局域网(WLAN, Wire-lessLocal-Area Network) 、 GPRS/CDMA1 X(General Packet Radio Service/CodeDivision Multiple Access lx,通用分组无线业务/码分多址接入技术)移动通信网络移动通信网络、即将得 到应用的第三代移动通信网络(3G)、以及近来成为研究热点的无线传感器网络等,为人们 随时随地进行沟通提供了网络平台。随着技术的不断发展,可以预见移动设备将由移动互 联网、WAP应用逐步走向网格应用。如果将现有的网格称为固定网格,那么在移动设备上 部署网格中间件,可以构成一个动态的、多制度的移动设备的虚拟组织-移动网格(Mobile Grid)。与固定网格相比,移动网格更加贴近每一个普通人的实际应用。具体来讲,移动网 格不仅能为用户提供音乐、医疗、保险等服务,而且可以用于日常的交通事故处理以及酒店 点菜系统。 随着移动设备性能的不断增强以及移动网格应用范围的不断扩大,将移动设备作 为移动网格中的一种资源使用成为了研究热点。然而,当若干用户发出请求时,如何快速有 效地协同调度可用的资源,从而一方面实现整体调度时间最短,另一方面提高可用资源的 利用率,已成为研究过程中的一个非常核心的问题。 目前现有的资源调度方法针对的是固定网格,其资源是静止的,并且是在关于资 源和任务的状态信息已知的情况下,基于一些规则函数(如最小化执行时间、最大化资源 利用率)作出的最优任务分配,因此执行时间达到最小化时,基本实现任务调度时间的最 小化。 然而,移动网格中的资源是移动的,并且资源的通信范围及移动性会引起连接时 断时续问题,同时资源的移动使资源与调度机之间的距离产生变化,进而延迟返回的任务 处理结果并影响传送结果所消耗能量。由上可以看出,资源的移动性对任务调度完成时间 和任务调度所消耗的能量有很大影响,仅仅考虑最小执行时间是远远不够的。综上所述,现 有的资源调度方法不适用于资源移动的移动网格。 因此,有必要提供一种移动网格任务调度方法来克服上述现有技术存在的问题。

发明内容
本发明的目的是提供一种移动网格任务调度方法,充分考虑移动网格环境下资源 的移动性。 为了实现上述目的,本发明提供了一种移动网格任务调度方法,所述移动网格任 务调度方法包括如下步骤(l)根据任务的服务请求类型对任务队列中的所有任务进行分组;(2)根据所述任务的服务类型请求对资源集中的所有资源进行分组;(3)在同种服务请 求类型的任务组和资源组中查找每个任务在各个资源上执行时消耗的时间,并根据所述每 个任务和所述查找的对应资源获取所述每个任务在所述查找的对应资源上执行的最小执 行时间、所述每个任务提交给所述查找的对应资源的预期提交通信时间、以及所述查找的 资源将对应任务的处理结果返回给任务调度者的预期结果返回通信时间;(4)获取所述最 小执行时间、所述预期提交通信时间和所述预期结果返回通信时间之和的最小值对应的资 源和任务;(5)将所述资源分配给所述任务;(6)所述任务调度完成后取消所述任务,更新 所述资源集。 较佳地,所述步骤(3)中的最小执行时间获取的步骤具体为(31)在同种服务请 求类型的任务组和资源组中获取预期执行时间矩阵,其中所述预期执行时间矩阵的每个元 素表示每个资源在没有负载时执行每个任务需要的时间;(32)根据所述预期执行时间矩 阵获取最小执行时间向量,所述最小执行时间向量的每个元素为所述预期执行时间矩阵中 每个任务行的最小值。 优选地,所述步骤(31)中预期执行时间矩阵是通过网络气象服务获取的。
在本发明的一个实施例中,所述步骤(32)具体包括如果所述预期执行时间矩阵 中不同任务行的最小值出现在相同资源上,则与所述不同任务行的下一任务对应的最小执 行时间向量的元素为所述下一任务所在行的次最小值。 在本发明的另一实施例中,所述移动网格任务调度方法还包括如下步骤(33)根 据所述最小执行时间向量获取最小执行时间数组,所述最小执行时间数组的每个元素表示 与所述最小执行时间向量的每个元素对应的任务和资源组成的数对。 较佳地,所述步骤(3)中的预期提交通信时间获取的步骤具体为(34)根据所述
最小执行时间数组获取预期提交通信时间向量,所述预期提交通信时间向量的每个元素表
示所述最小执行时间数组的每个元素的对应任务传送到对应资源的通信时间。 在本发明的再一实施例中,所述步骤(3)中的预期结果返回通信时间获取的步骤
具体为(35)根据所述最小执行时间数组获取预期结果返回通信时间向量,所述预期结果
返回通信时间向量的每个元素表示所述最小执行时间数组的每个元素的对应资源在对应
任务完成时将所述对应任务的处理结果返回给任务调度者的通信时间。 在本发明的又一实施例中,所述步骤(35)具体为(351)根据所述最小执行时间
数组获取预期结果返程数组,所述预期结果返程数组的每个元素表示所述最小执行时间数
组的每个元素的对应资源在所述对应任务完成时与所述任务调度者之间的距离;(352)根
据所述预期结果返程数组获取预期结果返回通信时间向量,所述预期结果返回通信时间向
量的每个元素为所述最小执行时间数组的每个元素与结果返回传输速度的商。 在本发明的另一实施例中,所述步骤(351)具体为利用极坐标建立移动预测模
型,所述移动预测模型预测所述最小执行时间数组的每个元素的对应资源在所述最小执行
时间内完成所述对应任务时的位置,根据所述预测的位置以及所述任务调度者的位置获取
所述最小执行时间数组的每个元素的对应资源在所述对应任务完成时与所述任务调度者
之间的距离,所述获取的每个距离为所述预期结果返程数组的元素。 在本发明的再一实施例中,所述步骤(4)具体包括如果所述最小执行时间、所述 预期提交通信时间和所述预期结果返回通信时间之和的最小值出现多个,则获取所述多个最小值中较小的最小执行时间对应的资源和任务。 与现有技术相比,本发明移动网格任务调度方法从资源的移动性出发考虑移动网 格中资源的复移动性,资源和任务根据任务的服务请求类型分组,任务调度是面向服务类 型的。 另外,所述移动网格任务调度方法实现调度目标时考虑了任务的最小执行时间、 预期提交通信时间和预期结果返回通信时间,调度的目标是整个任务的调度时间最小,而 以往的调度方法都没有考虑资源的移动带来的传送延迟。 此外,任务调度在所有分组中并行进行,因而縮短了调度时间,进而减轻了移动网 格资源管理的复杂度。如果采用现有的网格中面向域的资源调度机制,资源的移动性会使
管理非常复杂。 再者,所述移动网格任务调度方法中只要有一组完成一个子任务就更新所有资源 组,因而不影响其它组中任务的执行,这样在保证最优跨度的同时提高了资源的利用率。当 有新资源出现时,根据任务的服务请求类型将所述新资源归属到相应组中,因而不影响其 它组中任务的调度,这样能提高资源的利用率。 通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明 的实施例。


图1为本发明移动网格任务调度方法的流程图。
具体实施例方式
现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。如 上所述,本发明提供了一种移动网格任务调度方法,所述方法充分考虑移动网格环境下资 源的移动性,任务调度采取整个任务的调度时间最小的策略,并且任务调度在所有分组中 并行进行,縮短了调度时间,同时在组内子任务完成后更新所有资源组,保证最优跨度的同 时提高了资源的利用率。下面详细说明。 在对本实施例移动网格任务调度方法进行详细说明之前,先对移动网格环境中的
任务、资源以及本实施例调度方法中的假设、参数定义和移动预测模型进行说明。 移动网格环境中任务描述 本实施例移动网格中的任务调度是面向服务的,假设一个任务序列T具有n个任 务,这里可以表示为任务序列T = {tn t2, . . . , tn}。所述任务序列T根据任务的服务请求 类型划分为P组,其中每组中的任务满足以下条件 (1)每个任务都是粗粒度的子任务,即任务之间没有通讯和数据依赖,减少通信开 销; (2)每个机器是共享的,提供的服务是独占的,即当一个任务分配了 一个服务时, 该任务占有该服务直到运行完毕; (3) —个任务只需要单个服务,即一个任务只可能在一个任务组中出现; (4)具有静态运行时间,即在分配之前任务在每个资源上的期望运行时间都是预
先可知的。
综上所述,经过分组后n个任务满足l] A^A)=",其中N(p》表示第i组任务组中 任务的个数。 移动网格环境中资源描述 移动网格中的任意移动终端都可以提供资源共享,共享的资源称之为服务。本实 施例中提到的服务和资源是同一概念,由机器提供。任务以描述其请求的服务方式提交,资 源以描述其可提供的服务的方式发布。 —个机器可以提供多种服务。假设若干个机器提供m个服务,这里可以表示资源 集M = {ri, r2,. . . , rm},将这m个服务根据任务的服务请求类型划分为p组,经过分组后的
m个服务满足l]M(A):m ,其中M(p》表示第i组服务组中服务的数目。
本实施例调度方法中的假设 本实施例考虑到移动网格的资源调度过程中任务和资源都具有分布性、异构性、 移动性特点,做出如下假设 (1)资源在任务提交和结果返回过程中设为静止状态(只考虑资源在任务执行过
程中的移动性),任务调度者是静止的,任务调度者的位置表示为(x。,y。); (2)每个移动资源都有位置识别功能,即每隔AT时间就自身定位一次并记有两
个历史位置信息,其中历史位置信息的历史记录队列项格式为(t(定位时刻),X(横坐
标),y(纵坐标),v(初速度大小),a(加速度大小),e (移动方向))。移动方向是以前一
次的定位位置为参考点的; (3)只考虑一个作业的n个子任务的调度,任意任务至少有一个服务能满足要求;
(4)同一任务提交时的数据的传送速度和结果返回的传输速度是一样的,用Vi表 示,传送数据量是一样的,单位时间内传送单位数据量消耗的能量是一样的。
本实施例调度方法中用到的参数定义 预期执行时间矩阵EET(Expected Execution Time):每个元素EETij表示资源j在 没有负载的情况下,执行任务i所需要的时间。若任务不能在机器上执行,则值为无穷大。
最小执行时间向量MET (Minimum Execution Time):每个元素MET^.是矩阵EET中 每个任务行的最小值,表示任务i执行时的最小执行时间。如果所述预期执行时间矩阵EET 中不同任务行的最小值出现在相同资源上,则与所述不同任务行的下一任务对应的最小执 行时间向量的元素为所述下一任务所在行的次最小值,以保证每个资源同时只为一个任务 服务。 最小执行时间数组A[n]:每个元素为一个数对(i, j),表示最小执行时间向量MET 中每个元素对应的任务和资源。 预期提交通信时间向量ETHT(Expected Task Hand in Time):每个元素ETHTij表 示最小执行数组A[n]中任务i传送到资源j的通信时间。 预期结果返程数组B[n]:每个元素表示数组A[n]中资源j在任务完成时与任务 调度者之间的距离。 预期结果返回通信时间向量ERBT(Expected Result Back Time):每个元素ETHTi」 是指数组A[n]中资源j将任务i的处理结果返回给任务调度者的通信时间。
预期任务调度时间向量EST (Expected Schedule Time):每个元素EST".是最小执 行时间向量MET、预期提交通信时间向量ETHT和预期结果返回通信时间向量ERBT的对应元 素之和,即EST" = METij+ETHTij+ERBTij。 预期结果到达时间矩阵ERAT (Expected Result Arrive Time):每个元素ERATij 是指资源j将任务i的处理结果返回给任务调度者的到达时间。假设任务i在资源j上的 提交起始时间为I,则ERATij = ESTij+Tij。
需要提出的是,以上参数都是在一个组中的定义。 注本实施例中的总完成时间Makespan定义为最后一个任务的处理结果返回给 任务调度者的到达时间与第一个任务的提交起始时间的差值。本实施例移动网格任务调度 的目标是使上述总完成时间Makespan达到最小值。 假设第一个任务提交起始时间为零,那么本实施例移动网格任务调度的目标转变 为求mint(^7;),由于每个任务都是独立的,故mint(^7;卜tmin(ES7;)移动预测模
型的建立 本实施例利用极坐标建立了移动预测模型。基于假设(2),资源j记录了两个历史 位置信息。假设资源在t(i)时刻的位置是(Xt(i),yt(i)),那么在一个AT时间间隔后,移动 预测模型可以预测资源的位置是
<formula>formula see original document page 8</formula><formula>formula see original document page 8</formula> 所述任务i在所述资源j上执行时,所述移动预测模型在数组A[n]中的资源j上 要运行kj次,其中kj满足 min (METj + t > A T > min (METj - t , t为估计误差
所述移动预测模型每运行一次,就更新资源的历史记录。 通过上述移动预测模型,能预测出数组A[n]中每个任务i对应的资源j在最小执 行时间METij内完成任务时的位置(x,y),通过两点间的距离公式可以求出资源j在任务完 成时与任务调度者(位置表示为(x。,y。))之间的距离 <formula>formula see original document page 8</formula> 因此,预期结果返程数组B[n] = (dij),其维数与数组A[n]的维数相同。 基于假设(4),根据公式ERBTij = 可得资源j返回任务i的处理结果的预期
结果返回通信时间向量ERBT。 下面具体说明本实施例移动网格任务调度方法的流程 步骤S110,根据任务的服务请求类型将n个任务形成的任务队列T二 {tp^,..., tn}分成p组;
步骤S120,根据任务的服务请求类型将m个资源形成的资源集M = {巧,r2,...,
rj同样分成p组; 步骤S130,通过网络气象服务(丽S,Network Weather Services)并在同种服务请求类型的任务组和资源组中获取预期执行时间矩阵EET,根据所述预期执行时间矩阵EET获得最小执行时间向量MET和最小执行时间数组A[n],如果最小执行时间向量MET中的元素METu等于无穷大,则将任务i挂起;(假设同种任务的服务请求类型的第一任务组和资源组中有3个子任务映射到4个服务上,它们的预期执行时间矩阵EET为々5 五五r =
oo
8
5 2 oo
6 3 7
那么,最小执行时间数组A[n]为:A[3]对应的最小执行时间向量MET为MET=;2 其中,数组A[3]中元素(1,3)表示任务1在编号为3的资源上的预期执行时间最短。类似地,可以得到P个这样的数组。) 步骤S140,根据所述最小执行时间数组A[n]获取预期提交通信时间向量ETHT ;
(假设上述数组A[3]各数对中的任务到对应资源的距离分别为9,16,3,传送数据的速度分别为3,4,3,那么提交任务的通信时间向量ETHT为 3— ETHT= 步骤S150,利用所述移动预测模型并根据所述最小执行时间数组A[n]获取预期结果返程数组B[n],如果大于所述任务提交者的通信范围的半径,则将任务i挂起;
(这里假设所述移动预测模型对数组A[3]中的资源进行预测,得到预期结果返程数组为B[3] = (4, 6, 4)。) 步骤S160,根据所述预期结果返程数组B[n]获取预期结果返回通信时间向量ERBT ;(假设处理结果返回的传输速度分别为2,3,4,基于假设(4)且根据公式ERBTij =dij/Vi,得到资源j返回任务i的处理结果的通信时间向量ERBT为—2— ERBT- 步骤S170,根据所述最小执行时间向量MET、预期提交通信时间向量ETHT和预期结果返回通信时间向量ERBT获取数组A[n]中各个任务的预期任务调度时间向量EST ;
(这样,数组A[3]各个数对中任务i从提交到执行到收到处理结果整个最小任务调度时间EST为
9
<formula>formula see original document page 10</formula>
由上式可知,执行时间或完成时间最短并不能保证任务的整个调度时间最短,所
以在移动网格中,考虑任务处理结果返回所消耗的时间是非常必要的。) 步骤S180,根据所述预期任务调度时间向量EST获取最小元素min (ESTj ,如果出
现多个最小元素,则获取所述多个最小元素中具有较小的最小执行时间的元素;
(这样,任务调度的最后选择是min (ESTij) = 7。) 步骤S190,获取与所述最小元素min (ESTj或所述多个最小元素中具有较小的最小执行时间的元素对应的资源和任务;(结合数组A[3]知min(ESTij)对应的任务为编号3,对应的资源为编号4。)
步骤S200,将所述资源分配给所述任务(即将编号3的任务分配给编号4的资源执行); 步骤S210,所述任务调度完成后取消该任务,唤醒挂起的任务,并更新资源组,将新注册的资源加入到相应组中,转步骤S300。 由上可以看出,本实施例移动网格任务调度方法从资源的移动性出发考虑移动网格中资源的复杂性,不像以往的网格调度只考虑固定的网格资源。本实施例资源和任务根据任务的服务请求类型分组,任务调度是面向服务类型的,任务调度在所有分组中并行进行,縮短了调度时间,这种管理方式减轻了移动网格资源管理的复杂度,如果采用现有的网格中面向域的资源调度机制,资源的移动会使管理非常复杂。 此外,只要有一组中完成一个子任务就更新所有资源组,因而不影响其它组中的任务执行,这样在保证最优跨度的同时提高了资源的利用率。当有新资源出现时,根据任务的服务请求类型将所述新资源归属到相应组中,因而不影响其它组中的任务调度,这样能提高资源的利用率, 再者,本实施例移动网格调度方法能通过移动预测模型对资源在执行任务过程中的位置进行估计,并且该在实现调度目标时考虑了任务的最小执行时间、预期提交通信时间和预期结果返回通信时间,调度的目标是整个任务的调度时间最小,而以往的调度方法都没有考虑资源的移动带来的传送延迟。 以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
权利要求
一种移动网格任务调度方法,其特征在于,包括如下步骤(1)根据任务的服务请求类型对任务队列中的所有任务进行分组;(2)根据所述任务的服务类型请求对资源集中的所有资源进行分组;(3)在同种服务请求类型的任务组和资源组中查找每个任务在各个资源上执行时消耗的时间,并根据所述每个任务和所述查找的对应资源获取所述每个任务在所述查找的对应资源上执行的最小执行时间、所述每个任务提交给所述查找的对应资源的预期提交通信时间、以及所述查找的资源将对应任务的处理结果返回给任务调度者的预期结果返回通信时间;(4)获取所述最小执行时间、所述预期提交通信时间和所述预期结果返回通信时间之和的最小值对应的资源和任务;(5)将所述资源分配给所述任务;以及(6)所述任务调度完成后取消所述任务,更新所述资源集。
2. 如权利要求1所述的移动网格任务调度方法,其特征在于,所述步骤(3)中的最小执 行时间获取的步骤具体为(31) 在同种服务请求类型的任务组和资源组中获取预期执行时间矩阵,其中所述预期 执行时间矩阵的每个元素表示每个资源在没有负载时执行每个任务需要的时间;以及(32) 根据所述预期执行时间矩阵获取最小执行时间向量,所述最小执行时间向量的每 个元素为所述预期执行时间矩阵中每个任务行的最小值。
3. 如权利要求2所述的移动网格任务调度方法,其特征在于,所述步骤(31)中预期执 行时间矩阵是通过网络气象服务获取的。
4. 如权利要求2所述的移动网格任务调度方法,其特征在于,所述步骤(32)具体包括如果所述预期执行时间矩阵中不同任务行的最小值出现在相同资源上,则与所述不同 任务行的下一任务对应的最小执行时间向量的元素为所述下一任务所在行的次最小值。
5. 如权利要求2所述的移动网格任务调度方法,其特征在于,还包括如下步骤(33) 根据所述最小执行时间向量获取最小执行时间数组,所述最小执行时间数组的每 个元素表示与所述最小执行时间向量的每个元素对应的任务和资源组成的数对。
6. 如权利要求5所述的移动网格任务调度方法,其特征在于,所述步骤(3)中的预期提 交通信时间获取的步骤具体为(34) 根据所述最小执行时间数组获取预期提交通信时间向量,所述预期提交通信时间 向量的每个元素表示所述最小执行时间数组的每个元素的对应任务传送到对应资源的通 信时间。
7. 如权利要求5所述的移动网格任务调度方法,其特征在于,所述步骤(3)中的预期结 果返回通信时间获取的步骤具体为(35) 根据所述最小执行时间数组获取预期结果返回通信时间向量,所述预期结果返回 通信时间向量的每个元素表示所述最小执行时间数组的每个元素的对应资源在对应任务 完成时将所述对应任务的处理结果返回给任务调度者的通信时间。
8. 如权利要求7所述的移动网格任务调度方法,其特征在于,所述步骤(35)具体为 (351)根据所述最小执行时间数组获取预期结果返程数组,所述预期结果返程数组的每个元素表示所述最小执行时间数组的每个元素的对应资源在所述对应任务完成时与所 述任务调度者之间的距离;(352)根据所述预期结果返程数组获取预期结果返回通信时间向量,所述预期结果返 回通信时间向量的每个元素为所述最小执行时间数组的每个元素与结果返回传输速度的 商。
9. 如权利要求8所述的移动网格任务调度方法,其特征在于,所述步骤(351)具体为 利用极坐标建立移动预测模型,所述移动预测模型预测所述最小执行时间数组的每个元素的对应资源在所述最小执行时间内完成所述对应任务时的位置,根据所述预测的位置 以及所述任务调度者的位置获取所述最小执行时间数组的每个元素的对应资源在所述对 应任务完成时与所述任务调度者之间的距离,所述获取的每个距离为所述预期结果返程数 组的元素。
10. 如权利要求l所述的移动网格任务调度方法,其特征在于,所述步骤(4)具体包括如果所述最小执行时间、所述预期提交通信时间和所述预期结果返回通信时间之和的 最小值出现多个,则获取所述多个最小值中较小的最小执行时间对应的资源和任务。
全文摘要
本发明公开了一种移动网格任务调度方法,其通过对任务队列中的所有任务以及资源集中的所有资源进行分组,然后在同类任务组和资源组中查找每个任务在执行时消耗时间最小的资源,并根据每个任务和查找的对应资源获取最小执行时间、预期提交通信时间和预期结果返回通信时间之和的最小值对应的资源和任务,然后将所述资源分配给所述任务,在所述任务调度完成后取消所述任务,并更新所述资源集,进而完成移动网格任务调度。本发明移动网格任务调度方法充分考虑移动网格环境下资源的移动性,任务调度采取整个任务的调度时间最小的策略,并且任务调度在所有分组中并行进行,缩短了调度时间。
文档编号H04W80/12GK101702833SQ20091027255
公开日2010年5月5日 申请日期2009年10月27日 优先权日2009年10月27日
发明者李方云, 李春林, 李辉, 申智勇 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1