网格计算“三要素”及Globus的体系结构(转贴)

在网格计算中,首先要查清网格里所有可用资源,比如哪些主机可供访问、还空置多少处理能力、数据库里可供使用的数据是什么、共享的应用程序是否已准备好、共享主机采用何种文件系统等。用户提交的任务要由系统来分配资源并控制其运行,包括要将其分配到哪些主机上运行、调用哪些数据、启动何种应用程序、何时开始运行等。这样,网格计算至少需要具备三种基本功能:任务管理、任务调度和资源管理。
 

 任务管理 用户通过该功能向网格提交任务、为任务指定所需资源、删除任务并监测任务的运行状态。
  任务调度 用户提交的任务由该功能按照任务的类型、所需资源、可用资源等情况安排运行日程和策略。
  资源管理 确定并监测网格资源状况,收集任务运行时的资源占用数据。
  根据马森大学的研究,网格计算可分为集中式任务管理系统、分布式任务管理系统、分布式操作系统、参量分析、资源监测/预测以及分布式计算接口等五类,现有的网格计算技术方案主要集中在第一、二类。属于集中式任务管理系统的有Sun公司的Grid Engine、LSF(Load Sharing Facility)、PBS(Portable Batch System)等;属于分布式任务管理系统的有Globus、Legion和NetSolve等。集中式系统由一台计算机统一调度任务,分布式系统任务的加载和运行控制由网格中每台计算机自行完成。
  理论框架
  Globus是美国Argonne国家实验室的研发项目,全美有12所大学和研究机构参与了该项目。Globus对资源管理、安全、信息服务及数据管理等网格计算的关键理论进行研究,开发能在各种平台上运行的网格计算工具软件(Toolkit),帮助规划和组建大型的网格试验  平台,开发适合大型网格系统运行的大型应用程序。Toolkit是Globus最重要的成果,其第一版在1999年推出,最新版本是去年推出的Release 1.1.4。Toolkit源码开放,任何人都可以从其网站上下载源代码。目前,Globus的技术已在NASA网格(NASA IPG)、欧洲数据网格(Data Grid)、美国国家技术网格(NTG)等8个项目中得到应用。
  通常,网格计算着眼于大型应用项目,按照Globus的观点,大型应用项目应该由许多组织协同完成,它们形成一个“虚拟组织”,各组织拥有的计算资源在虚拟组织里共享,协同完成项目。
  这里我们以对一家新建工厂进行的可行性分析为例。企业将自身的历史数据交付共享,财务顾问公司将自已的财务分析/预测系统交付共享,决策咨询公司也将自已的假设性分析系统交付共享。如此一来,参加可行性分析的各方形成了一个虚拟组织,所有资源由各方共享,
  大家可在全球不同的地点共同工作,最后完成任务。按照这种理念,虚拟组织需要的是一个非常富有弹性的共享关系。共享的时间、共享的权限、资源的数量都会不断发生变化。
  按Globus的定义,所有用于共享的实体都是资源,计算机、存储器、数据、软件等是资源,分布式文件系统、缓冲池等也是资源。对于共享而言,有价值的不是设备本身而是实体的接口或界面。
  在Globus看来,现有的共享方案,比如互联网、B2B、ASP、SSP、Java、CORBA、DCE等,要么在共享配置的灵活性上、要么在共享资源种类上不能完全满足虚拟组织的需要。同时,Globus并不试图取代现有技术,而是希望在现有技术之上建立更高层次的共享。
  从技术的角度看,共享是资源或实体间的互操作,比如用甲计算机的What-If分析程序调用乙计算机的数据库。Globus认为,网络环境下的互操作意味着需要开发一套通用协议,用它来描述消息的格式和消息交换的规则。在协议之上,需要开发一系列服务,这与建立在TCP/IP协议上的Web服务原理相同。在服务中要定义API,基于这些API再构建软件开发工具(SDK)。
  Globus的体系结构
  Globus的网格计算协议建立在互联网协议之上,以互联网协议中的通信、路由、名字解析等功能为基础。Globus的协议分为五层:构造层、连接层、资源层、汇集层和应用层。每层都有自已的服务、API和SDK,上层协议调用下层协议的服务。网格内的全局应用都通过协议提供的服务调用操作系统。

  构造层(Fabric) 它的功能是向上提供网格中可供共享的资源,它们是物理或逻辑实体。常用的资源包括处理能力、存储系统、目录、网格资源、分布式文件系统、分布式计算机池、计算机集群等。Toolkit中相应组件负责侦测可用的软硬件资源的特性、当前负荷、状态等信息,并将其打包供上层协议调用。
  连接层(Connectivity) 它是网格中网络事务处理通信与授权控制的核心协议。构造层提交的各种资源间的数据交换都在这一层的控制下实现。各资源间的授权验证、安全控制也在这里实现。在Toolkit中,相应组件采用基于公钥的网格安全基础协议(GSI)。在此协议中提供一次登录、委托授权、局域安全方案整合、基于用户的信任关系等功能。资源间的数据交换通过传输、路由及名字解析实现。
  资源层(Resource) 这一层的作用是对单个资源实施控制,与可用资源进行安全握手、对资源做初始化、监测资源运行状况、统计与付费有关的资源使用数据。在Toolkit中有一系列组件用来实现资源注册、资源分配和资源监视。Toolkit还在这一层定义了客户端的C、Java的API和SDK。
  汇集层(Collective) 这层的作用是将资源层提交的受控资源汇集在一起,供虚拟组织的应用程序共享、调用。为了对来自应用的共享进行管理和控制,汇集层提供目录服务、资源分配、日程安排、资源代理、资源监测诊断、网格启动、负荷控制、账户管理等多种功能。
  应用层(Applications) 这层是网格上用户的应用程序。应用程序通过各层的API调用相应的服务,再通过服务调用网格上的资源来完成任务。应用程序的开发涉及大量库函数。为便于网格应用程序的开发,需要构建支持网格计算的库函数。
  目前,Globus体系结构已为一些大型网格应用所采用。研究人员已经在天气预报、高能物理实验、航空器研究等领域已开发了一些基于Globus网格计算的应用程序,较果较好。虽然这些应用虽仍属试验性质,但它至少表明,网格计算可以胜任不少用超级计算机难以胜任的大型应用任务。

仅有1条评论 发表评论

  1. wayitech /

    Thanks for you post. WordPress ofcouse.
    this site is for network security.but welcome.

发表评论