网格计算的相关概念

网格计算的相关概念


发布日期: 2017-07-14 更新日期: 2017-07-14 编辑:xuzhiping 浏览次数: 3556

标签:

摘要: 网格计算也许是个新名词,但对于电脑科学领域来说,并非一个全新的技术。我们可以追溯到十多年前,电脑发展有两个流派:一派是超级电脑,像“CRAY1”(克雷一号)之类的超级电脑,虽然运算速度很快,但造价也极高,不是一般企业可以负担得起的;另外一派的高速运箅就提出,利...

网格计算也许是个新名词,但对于电脑科学领域来说,并非一个全新的技术。我们可以追溯到十多年前,电脑发展有两个流派:一派是超级电脑,像“CRAY1”(克雷一号)之类的超级电脑,虽然运算速度很快,但造价也极高,不是一般企业可以负担得起的;另外一派的高速运箅就提出,利用分散式的方式将需要大量运算的工作,分给很多电脑一同运算,再将计算完的结果送回来。这样便能把很多需要运算的问题,利用多个电脑来协助运算了。如基因排列、撞击模拟、气象预测等,都可以利用这样的方式来完成。

20世纪90年代提出的网格运算概念,是基于网格问题的求解。网格计算是在动态的环境下协调资源分享与问題解决能力,利用互联网或专用网络把地理上广泛分布的各种计算资源互连在一起,构成虚拟的整合应用环境,这些计算资源包括超级计算机、计算机集群、存储系统和可视化系统等。在必要的时候,这项技术还可以有选择地将计算资源作为单独、统一的计算资源来处理。研究人员可突破空间障碍,透过共享的虚拟组织,弹性地建立各种议题和有效的合作机制,并解决更大尺度的问题。

网格运算的目的是善用伺服器能童,利用大量的闲置伺服器运算能力从事更多的工作,包括IBM、Microsoft、Sun等公司已开始将网格运算加入到商用系统中。由于IBM、Sun具有自己的伺服器与作业系统,IBM早已投入许多的人力加入开发;Sun则收购Gridware公司以加快Grid Computing的研发步伐。Microsoft则宣布支援最主要的网格运算组织的Globus Project,在.Net服务与Windows XP作业系统中提供 Grid Computing的Tool Kit,以便于提供商业网格运算服务。

在网格计算中,首先要査清网格里所有可用的资源,比如可供访问的主机、空置的处理能力、资料库里可供使用的资料、共用的应用程序、共用主机采用的操作系统等。用户提交的任务要由系统来分配资源并控制其运行,包括将其分配到哪些主机上运行、调用哪些资料、启动何种应用程序、何时开始运行等。这样,网格计算至少需要具备三种基本功能:任务管理、任务调度和资源管理。任务管理指用户通过该功能向网格提交任务、为任务指定所需资源、删除任务并监测任务的运行状态。任务调度指用户提交的任务由该功能按照任务的类型、所需资源、可用资源等情况安排运行日程和策略。资源管理指确定并监测网格资源状况,收集任务运行时的资源占用资料。根据马森大学的研究,网格计算可分为集中式任务管理系统、分散式任务管理系统、分散式作业系统、参量分析、资源监测/预测,以及分散式计算界面等几类,现有的网格计算技术方案主要集中在第一、二类。属于集中式任务管理系统的有Sun公司的GridEngine、LSF、PBS等;属于分散式任务管理系统的有Globus、Legion和NetSolve等。集中式系统由一台电脑统一调度任务,分散式系统任务的载入和运行控制由网格中各台电脑自行完成。

Globus是美国Argonne国家实验室的研发项目,全美有12所大学和研究机构参与了该项目。Globus对资源管理、安全、资讯服务及资料管理等网格计算的关键理论进行研究,开发能在各种平台上运行的网格计算工具软体,帮助规划和组建大型的网格试验平台,开发适合大型网格系统运行的大型应用程式。Toolkit是Globus最重要的成果,其第一版在1999年推出,Toolkit源代码开放,任何人都可以从其网站上下载。目前,Globus的技术已在NASA网格、欧洲资料网格、美国国家技术网格等8个专案中得到应用。通常,网格计算着眼于大型应用专案,按照Globus的观点,大型应用专案应该由许多组织协同完成,共同形成一个“虚拟组织”,各组织拥有的计算资源在虚拟组织里共用。

按Globus的定义,所有共用的实体都是资源,电脑、记忆体、资料、软体等是资源,分散式档系统、缓冲池等也是资源。在Globus看来,现有的共用方案,比如互联网、B2B、ASPS、SSPS、Java、CORBA、DCE等,或者在共用配置的灵活性上,或者在共用资源种类上不能 完全满足虚拟组织的需要。同时,Globus并不试图取代现有技术,而是希望在现有技术之上建立更高层次的共用。从技术的角度看,共用是资源或实体间的互操作,比如用甲电脑的WhatIf 分析程式调用乙电脑的资料库。Globus认为,网络环境下的互操作意味着需要开发一套通用协定,用来描述消息的格式和消息交换的规则。在协定之上,需要开发一系列服务,这与建立在TCP/IP协议上的Web服务原理相同。在服务中要定义API,基于这些API再构建软体发展工具(SDK)。

Globus的网格计算协定建立在互联网协定之上,以互联网协定中的通信、路由、名字解析等功能为基础。Globus的协议分为五层:构造层、连接层、资源层、汇集层和应用层。每层都有自已的服务、API和SDK,上层协定调用下层协定的服务。网格内的全局应用通过协定提供的服务调用作业系统。

构造层(Fabric):功能是向上提供网格中可共享的资源——物理或逻辑实体。常用的资源包括处理能力、存储系统、目录、网格资源、分布式文件系统、分布式计算机池、计算机集群等。Toolkit中相应组件负责侦测可用的软硬件资源的特性、当前负荷、状态等信息,并将其打包供上层协议调用。

连接层(Connectivity):是网格中网络事务处理通信与 授权控制的核心协议。构造层提交的各种资源间的数据交换 都在这一层的控制下实现。各资源间的授权验证、安全控制也在这里实现。在Toolkit中,相应组件采用基于 公用的网格安全基础协议(GSI)。在此协议中提供一次登录、委托授权、局域安全方案整合、基于用户的信任关系等功能。资源间的数据交换通过传输、路由及名字解析实现。

资源层(Resource):作用是对单个资源实施控制,与可用资源进行安全握手、对资源做初始化、监测资源运行状况、统计与付费有关的资源使用数据。在Toolkit中有一系列组件用来实现资源注册、资源分配和资源监视。Toolkit还在这一层定义了客户端的C、Java的API和SDK。

汇集层(Collective):作用是将资源层提交的受控资源汇集在一起,供虚拟组织的应用程序共享、调用。为了对来自应用的共享进行管理和控制,汇集层提供目录服务、资源分配、日程安排、资源代理、资源监测诊断、网格启动、负荷控制、账户管理等多种功能。

应用层(Application):是网格上用户的应用程序。应用程序通过各层的API调用相应的服务,再通过服务调用网格上的资源来完成任务。应用程序的开发涉及大量库函数。为便于网格应用程序的开发,需要构建支持网格计算的库函数。

目前,Globus体系结构已为一些大型网格应用所采用。研究人员已经在天气预报、髙能物理实验、航空器研究等领域开发了一些基于Globus网格计算的应用程序,效果较好。虽然这些应用仍属试验性质,但至少表明,网格计算可以胜任不少超级计算机难以胜任的大型应用任务。

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org