基于光网格的任务调度方法

文档序号:7685281阅读:199来源:国知局
专利名称:基于光网格的任务调度方法
技术领域
本发明涉及一种计算机应用技术领域的方法,具体是一种基于光网格的任务 调度方法。
背景技术
光网络可以提供上百Gbps的传输速率,能够对传输链路提供保护与恢复, 也能够按照用户的请求动态地建立与拆除光路,因而光网络被越来越多地应用于 网格中,满足其数据传输要求。"光网格"就是用高速率的光网络将分布式的网 格资源互联在一起,以满足网格应用的数据传输需求。在光网格中,由于光网络 上的数据传输是基于端到端的电路交换的光路,所以光网格上的任务分派不仅需 要分配网格资源,所以还应该对所有数据传输进行光网络路由,并按照路由分配 光纤资源给所有数据传输,最小化传输时间,继而最小化任务的执行时间。任务 分派结果包括两方面网格资源分配结果、光网络资源分配结果。在获得分派结 果之后,需要按照此结果将任务在光网格上执行,即需要按照网格资源分配结果 在网格资源上执行任务,同时根据光网络资源分配结果在光网络中建立光路并传 输任务之间的数据。由于光网格是一个分布式的计算机与光网络共存的系统,它 需要将以分派任务到各个网格资源上、通过光网络控制平面来在光网络中建立与 拆除光路,同时实时地监控网格资源与光网络的运行状况。综上所述,任务分派与任务执行在光网格中是紧密结合的,分派的目的是为 了更快的完成任务,同时任务执行根据需要优化的分派方案。同时,光网格由于 其光路端到端电路交换连通性、光路建立与拆除等特性对任务分派算法与执行有 着特殊的要求,因此, 一种专门针对的光网格的结合了优化任务分派与管理任务 执行的任务调度方法对于当前快速发展的光网格是十分必要的。经对现有技术文献的检索发现,HalukT叩cuoglu (哈鲁克.托普楚格鲁)在 "Proceedings of The Sixth IEEE International Symposium on High Performance Distributed Computing" , 1997 (第六届国际高性能计算研讨会)上发表了其关于网格及分布式计算系统架构的论文"The Software Architecture of a Virtual Distributed Computing Environment"(—种虚 拟分布式计算环境的软件架构),该文中定义了对资源以及任务的描述方式,并 提出了将各个任务优化分配到可用资源以最小化其总完成时间的方法,同时设计 了任务调度器完成网格资源管理、任务调度和任务执行的功能。但是该调度器不 是基于光网格,没有考虑光网络中端到端数据传输、光路建立与拆除等特性。该 调度方案单纯分派网格资源而认为光网络透明,在实际运行时会出现光路资源冲 突、死锁等情况,可能使得执行结果与分派结果相差甚远。同时,该调度方案在 任务执行过程中也没有考虑到对光网络进行光路建立与拆除的操作,以传输任务 之间的网格数据。发明内容本发明针对上述现有技术的不足,提供了一种基于光网格的任务调度方法, 使光网格任务调度服务器从网格用户处接收到任务之后,根据光网格所有资源运 行能力进行优化任务分派,在获得分派结果之后,按照网格资源分配结果将所有 任务分派到预定的资源上去,并按照光网络资源分配结果在适当的时候建立光路 传输网格数据,最终完成用户提交的所有任务。本发明采用了针对光网格的任务 分派策略,同时根据分派结果在任务执行过程中将任务执行与光路数据传输紧密 地联系在一起。本发明是通过如下技术方案实现的,包括如下步骤 步骤一,任务调度服务器接收用户向任务调度服务器提交的任务集; 所述的任务集,包括任务的集合和任务之间数据传输的集合,任务是网格资 源能够完成的工作,有任务类型、运行时间等指标,用一定的数据结构来表示, 并且通过通信网络以序列化对象、XML文本等方式进行传递,任务需要输入数据, 也会生成输出数据。所述任务调度服务器,其基于连接用户与任务调度服务器的信令网接收任务集。步骤二,根据实时的网格资源与光网络资源的性能,对用户提交的任务进行 优化分派,得到分派结果;所述优化分派,其分派策略为最小化任务的完成时间和数据的传输时间。 所述优化分派,具体为按任务集的内容与实时的网格资源和光网络资源的性能,对用户提交的任务集进行任务完成时间和数据传输时间的预算,对于各个 任务,预算各个网格资源完成任务执行的时间,并将其中最早的时间所对应的网 格资源分派给该任务;对于各个数据传输,预算各条光路完成数据传输的时间中, 将其中最早的时间所对应的光路资源分派给该数据传输,分派结果包括任务集中 所有任务的资源,以及任务之间数据传输所用的光路。所述进行任务执行时间的预算,采用穷举法,将各个任务分别放在每个可用 的资源上,比较该任务的在各个资源上的完成时间,并将该完成时间最早的资源 确定为执行该任务的网格资源。所述进行数据传输时间的预算,采用光网络路由算法,如迪杰斯特拉 (Dijkstra)最短路径优先算法,在光网络中找到一条跳数最短的光路,传输任 务之间交换的数据,并将该光路确定为传输该数据的光网络资源。步骤三,得到优化的分派结果后,任务调度服务器按照该网格资源分配结果 把每个任务分派到已确定的网格资源上去执行;所述任务调度服务器依次将每个任务通过信令网传递给已确定的网格资源 进行执行。步骤四,在任务执行过程中,按照光网络资源分配结果建立光路,传输任务 之间的网格数据,在传输完毕后将光路拆除;所述步骤四,具体为任务调度服务器通过程序接口或系统调用向光网络控 制平面请求,在分别执行两个需要交换数据的任务的两个不同资源之间建立光 路,而后通知上述资源进行数据传输;资源结束数据传输之后网格资源将通过信 令网通知任务调度服务器,任务调度服务器通过程序接口或系统调用指令光网络 控制平面拆除上述资源间的光路。步骤五,在步骤一到步骤四的过程中,实时地监测网格资源和光网络资源的 性能;所述实时监测网格资源,是指通过S醒P (简单网络管理协议)的网络管理系统对网络资源进行实时监测,SNMP协议监控基于IP协议的通信网络与网格 计算机资源,具体包括监控通信网络连通性、网格计算机软硬件信息、运行状况、 空闲状况等;所述实时监测光网络资源,是指由现有的光网络控制器或控制平面对光网络资源进行实时监测,通过程序接口或系统调用进行通信,监控光网络拓扑结构、连通性、可用带宽等信息。与现有技术相比,本发明具有如下有益效果本发明一方面可以在光网格中对用户的任务集进行优化调度;另一方面,在建立与拆除光路、监控光网络等步骤中,本发明直接用系统调用来实现与已有的光网络控制平面的耦合,实现非常方便,并且开销较小。本发明填补了光网格领域任务调度服务器的空白,同时所提出的方案是一种轻量级的解决方案,容易实现,重用性强,因而应用范围广泛。


