云计算和网格计算有什么区别?

74
云计算网格计算之间有哪些重要的区别?它们的精确定义和目标应用领域是什么?我想要的是概念性的见解以及技术细节。
就像 Windows Azure 是一个云操作系统,我们是否也有类似于网格计算的东西?
在过去,我曾经从事过分布式和并行计算,并使用了PVM和MPI等库进行处理。出于好奇,我想知道网格计算是否是通过互联网扩展的分布式计算

2
Windows Azure是云操作系统吗?它是一个PAAS。我认为它没有完整的操作系统功能。 - xiao 啸
8个回答

117

网格计算是指多台计算机协同解决问题的过程。通常用于需要进行大量数字计算的问题,这些问题可以很容易地实现并行处理。

云计算是指应用程序不直接访问所需资源,而是通过类似于“服务”的方式访问它们。因此,它不会直接与特定硬盘驱动器进行存储或者特定CPU进行计算等操作,而是向提供这些资源的某个服务发出请求。该服务然后将任何资源请求映射到其物理资源以为应用程序提供支持。通常,服务有访问大量物理资源的权限,并且可以根据需要动态分配它们。

因此,如果应用程序仅需要少量某种资源,比如计算,则服务只会分配少量资源,例如单个物理CPU(可能与使用该服务的其他应用程序共享)。如果应用程序需要大量某种资源,则服务会分配较大数量的资源,例如一组CPU。应用程序相对来说对此并不太关心,所有复杂的处理和协调都由服务完成,而不是应用程序。通过这种方式,应用程序可以实现很好地扩展性。

例如,运行在“云上”的网站可以在流量较低时与许多其他网站共享服务器,但可能会在其拥有大量访问量的情况下移动到自己的专用服务器或服务器组。所有这些都由云服务处理,因此应用程序不应该被大幅修改以适应变化。

一个“云”通常会使用网格。但是,网格不一定是云或云的一部分。

维基百科文章: Grid computing, Cloud computing.


23
+1表示同意句子"A cloud would usually use a grid. A grid is not necessarily a cloud or part of a cloud."的意思是云通常会使用网格技术,但网格不一定是云或云的一部分。 - claws
1
网站示例清楚地解释了这个概念。 - SMUsamaShah
@Jameshales:非常受启发... 非常感谢。 - Saravanan

9

3

网格(Grid)是一种硬件和软件基础设施,它将来自多个来源的高端计算机、网络、数据库和科学仪器进行聚集和集成,形成一个虚拟超级计算机,用户可以在其中的虚拟组织内协作工作。

网格主要被学术研究等免费使用。

云(Clouds)是一个大型的资源池,其中包含易于使用和访问的虚拟化资源(如硬件、开发平台和/或服务)。这些资源可以动态地重新配置以适应可变的负载(即扩展),同时也允许最优资源利用。这个资源池通常通过按使用情况付费的模式来利用,在此模式中,基础设施提供商通过定制的服务级别协议来提供保证。

云不是免费的。它是由不同的服务提供商提供的服务,并根据您的工作量收费。


3
你应该阅读维基百科以深入理解。简而言之,云计算意味着你在远程平台上开发/运行软件。这可以是使用远程虚拟基础设施(Amazon EC2),远程平台(Google App Engine)或远程应用程序(Force.com或Gmail.com)实现的。
网格计算意味着使用许多物理硬件进行计算(在广义上),就像它是单个硬件一样。这意味着你可以同时在几台不同的机器上运行应用程序。
虽然并不十分精确,但足以让你开始了解。

3
我认为基本的区别在于: 网格是作为计算/存储平台使用的。
当云提供服务时,我们开始谈论计算。我几乎可以说云计算是更高级别的网格。现在我知道这些不是定义,但也许这会使它更清晰。
就应用领域而言,网格需要用户(主要是开发人员)从网格提供的低级功能实际创建服务。云将提供完整的功能块,您可以在应用程序中使用。
例如(您想创建从特定高度掉落球的物理模拟): 网格:研究如何在计算机上计算物理学,创建适当的代码,为某些硬件进行优化,考虑并行化,设置输入,发送应用程序到网格并等待答案 :设置球的直径、预设类型的材料、球下落的高度等,并请求结果
我认为,如果您为网格创建操作系统,则实际上创建了云操作系统。

这是类比还是例子?它可能是一个准确的类比,但并不是很有用。作为一个例子,我认为它是错误和误导性的。 - Brent Bradburn

2
这个问题已经有很多好的答案了,但另一种看待它的方式是云(如亚马逊的AWS)适用于交互式用例,而网格(如高性能计算)适用于批处理用例。
云是交互式的,因为您可以通过自助服务按需获取资源。在云中运行的VM上运行的代码,例如Apache Web服务器,可以与客户端进行交互。
网格是批处理的,您需要从某个HPC机构获得凭据,然后将作业提交到作业队列中。在网格上运行的代码会等待在队列中,直到有足够的资源来执行它。
两种计算方式都有很好的使用场景。

1

云计算是面向服务的,而网格计算是面向应用的。网格计算用于构建虚拟超级计算机,使用中间件来实现可以在多个资源之间共享的公共任务。最可能的任务将是计算或数据存储。

云计算通过多个服务器使用虚拟化在互联网上提供服务。在云计算中,您可以提供三种类型的服务:IaaS、PaaS、SaaS。这将为您提供解决方案,当您没有任何资源进行短期业务服务时,可以通过互联网提供服务。


-1

云计算是一个大型的互联计算机群体。数据对用户来说是隐藏的。 网格计算是多台计算机相互连接以解决问题。网格计算在云计算中发挥作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接