网格计算在云计算概念之前提出,而且作为学术界的一个热门领域已有十多年的历史,得到了广泛关注。在云计算刚提出的一两年间,不少人的印象是,云计算在企业界热,在学术界不热;而网格计算则相反,在学术界热,在企业界不热。同样作为计算资源的利用模式,关于两者的差异也被一再提起。云计算和网格计算是针对不同应用场景的技术,两者间的差异可从总体上简化地概括成:网格计算是“many for one(多为一)”,即多台计算机为一个科学计算任务服务;而云计算则是“one for many(一为多)”,即一个云计算中心为大量互联网用户服务。
网格计算依托专网或互联网,将处于不同地域、不同领域的多个闲散计算机资源组织起来,通过统一调度来组成一台虚拟的“超级计算机”,共同完成一个较为复杂的任务,如要求大量计算处理周期和海量数据的科学计算问题。
网格技术的开创者Ian Foster将之定义为“在动态、多机构参与的虚拟组织中协同共享资源和求解问题”。可见,网格计算的基本应用场景就是将跨地域的、不同所有人的计算资源结合起来,以形成虚拟的、更为强大的计算能力。网格计算的运行一般需要通过一个任务共同体或者科学共同体来组织,其通常由所在地区、国家机构或者国际组织资助。
云计算更倾向于利用互联网上某些节点丰富的计算资源(包括计算能力、存储能力和交互能力等),以服务的方式将计算资源变成可被海量终端用户所使用的、动态的、可伸缩的虚拟资源。与网格计算相比,云计算强调面向用户的按需服务,服务之间可以形成组合。云计算不会对终端用户的计算资源进行集中控制,终端用户也不用关心服务者在什么地方。云计算最基本、最重要的应用场景是,通过同一个相对集中的信息资源池来服务大量分散的用户,通过Web服务和应用来尽量满足大众用户的个性化、多样化的服务需求。
从Ian Foster的定义可以看出,网格计算的初衷是,通过聚合多个分布式资源来支持一些特殊的、需要更高计算能力的应用,其出发点是由于高性能计算机的资源不够用,从而必须转向分散在网络上的资源并把它们聚合起来。在2005年前后,互联网的普及程度已极大提高,普遍的、个性化的、多样的大众用户在终端的应用需求非常强烈,所以此时网格计算的技术和概念已经发生了很大的转移,特别是我国不少网格计算研究者也开始强调网格计算对终端用户Web应用的支持,而网格计算初衷中的虚拟组织等概念已经逐渐淡化。网格计算也在悄悄地发生着向云计算的“蜕变”,这也是关于两者的区别一直争论不休的重要原因之一,其实从技术演进的角度是可以理解的。
一个持续变化的概念将无法去界定它,更无从去评论它。因此,可以从Ian Foster的网格计算初衷出发,比较网格计算和云计算可以看出,网格计算和云计算之间最明显的相似点在于“资源共享”和“虚拟计算”,即两者都强调以某种虚拟化方法对互联网上的资源进行共享并提供给用户以获得更合理的利用。而关于两者的差异,可将其归纳成如下5个方面。
(1)云计算以集群计算为主,其中的计算节点自主、自治,不同计算节点和集群可以面向不同的服务对象。网格计算则主要以计算任务的并行化分配为主,即依托网络将跨地域的计算机组织起来,然后通过调度系统将作业分解到各个不同的物理节点中进行并行处理。
(2)云计算面向多样的大众服务需求,所以在云计算中承认节点在原理、规模和能力上的差异性,节点之间的资源共享是依靠服务之间的互操作来实现的,其无法依靠一个中间件去屏蔽所有的异构性。网格计算则不同,因为其面向的是较为单一的计算任务,因此,可以用中间件屏蔽异构系统,使用户面向同一环境,而把困难留在中间件,让中间件来完成计算资源的调度、聚合等任务。
(3)云计算面向完成持久性、多样化的服务,云计算中心提供大量面向特定领域的服务,大众用户通过按需聚合、柔性重组来获取持久的、多样化的服务;而网格计算则往往用于完成一次性特定任务,且要完成的任务须是预先设定的。
(4)云计算采用的是商业式运营,即向用户提供尽力而为的多租赁服务,用户则按需租用、付费;而网格计算则依赖于组织之间的协作式运营,能够提供带宽保证、性能保障,结果确定,没有明显的商业模式。
(5)云计算更多的是服务于大众用户的需求,以人机交互和群体智能为明显特征,大众参与计算,相互沟通交流,带来了包括不确定性、软计算等在内的新特点;而网格计算则主要面向科学计算任务,存在确定的交互,即按规定要求和程序输入/输出,人不主动参与。
网格计算的初衷是为了解决高性能计算能力不够这一重要问题,在需要大量计算能力和数据处理能力的应用场景下,这是具有重要价值的。可以认为,网格计算与云计算是适应不同应用场景的不同技术,两者有着不同的应用目标,在科学计算领域和为大众用户服务两个方向上各自发挥潜能。由于网格计算主要为特定单一任务服务,因此其重视并行化处理和资源共享等标准规范缺乏成功的商业模式;而云计算则面向用户,服务大众,因此其更追求高效实用,需要商业利益的保障来推动其运营,技术实现上也力求简单、有效,在过程中逐渐形成其自有的“事实标准”。以政府或特定机构主导的、用于特定任务的网格仍然会继续发展和发挥其职能,如美国的TeraGrid和欧洲的EGEE等,而建立在商业服务之上的全球范围的云计算,因为面向个性化需求的大众用户服务,因而在应用领域和范围上会更加普及。