互补网格计算和Web Service

日期: 2008-01-06 作者:William Brogden 来源:TechTarget中国 英文

本文将讲解如何让Web Service和网格计算互相弥补从而发挥更多优势……   Web Service和网格计算一直都是快速变化中热门的技术,因此有理由审视一下网格计算和Web Service之间能够如何互相弥补。大致上讲,网格计算是分布式计算下的一个子集,它强调有效利用空闲的CPU和数据资源。网格另外一层含义暗示着对商业运算能力的使用就像通过电网对电源使用那么容易。   网格这个术语被应用于各种计算领域,因此我们的第一步是根据各种概念层次划分出不同的网格技术。

这样就可以指明在哪些领域网格计算和Web Service可以互补。   紧耦合的集群   Beowulf……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

本文将讲解如何让Web Service和网格计算互相弥补从而发挥更多优势……

  Web Service和网格计算一直都是快速变化中热门的技术,因此有理由审视一下网格计算和Web Service之间能够如何互相弥补。大致上讲,网格计算是分布式计算下的一个子集,它强调有效利用空闲的CPU和数据资源。网格另外一层含义暗示着对商业运算能力的使用就像通过电网对电源使用那么容易。

  网格这个术语被应用于各种计算领域,因此我们的第一步是根据各种概念层次划分出不同的网格技术。这样就可以指明在哪些领域网格计算和Web Service可以互补。

  紧耦合的集群

  Beowulf集群是由一组相同的硬件紧紧组合成系统的一个很好的例子。Beowulf集群使用Linux和标准的商业硬件来降低成本,而其他的集群系统使用专用的互连技术和CPU架构来达到高的吞吐量。紧耦合的集群一般都用于解决需要大量计算的问题,比如气候模拟,空气动力模拟和计算机图形的“艺术加工场”(render farms)。

  虽然Beowulf集群是由位于大学院系中的各种各样的硬件搭建的,但是典型的任务要求所有的工作站有相似的处理速度。当一套计算机用导线连接上一个集群,那么它就一直连着,并且不能够接受其他的任务。

  典型的情况下,软件必须专门编写以利用这种系统架构,而且每个工作站运行相同的代码。Fortran和C是最常用的语言。那些被处理的问题是要求工作站都共享数据,因此互连速度是非常重要的。互连发生在任务启动的阶段。

  松耦合系统

  松耦合系统最著名的例子是BOINC(Berkeley Open Infrastructure for Network Computing) ,它利用全球范围内的志愿者网络来运行Seti@home和其他很多的CPU密集的分布式项目。每个项目的控制服务器处理任务的请求,记录返回的结果和跟踪每个参与者的作用。志愿者可以组成联队来角逐贡献者列表上的排名。

  虽然志愿者网格很引人注目,BOINC项目鼓励它们所谓的在私人机构内部的“桌面网格计算”。另外的一个面向志愿者的项目,world community Grid,由IBM公司赞助。本质上讲,这项技术可以应用于私人的项目,利用空闲的桌面计算机来完成那些原本需要对高性能硬件进行巨额投资的项目。

  同紧耦合网格相比,典型的松耦合网格不会依赖于某个特定的硬件或者操作系统。那些被处理的问题是一类数据可以被分块进行处理的问题,这些块可以被每个工作站独立的处理。如果一个工作站仅仅完成了部分就退出了网格,那么控制服务器将重新分配这个块给另一个工作站。项目可能会运行数月甚至数年才能完成。

  Space类型的系统

  在space或者tuple space类型的分布式计算中,参与的处理器通过一个发挥着巨大的相关内存作用的中间系统共享数据。一个相关内存让你通过对象的内容进行寻址而不是它们的物理位置进行寻址。位置寻址和内容寻址的不同类似于在一个人满为患的房间中询问每个人来找到一个汽车的主人或者在PA系统中广播“一辆绿色、牌照为XYZ-123的丰田汽车的主人,汽车的车灯还亮着”。

  在“tuple space”(也可以拼成tuplespace)中的术语“tuple”(数组)暗示着包含目标对象的数据可能包含多个值,这些值都可以用来定位目标对象。假如进程需要某些计算资源,它将需要的对象写入到space中,在这些对象中定义了需要什么,同时定义了必须返回什么。工作站进程向space注册自己能够处理哪些对象。Space就将任务和工作站进行匹配,将对象发送到工作站,稍后工作站完成需要的计算之后返回结果。较复杂的计算任务需要将一个对象从一个专门的工作站程序传递到下一个。比如一个工作站可能检索出了每日股票价格的原始数据,另一个工作站可能执行统计分析。像BOINC类型的分布式项目,增加space系统的处理能力只需要增加更多的工作站,只要管理space存储的计算机的性能能够跟得上。

  最广泛的分布式space实现是SUN微系统公司的JavaSpaces,它使用Jini协议进行分布式通讯。现在Jini已经是一个开放源代码项目,而且还有其他几个商业和开源的JavaSpaces实现。

  Web Services和网格可以在哪些方面合作?

  很显然,我在上面谈到的网格计算系统无法应用于所有的web services问题。但是我认为还是存在着合作的重要领域。对于像Beowulf和BOINC处理的那些复杂的计算任务,Web Services可以提供用于进度报告的方便接口。假如商业计算的网格计算理想最终实现,Web Services可以用于为大量的处理提交数据集。Space类型系统的灵活网络可以通过增加更多的工作站,就可以扩展Web Service的计算能力。

相关推荐