返回首页
当前位置: 主页 > 互联网技术 > 网格计算 >

网格计算和集群计算的区别

时间:2014-10-03 23:51来源:电脑教程学习网 www.etwiki.cn 编辑:admin

集群计算实际上不能真正地被看作是一种分布式计算解决方案。不过对于理解网格计算与集群计算之间的关系是很有用的。通常,人们都会混淆网格计算与基于集群的计算这两个概念,但实际上这两个概念之间有一些重要的区别。

  网格是由异构资源组成的。集群计算 主要关注的是计算资源;网格计算 则对存储、网络和计算资源进行了集成。集群通常包含同种处理器和操作系统;网格则可以包含不同供应商提供的运行不同操作系统的机器。(IBM、Platform Computing、DataSynapse 和 United Devices 提供的网格工作负载管理软件都可以将工作负载分发到类型和配置不同的多种机器上。)

  网格本质上就是动态的。集群包含的处理器和资源的数量通常都是静态的;而在网格上,资源则可以动态出现。资源可以根据需要添加到网格中,或从网格中删除。

  网格天生就是在本地网、城域网或广域网上进行分布的。通常,集群物理上都包含在一个位置的相同地方;网格可以分布在任何地方。集群互连技术可以产生非常低的网络延时,如果集群距离很远,这可能会导致产生很多问题。

  网格提供了增强的可扩展性。物理临近和网络延时限制了集群地域分布的能力;由于这些动态特性,网格可以提供很好的高可扩展性。

  例如,最近 IBM、United Devices 和多个生命科学合作者完成了一个设计用来研究治疗天花的药品的网格项目。这个网格包括大约两百万台个人计算机。使用常见的方法,这个项目很可能需要几年的时间才能完成 —— 但是在网格上它只需要 6 个月。设想一下如果网格上已经有两千万台 PC 会是什么情况。极端地说,天花项目可以在分钟级内完成。

  集群和网格计算是相互补充的。很多网格都在自己管理的资源中采用了集群。实际上,网格用户可能并不清楚他的工作负载是在一个远程的集群上执行的。尽管网格与集群之间存在很多区别,但是这些区别使它们构成了一个非常重要的关系,因为集群在网格中总有一席之地 —— 特定的问题通常都需要一些紧耦合的处理器来解决。

  然而,随着网络功能和带宽的发展,以前采用集群计算很难解决的问题现在可以使用网格计算技术解决了。理解网格固有的可扩展性和集群提供的紧耦合互连机制所带来的性能优势之间的平衡是非常重要的。

网格还是 CORBA?

  对于所有的分布式计算环境来说,CORBA 与网格计算表面的相似性可能比其他技术都要多。这是由于开放网格服务架构(OGSA)中网格计算和 Web 服务之间的策略关系所决定的。它们都是基于面向服务架构(SOA)的概念。CORBA 是很多任务关键的应用程序的骨干,从 1991 年创建以来不断发展成熟。在很多方面,CORBA 都是今天 Web(网格)服务的先驱。它提供了一个重要的基础,就像是几年之后 Java? Remote Method Invocation(RMI)的地位一样。

  例如,Boeing 在自己的 DCAC/MRM(Define and Control Airplane Configuration/Manufacturing Resource Management 的缩写)应用程序中使用了基于 CORBA 的解决方案,尤其是管理商业飞机所采用的零部件配置和目录部分的应用程序更是如此(喷气式客机有很多零部件)。Peter Coffee 是 e-Week 的一名技术编辑,他最近分析说新 Cunard Queen Mary 2 远洋航线中所有的操作都是由 CORBA 支持的。

  CORBA 与网格计算之间的主要区别是 CORBA 假定是面向对象的(毕竟,这是名字中的一部分),但是网格计算没有采用这种假定。在 CORBA 中,每个实体都是一个对象,可以支持诸如继承和多态之类的机制。在 OGSA 中,存在一些与对象非常类似的概念,但是这并没有假定架构中有面向对象的实现。架构是面向消息的;面向对象是一个实现概念。然而,在 WSRF(Web Services Resource Framework)中使用形式定义语言(例如 WSDL,Web Services Definition Language)就意味着接口和交互操作都与 CORBA 中的定义一样,它们共享一个主要软件工程的优点,同时可以采用面向对象的设计呈现。

  另外一点区别是网格计算(OGSA)是在 Web 服务的基础上进行构建的。CORBA 与 Web 服务进行了集成,并与 Web 服务进行交互操作。CORBA 的一个问题是它假设了太多的 “端点”,这通常是参与 CORBA 环境的所有机器(客户机和服务器)。供应商的 CORBA 实现中也存在交互操作的问题,CORBA 节点之间在 Internet 上如何操作的问题,以及端点如何命名的问题。这意味着所有的机器都必须遵守特定的规则和特定的方法,只有这样 CORBA 才能正常工作(所有这些都假设采用与 IDL、IOR 和 IIOP 类似的协议)。在构建高可用、紧耦合、预编译的系统时,这是一种比较合适的方法。

  然而,在 CORBA 执行作业的方式和 Internet 方法之间缺少协作能力。CORBA 的确为 Web 服务标准的创建提供了灵感 —— 人们非常喜欢 CORBA 基础所提供的功能,并开始建立诸如 XML、WSDL、SOAP 之类的标准。他们通过在开放的 Internet 基础上构建 Web 服务对 CORBA 的交互操作能力和灵活性问题进行了改进,这种方法在服务请求者和服务之间采用的是松耦合和延后绑定技术。为了实现这种改进,OGSA 增加了一种 “软状态” 方法来进行容错。这些正是它们的设计目标。

  Web 服务架构是一个面向服务的架构,CORBA 也是。不过 CORBA 的目标不同 —— 它被设计用来构建相当封闭的集成系统。

------分隔线----------------------------
标签(Tag):网格计算
------分隔线----------------------------
推荐内容
猜你感兴趣