图1是本发明的实施例中对任务T的执行时间的预算过程的流程图。
具体实施方式
下面对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下 进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限 于下述的实施例。本实施例中的任务调度服务器运行于己联网的计算机上。本实施例中的信令网,是基于局域网或城域网的IP交换网络,能够支持小数据量的消息与信令传输。本实施例中的光网络,是基于GMPLS (通用多协议标志交换协议)的自动交换光网络(AS0N),该光网络的数据传输是通过基于光路的电路交换。该网络有一个控制平面(Control Plane)对光网络进行监控管理,包括控制光交叉连接(0XC)转换其内部光开光(Optical Switch)的状态,以建立或拆除光路;监控光网络运行状态,其中光网络运行状态包括光路连通性、传输带宽、实际拓扑结构等。本实施例具体包括以下步骤步骤一,任务调度服务器接收用户向任务调度服务器提交的任务集; 所述的任务集,包括任务的集合和任务之间数据传输的集合,任务是网格资 源能够完成的工作,有任务类型、运行时间等指标,用一定的数据结构来表示, 并且通过通信网络以序列化对象、XML文本等方式进行传递,任务需要输入数据, 也会生成输出数据。所述任务调度服务器,其基于连接用户与任务调度服务器的信令网接收任务集。本实施例使用采用对象请求代理(0RB)模型进行传输,其中,对象请求代理是一个中间件,它在对象间建立客户-服务器的关系,通过对象请求代理,一 个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是 通过一个网络访问。对象请求代理截获调用然后负责找到一个对象实现这个请 求,传递参数和方法,最后返回结果。客户不用知道对象在哪里,是什么语言实 现的,它的操作系统以及其他和对象接口无关的东西。本实施例中定义了一个 0RB类,该类抽象了任务,同时,该类的成员变量抽象了该任务的参数。该类的申明如下class Taskint taskID; int type;string functionality long taskLength;其中,整型变量taskID表明该任务的编号,整型变量type表明该任务的类 型,字符型变量functionality表明执行该任务需要的功能,长整型变量taskLength表明该任务的执行时间长度。在用户向任务调度服务器提交其任务时,它将该ORB类实例化,创建一个ORB 对象,并用该ORB对象的成员变量表示其任务信息。而后,将使用ORB技术将该 ORB对象发送给任务调度服务器。该对象发送的调用接口由开发人员自己申明,如下module TaskSubmitinterface TaskSubmittorvoid submitTask(Task task);在申明方法后,ORB技术自动生成该方法的下层传输协议和代码。用户端只 需继承该接口,实现一个类,并以上述实例化的ORB对象的task为参数调用该 类的void submitTask(Task task)(提交任务)方法,就可以把任务发送至任务调度服务器。同时,任务调度服务器运行一个系统服务,时时刻刻监听可能到 来的任务。收到任务对象后,将分析该任务对象,从中提取出各个任务信息。本 实施例不对ORB技术进行更深入的说明,本领域的一般技术人员可以理解,该任 务提交方式并不局限于0RB方式一种。该任务还可以通过Socket (套接字)方式,以序列化对象的形式提交和接 收,例如用^^丄++等支持序列化的编程语言进行实现,也可以通过沐^ Service (网络服务)的方式用XML文档来描述任务并进行提交与处理。步骤二,根据实时的网格资源与光网络资源的性能,对用户提交的任务进行 优化分派,得到分派结果;所述优化分派,其分派策略为最小化任务的完成时间和数据的传输时间。所述优化分派,在分派策略为最小化任务的完成时间和数据的传输时间的情 况下,具体为按任务集的内容与实时的网格资源和光网络资源的性能,对用户 提交的任务集进行任务完成时间和数据传输时间的预算,对于各个任务,预算各 个网格资源完成任务执行的时间,并将其中最早的时间所对应的网格资源分派给 该任务;对于各个数据传输,预算各条光路完成数据传输的时间中,将其中最早 的时间所对应的光路资源分派给该数据传输,分派结果包括任务集中所有任务的 资源,以及任务之间数据传输所用的光路。所述进行任务执行时间的预算,采用穷举法,将各个任务分别放在每个可用 的资源上,比较该任务的在各个资源上的完成时间,并将该完成时间最早的资源 确定为执行该任务的网格资源。所述进行任务执行时间的预算,根据所有网格资源的可用时间,可用时间为 该网格资源完成其所有被分配的任务的完成时间,若该网格资源当前没有传输执 行任何任务,则其可用时间为当前时间。所述进行数据传输时间的预算,采用光网络路由算法,如迪杰斯特拉 (Dijkstra)最短路径优先算法,在光网络中找到一条跳数最短的光路,传输任 务之间交换的数据,并将该光路确定为传输该数据的光网络资源。如图1所示,是对任务T的执行时间的预算过程的流程图,其中当前时间以 0s记。网格资源l、 2和3己经被分配给其它任务,其各自的可用时间为50s、 40s和50s,同时根据任务T的信息和网格资源1、 2和3的执行能力,调度器预 测任务T在网格资源1、 2和3上的执行时间分别为60s、 50s和50s。则任务T在网格资源1、 2和3上预测完成时间分别为110s、 90s和100s,其中最早的90s 所对应的网格资源2被选择该任务T的执行资源,同时网格资源2的可用时间将 更新为90s。步骤三,得到优化的分派结果后,任务调度服务器按照该网格资源分配结果 把每个任务分派到已确定的网格资源上去执行;所述任务调度服务器依次将每个任务通过信令网传递给已确定的网格资源进行执行。在本实施例中,任务的分派同样可以使用在步骤一中使用的0RB方式进行。 具体的,任务使用步骤一中的ORB类进行描述。同时,定义向网格资源发送任务 并命令其执行该任务的调用接口由开发人员自己申明,如下 module TaskExecutioninterface TaskExecutorvoid executeTask(Task task);在申明方法后,ORB技术自动生成该方法的下层传输协议和代码。任务调度 服务器继承该接口,实现一个类,并以上述ORB对象的task为参数调用该类的 void executeTask (Task task)(执行任务)方法,就可以把任务发送至网格资 源。同时,网格资源运行一个系统服务,时时刻刻监听可能到来的任务。收到任 务对象后,将分析该任务对象,从中提取出各个任务信息,进行任务执行。本领 域的一般技术人员可以理解,该任务提交方式并不局限于ORB方式一种。也可以 通过Web Service的方式用XML文档来描述任务并进行提交与处理。步骤四,在任务执行过程中,按照光网络资源分配结果建立光路,传输任务 之间的网格数据,在传输完毕后将光路拆除;所述步骤四,具体为任务调度服务器通过程序接口或系统调用向光网络控制 平面请求在分别执行两个需要交换数据的任务的两个不同资源之间建立光路,而 后通知上述资源进行数据传输;资源结束数据传输之后网格资源将通过信令网通知任务调度服务器,任务调度服务器通过程序接口或系统调用指令光网络控制平 面拆除上述资源间的光路。在本实施例中,控制平面使用RSVP (资源预留协议)对自动交换光网络出 光路建立与拆除的请求。RSVP对于光网络领域的一般技术人员是熟知的,本说明书不进行更深入的说明。步骤五,在步骤一到步骤四的过程中,任务调度服务器实时地监测网格资源和光网络资源的性能;本步骤可以周期性运行,维护网格资源信息和光网络资源 信息以供任务分派优化时使用,使其能够做出针对实时环境的符合实际运行能力 的优化。所述实时监测网格资源,是指通过S陋P (简单网络管理协议)的网络管 理系统对网络资源进行实时监测,S醒P协议可以监控基于IP协议的通信网络与 网格计算机资源,具体包括监控通信网络连通性、网格计算机软硬件信息、运行 状况、空闲状况等;所述实时监测光网络资源,是指由现有的光网络控制器或控制平面对光网 络资源进行实时监测,通过程序接口或系统调用进行通信,监控光网络拓扑结构、 连通性、可用带宽等信息。本实施例一方面可以接收用户的任务集,并按光网格的任务执行和数据传输 要求进行优化调度;另一方面,在建立与拆除光路、监控光网络等步骤中,本实 施例直接用系统调用来实现与己有的光网络控制平面的耦合,实现非常方便,并 且开销较小。本实施例填补了光网格领域任务调度服务器的空白,同时所提出的 方案是一种轻量级的解决方案,容易实现,重用性强,有较广泛的应用范围。
权利要求
1、一种基于光网格的任务调度方法,其特征在于,包括如下步骤步骤一,任务调度服务器接收用户向任务调度服务器提交的任务集;步骤二,根据实时的网格资源与光网络资源的性能,对用户提交的任务进行优化分派,得到分派结果;步骤三,得到优化的分派结果后,任务调度服务器按照该网格资源分配结果把每个任务分派到已确定的网格资源上去执行;步骤四,在任务执行过程中,按照光网络资源分配结果建立光路,传输任务之间的网格数据,在传输完毕后将光路拆除;步骤五,在步骤一到步骤四的过程中,实时地监测网格资源和光网络资源的性能。
2、 根据权利要求1所述的基于光网格的任务调度方法,其特征是,所述的 任务集,包括任务的集合和任务之间数据传输的集合,任务是网格资源能够完成 的工作,包括任务类型、运行时间指标,用数据结构来表示,并且通过通信网络以序列化对象、XML文本方式进行传递,任务需要输入数据,也会生成输出数据。
3、 根据权利要求1所述的基于光网格的任务调度方法,其特征是,所述任务调度服务器,其基于连接用户与任务调度服务器的信令网接收任务集。
4、 根据权利要求1所述的基于光网格的任务调度方法,其特征是,所述优 化分派,其分派策略为最小化任务的完成时间和数据的传输时间。
5、 根据权利要求1或4所述的基于光网格的任务调度方法,其特征是,所 述优化分派,具体为按任务集的内容与实时的网格资源和光网络资源的性能, 对用户提交的任务集进行任务完成时间和数据传输时间的预算,对于各个任务, 预算各个网格资源完成任务执行的时间,并将其中最早的时间所对应的网格资源分派给该任务;对于各个数据传输,预算各条光路完成数据传输的时间中,将其 中最早的时间所对应的光路资源分派给该数据传输,分派结果包括任务集中所有 任务的资源,以及任务之间数据传输所用的光路。
6、 根据权利要求5所述的基于光网格的任务调度方法,其特征是,所述进 行任务完成时间的预算,采用穷举法,将各个任务分别放在每个可用的资源上,步骤202,判断SN是否满足SN-VR(R)且VR(R)=VR(H),即判断SN是 否为下一个要接收的连续的PDU的SN,且为下一个期望接收的最大PDU的 SN,如果是,表明当前为按序接收,进入步骤203,否则进入步骤204。步骤203,更新VR(R)、 VR(H)和VR(MR),使得发送窗口不断向前滑动, 然后进入步骤211。步骤204,判断SN是否满足SN〉-VR(H),如果是,进入步骤205,否则 进入步骤206。步骤205,更新VR(H),并根据SN更新缺失PDU信息,然后进入步骤211。根据SN更新缺失PDU信息包括以下两种情况(a) 如果SN-VR(H),保持缺失PDU信息不变;(b) 如果8>^>¥11(^),增加一个保存缺失PDU信息的元素,该元素的起 始序列号等于VR(H),连续缺失的个数为SN与VR(H)的差。步骤206,判断VR(R)是否小于VR(H),如果是,进入步骤207,否则, 即VR(R)=VR(H),表明该PDU为重复接收,进入步骤212。步骤207,根据缺失PDU信息,判断SN是否在缺失PDU信息范围内, 如果是,进入步骤208,否则表明PDU为重复接收,进入步骤212。步骤208,判断SN是否等于VR(R),如果是,进入步骤209,否则进入 步骤210。步骤209,更新VR(R)和VR(MR),进入步骤210。 步骤210,根据SN更新缺失PDU信息,然后进入步骤211。 遍历所有已保存的缺失PDU信息元素,更新缺失PDU信息,包括以下几 种情况(a) 如果SN等于缺失PDU信息中某元素A的起始序列号,则将元素A 的起始序列号加l,连续缺失个数减l;如果连续缺失个数减至O,则将元素A 从保存缺失PDU信息的数据结构中删除;(b) 如果SN等于缺失PDU信息中某元素B的"起始序列号+连续缺失 个数-r (即元素B的最大序列号),则将元素B的连续缺失个数减1;如果 连续缺失个数减至0,则将元素B从保存缺失PDU信息的数据结构中删除;
全文摘要
一种计算机应用技术领域的基于光网格的任务调度方法,包括步骤一,任务调度服务器接收用户向任务调度服务器提交的任务集;步骤二,根据实时的网格资源与光网络资源的性能,对用户提交的任务进行优化分派,得到分派结果;步骤三,得到优化的分派结果后,任务调度服务器按照该网格资源分配结果把每个任务分派到已确定的网格资源上去执行;步骤四,在任务执行过程中,按照光网络资源分配结果建立光路,传输任务之间的网格数据,在传输完毕后将光路拆除以备其它传输之需;步骤五,在步骤一到步骤四的过程中,实时地监测网格资源和光网络资源的性能。本发明弥补了光网格领域任务调度方法的空白,实现简单,效率高,应用范围比较广泛。
文档编号H04L29/08GK101227500SQ20081003373
公开日2008年7月23日 申请日期2008年2月21日 优先权日2008年2月21日
发明者孙震宇, 王正宇, 薇 郭 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1