云计算与网格计算的深入比较
从定义上来说,二者都试图将各种IT资源看成一个虚拟的资源池,然后向外提供相应的服务。
1、出发的角度不同
云计算试图让“用户透明地使用资源” 。云计算是一种宽泛的概念,它允许用户通过互联网访问各种基于IT资源的服务,这种服务允许用户无需了解底层IT基础设施架构就能够享受到作为服务的“IT相关资源”。
网格计算是让“使用IT资源像使用水电一样简单” 。网格的内涵包括两个方面,一个方面是所谓的效用计算或者随需计算,在这一点上面,网格计算跟云计算是非常相似的,都是通过一个资源池或者分布式的计算资源来提供在线的计算或者存储等服务;另外一个方面就是所谓的“虚拟超级计算机”,以松耦合的方式将大量的计算资源连接在一起提供单个计算资源所无法完成的超级计算能力。
2、目标不同
网格的目标,是想要尽可能地利用各种资源。它通过特定的网格软件,将一个庞大的项目分解为无数个相互独立的、不太相关的子任务,然后交由各个计算节点进行计算。即便某个节点出现问题,没有能够及时返回结果,也不影响整个项目的进程,甚至即便某一个计算节点突然崩溃,其所承担的计算任务也能够被任务调度系统分配给其他的节点继续完成。应该说,从这一点来说,作业调度是网格计算的核心价值。网格的构建大多为完成某一个特定的任务需要。
云计算向外提供的某个资源,是为了完成某个特定的任务。比如说某个用户可能需要从资源池中申请一定量的资源来部署其应用,而不会将自己的任务提交给整个云计算来完成。云计算一般来说都是为了通用应用而设计的。
3、分配资源方式的不同
对于网格计算来说,其资源虽然也已经被池化,在外界看来就是一个巨大的资源池。对于要提交特定任务的用户来说,他并不知道自己的任务将会在哪些网格的物理节点上运行。他只是按照特定的格式,将作业任务提交给网格系统,然后等待网格返回结果。网格作业调度系统自动找寻与该任务相匹配的资源,然后寻找出空闲的物理节点,将任务分配过去直至完成。虽然网格能够实现跨物理机进行并行作业处理,但是需要用户先将并行算法写好,并且通过调度系统将作业分解到各个不同的物理节点进行,这个过程相对比较复杂,这也是很多网格计算被建设用来完成特定需求的原因。
云计算是通过虚拟化将物理机的资源进行切割,从这个角度来实现资源的随需分配和自动增长,并且其资源的自动分配和增减不能超越物理节点本身的物理上限。尽管从控制端来看,云计算也将所有的IT资源看成是一个资源池,但是不同芯片的物理机会被归类到不同的资源池中。