网格方法是继Internet, Web技术之后的第三次的技术革命,也是 伴随着Internet技术一起发展起来的。随着科技的发展,科学、工程和 商业领域中大规模性的计算问题的出现,使得单一的环境(P2P),单一的 技术(集群计算)无能为
力,它必须寻求一种价格低廉,处理能力超强的
高性能计算环境,网格就这样应运而生。网格方法的核心思想是寻求一 种超级计算能力的虚拟计算机,它利用目前十分流行的Internet技术将 地理
位置上的分布式的异构资源,如
服务器,工作站,局域网,集群,文件, 处理器,
存储器等等全面共享,这种共享不是如今的Internet只是实现信 息的上载与下载,它利用各种资源代理,实现资源透明的
访问,使得 Internet构成一台超级的,高性能计算能力的虚拟处理机。在结构上, 网格方法实际上是利用互联网将分散在不同地域上的计算机组织起来, 形成一个虚拟的"超级计算机",每个参与的计算机就是一个,,
节点", 成千上万的节点组合起来,成为一个网格。网格方法有两个优势: 一是 超强的计算能力;另一个是能充分利用网络中的闲置的计算能力,从而 使得Internet上的计算资源,存储资源,数据资源、信息资源、知识资 源、专家资源等全面共享并得到充分的利用。网格中资源是异构的,主要表现在资源的结构、配置和容量上的不 同,它包括共享时间的处理器资源和共享空间的存储器资源以及其他形 势的各种资源;网格中资源是属于多管理领域的,并且每个领域都有自
己的管理策略,这就使得网格中的资源不可能像集群(Cluster)中资源一 样实行集中管理,而必须实行分布式管理策略;网格的资源是动态变化 的,因为在这样一个大规模环境中,随时有资源加入其中,也随时有资 源退出其中,也有资源可用数量减少等等动态变化的因素,所以网格必 须有能够实时监控网格中资源变化的能力。像这样一个规模遍及全球、 资源异构并且动态变化的网格结构,对资源的管理和调度势必异常复杂。 由上可见, 一方面由于网格环境价格低廉、计算能力超强,使得网格 成为解决科学、工程和商业领域中大规模性问题的最佳环境;另一方面 由于网格环境中的资源地理位置上的分布性、管理策略的多样性、资源 配置的异构性和动态性等特点使得网格计算十分具有挑战性。平衡这两 种矛盾的最好办法只能取长补短,克服缺点。因此,网格中的资源管理 和调度成为网格计算的核心问题。
网格资源管理通常采用资源代理的方式,及网格用户所需要解决的任 务首先提交给资源代理,让资源代理负责解决,资源代理通过网格信息 服务GIS(Grid Information Service)找到可用资源,并采用一定的调度 方法将任务分派给资源执行;而网格资源调度的具体过程如下: ①用户提交任务
网格方法的对象是用户,用户是网格计算服务的对象,网格中的每个 用户都有一个资源代理(Broker),在方法之初,用户将包含一定约束条件的任务提交给自己的代理;
② 资源代理与GIS交互得到可用信息
网格代理通过网络,查询网络上所有可能的GIS,寻求可用资源信息, 资源应该满足用户任务的约束,比喻说费用和截止期的约束,两者交互过 程中代理将和GIS就其使用资源进行讨价还价,因为代理总是想得到价格 最低的资源,而GIS总是期望高价出售自己的资源,以便最大化资源的利 润.最终他们在市场机制的调节作用分别做出让步,代理收集得到的资源 信息,准备使用;
③ 代理采用 一定的资源调度方法,以满足用户任务的要求 代理采用合理的调度方法进行资源,任务映射,映射时必须满足用户的
约束条件,并且能够优化网格某一方面的性能,比如说,时间最小,费用最 低等;
④ 资源分派
代理按照调度方法将任务分派到可用的资源上,让其执行;
⑤ 监控资源状态
因为网格中的任务是动态变化的,代理在任务执行时,应该实时的监 控资源的状态,包括数量的变化,可用性,速度,存储量的变化,任务执行 完成等;
⑥ 收集任务的结果
资源执行完任务后,把执行结果返回给代理,代理应该收集执行情况;
⑦ 将任务结果返回用户
代理将返回的任务结果进行处理后返回给用户。目前网格资源调度方法中,大多数都忽略了建立网格的基石,网络
因素,及网络带宽,而且网格是一个地域遍及Internet,因此可以找到 很多资源,可以满足任意资源要求,传统资源调度都认为网格资源数目 远小于用户调度的任务数目。
本发明的目的是为了优化网格资源调度,尽量保证网格任务调度完 成而提出的一种资源代理可以找到和用户任务相当的资源数目,也是保 证用户任务调度完成的基于时间和费用约束的网才各任务调度方法。
为了实现上述目的,本发明的具体方法是:
第一步骤:将所得到的资源首先按带宽十速度(Bw +"从大到小排序 (带宽越高,速度越快,这样的资源应该优先调度);
第二步骤:在排序过程中如果有两种资源具有相同的带宽+速度之 值,那么再按价格(C)排序,价格越低的排在前面(价格最优);
第三步骤:资源按带宽+速度分组,同一分组中有相同的带宽+速度 值,并且是按价格从小到大排序;
第四步骤:用户的子任务按任务长度从大到小排序(优先让长任务分
派到高带宽,高速度的资源上,极大极小
算法);
笫五步骤:按上述顺序,将用户任务与资源从左到右一一映射:由 于代理取得了与用户数量相当的资源个数,那么任务调度时,无须多个 任务映射到同一个资源,而基本上是一一映射;
第六步骤:重复上述过程直到任务调度完成为止。
本发明与传统网格资源调度相比,表现的优点如下:充分考虑了构成网格的网络带宽,考虑了网格调度过程中三个QoS因素:截止期、预 算、带宽,这是目前网格资源调度很少考虑的;提出了一种保证机制, 也就是尽量能让用户的任务调度完成,而不是传统调度算法中,调度过 程中如果出现什么例外因素,任务不能完成,没有保证,由于现实中, 存在某些用户的在提交任务过程中,强制要求必须完成,不允许失败, 那么本
专利很有现实意义;在保证的
基础上,提出了任务和资源之间一 一映射,这与传统的资源远小于用户任务不同,它能够充分利用网格资 源,尽量使得任务调度全局最优。
附图说明 图1为本发明的方法
流程图。
具体实施方式 下面结合附图对本发明作进一步的详细描述。
用户任务:用户提交给资源代理的一组任务(L T2,……,L),每个子 任务都有一定的长度Li, i =1, 2…m,整个任务有预算(Budget)和截止期限 (Deadline)约束(B, D),就是说该组子任务必须在费用B内,D时间之内 完成,否则无效。其中,任务的长度用MI (Million Instruct,百万指令) 表示;预算B用CU(Cost Unit,费用单位)表示;截止期限D用S (Second,
网格资源:网格中的一组资源(R!A......,RJ ,每个资源都有(带宽,速度,
价格)(BWi,Vi,Ci)属性,分别表示从代理到资源之间网络带宽,任务在资源 上执行的速度和任务执行时的价格;其单位分别用:MI/S,MI/S,CU/MI表示。保证任务执行:网格是一个分布式异构系统,在网格中执行的任务的 用户QoS需求也是多种多样的,这里解决一类要求具有保证完成QoS要 求。为了达到这个QoS要求,资源代理在与GIS交互过程中,应该考虑 一下的因素:
① 为了尽快完成任务,应该找到尽量多可用的资源。因为网格是一 个规模遍及Internet,找到资源数量接近或超过用户任务数量是有可能 的,以此让用户的任务执行结果全局最优。
② 由于用户提供的任务组(T】T2,..., Tm),每个子任务长度为Li,总 的费用为B,总的时间为D。那么由以上数据得:
用户任务平均执行费用:
S = B/f Zi, i=l,..., m; ( 1 )
用户任务的平均执行速度:
F = Z/)/D, i=l".., m; ( 2 )
为了保证任务在(B, D)约束条件下完成,资源代理在和GIS交互过程 中得到可用资源的过程中,釆用博弈论方法得到价格尽可能的资源,及
要求得到的资源价格Ci和速度Vi满足下面得要求:
S > ci: K《vi; (A)
③ 由于资源代理为了找到尽可能多的资源,势必找到很多满足条件 式(A),但是远距离资源,这样传输带宽小,传输时延大,应该尽可能找 到传输带宽高,传输时延小的近距离资源。
保证性证明:由于资源的数量和子任务的数量相当,那么资源和任务之间基本上可以——映射,当任务L分派到资源Ri, 1 = 1,..』,总的执
行费用如下:
formula see original document page 10,
综合式(3)、 (4)知,用户任务在约定条件下找到满足一定条件的 资源, 一定可以完成。
方法实现:在满足上面条件式(A)条件下, 一定可以保证用户提交 的任务执行完成。但是,由于考虑了网络传输过程中延时问题,任务在 分派过程中由于传输带宽损耗了 一定的时间,这样应该尽可能的降低传 输时延,也就是尽量选择带宽高的,执行速度快的资源进行执行,并且 在调度过程中,也要考虑资源价格,尽可能的选择便宜的资源,只有这 样,才可能使整个调度过程时间-费用综合最优。
本发明主要针对用户对提出的具有预算截止期限任务要求有保证而 提出来的调度方法。首先通过代理与GIS交互找到满足保证的资源;然 后在有保证的条件下,提出对用户任务的费用和时间综合最优调度方法, 最后,进行任务分派。整个调度方法中,综合考虑了用户任务组的费用、 截止日期约束,也考虑了网络带宽三个QoS约束条件下网格任务调度方
同理,总的执行时间如下:法,使得最后执行的时间和费用综合最优。
本
说明书中未作详细描述的内容属于本领域专业技术人员公知的现
有技术。