微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 网格协同设计环境中的任务调度机制

网格协同设计环境中的任务调度机制

时间:08-01 来源:电子技术应用 点击:

2 GMCD中的任务调度机制

  由于网格协同设计环境的特殊性,网格协同设计环境中的任务调度模型和通用的网格调度模型相比也具有特殊性。现以GMCD构架为例,讨论网格协同设计中的任务调度机制。

  GMCD系统体系结构由底而上可分为四层,即设计知识单元DKU(Design Knowledge Units)[4]、网格中间件、设计中间件和应用层,如图1所示。


  DKU及互联网络组成了GMCD的底层支持结构。DKU是Internet上的具有设计能力的组织或机构,它们在某一类产品或零部件研发上具有先进的设计技术和生产能力。在DKU内部存在设计知识数据库、局域网和设计工具(集)。它们之间通过Internet或专用高速网连通。在设计过程中,各个DKU之间具有平等关系,各自负责所获得任务的运行,相对来说是独立的。

  用户在应用层通过Portal将任务提交给设计中间件。设计中间件将由Portal提交的设计任务分解为可以被DKU执行的子任务。分解过程如下。

  GMCD任务分解分为两层。任务以XML(eXtensible Markup Language)文件形式被提交后,首先会由资源请求代理转交给自称能完成该任务的域,然后在域控制管理器内被首次分解,分解的原则是可执行原则。对于已经进入域控制管理器的任务,应用分解智能体根据知识库内的知识,将其分解为可以被DKU执行的任务。知识库内保留了该域内所有DKU的功能申明。域内任务分解(高层分解)的目标是把任务分解为可以被DKU执行的子任务,低层任务分解在DKU内进行,其目标是把子任务分解为可以被DKU中服务器执行的底层操作。由于设计工作的特殊性,DKU分布通常不均匀,能完成有关联或相似性设计任务的DKU通常在一个或几个域内。如果被提交的设计任务没有合适的域可以执行,则还要在高层分解之前加入一层手工分解或由资源请求代理分解。也就是说,可以把任务返还给用户,由用户根据一定的设计知识对设计任务实行手工分解,也可以由资源请求代理根据域的功能自述分解为可以被域执行的子任务。域资源管理器和DKU的关系如图2所示。


  子任务在DKU内被重新解析为可以被服务器执行的底层任务,然后由DKU调度到各个服务器上去执行。
  高层分解和低层分解在失败时都回溯。

  分解后的任务由域调度器调度到合适的DKU上去执行。GMCD的任务映射分为三个层次。资源请求代理保留了每个域的功能自述副本。任务通过Portal提交后,根据域的功能自述,被转交给能完成该任务的域;然后在域内分解再由域调度器进行二次映射,二次调度的目的是把分解后的子任务映射到合适的DKU上去;在DKU内的调度是第三次映射,这次调度的目的是把解析子任务后得到的底层任务映射到合适的服务器上去。本文所关注的是第二次调度,也就是分解以后的任务如何由域调度器调度到DKU上。在第二次调度中,由于设计任务的特殊性,一组相似或相关任务通常会在一个时间段内陆续到达。


3 资源预留的引入

  资源预留是网格系统中一个十分必要的机制,因为资源预留可以保证任务在开始执行时获得必要的资源,从而提高网格系统的QoS。因此,资源预留的提出,从一开始就得到了广泛的认可,在目前网格系统的调度模块中已经被广泛采用。在协同设计过程中,每个设计任务,特别是其中某些大任务的执行直接影响设计任务完成的时间,在本文中引入了资源预留机制,以便为其中的大任务提供动态预留资源[5],进而提高协同设计的效率。

  下面讨论引入资源预留的网格协同设计任务调度模型。

  网格协同设计任务执行的框架分为三个层次:由底而上依次为资源层、资源管理控制层和应用(用户)层。资源层是可以进行设计的实体DKU或者其他必要的资源,接受资源管理控制层的管理。应用层负责用户任务的提交和结果的反馈。资源管理控制层可以抽象为一个资源管理器,在控制管理器内设置了负责任务映射和资源预留请求的模块。

  网格协同设计任务调度系统模型示意图如图3所示。


  在图3中,在设计应用层和资源管理器之间省略了一个资源请求代理层。这是因为假定任务已经由资源请求代理指定为由该域完成。在这个域中,有多种系统资源,主要考虑计算资源和存储资源,在预留资源时既可能要预留计算资源也可能要预留存储资源及其他资源。当调度系统有预留的需求时,就通过创建预留操作向资源预留请求处理模块提出预留请求。资源信息由资源发现和资源监控提供。

  在该任务调度系统模型中,任务执行的大致流程如下:用户通过网格门户Portal将任务提交给资源请求代理;资源请求代理将任务分配给可以执行该任务的域,必要时可以先对任务进行分解;在域内任务被分解并被调度到具体的资源上去执行。任务执行的结果由资源逐层向上返回给用户,任务执行的状态监控由资源监控模块负责。

  在本文中,首先分析了网格任务调度模型,然后基于网格协同设计环境的特殊性,以GMCD为构架,分析了网格协同设计中任务分解和任务执行的过程,引入了资源预留机制,建立了网格协同设计环境中的任务调度模型。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top