并行计算 分布式计算 网格计算 与云计算

先说分布式计算和并行计算的异同:

解决对象上:都是大任务化为小任务,这是他们共同之处。

但是分布式的任务包互相之间有独立性,上一个任务包的结果未返回或者是结果处理错误,对下一个任务包的处理几乎没有什么影响。因此,分布式的实时性要求不高,而且允许存在计算错误(因为每个计算任务给好几个参与者计算,上传结果到服务器后要比较结果,然后对结果差异大的进行验证,我个人感觉这样有助于发现科学家们真正想要找的)!

分布式要处理的问题一般是基于“寻找”模式的。所谓的“寻找”,就相当于穷举法!为了尝试到每一个可能存在的结果,一般从0~某一数值被一个一个的测试,直到我们找到所要求的结果。事实上,为了易于一次性探测到正确的结果,我们假设结果是以某个特殊形式开始的。在这种类型的搜索里,我们也许幸运的一开始就找到答案;也许不够走运以至于到最后才找到答案,这都很公平。

这么说,并行程序并行处理的任务包之间有很大的联系,而且并行计算的每一个任务块都是必要的,没有浪费的分割的,就是每个任务包都要处理,而且计算结果相互影响,就要求每个的计算结果要绝对正确,而且在时间上要尽量做到同步,而分布式的很多任务块可以根本就不处理,有大量的无用数据块,所以说分布式计算的速度尽管很快,但是真正的“效率”是低之再低的,可能一直在寻找,但是永远都找不到,也可能一开始就找到了;而并行处理不同,它的任务包个数相对有限,在一个有限的时间应该是可能完成的。

分布式计算提出了一个让工作站端能够在后台持许工作的方法,而用户完全不需关心任何东西。这种实现基于两个原则,其一是任务连续分配和空闲优先权,其二是写一个屏幕保护程序。现在的调度程序已经不错了,而空闲优先任务将在人们完全不用关心任何东西的情况下自动执行。利用屏幕保护程序可以利用计算机闲置的时间计算工作任务。

分布式的编写一般用的是C++(也有用JAVA的,但是都是娱乐性质的项目了,不是主流),基本不用MPI接口。并行计算用MPI或者OpenMP。如果把网格计算算做分布式计算(网格计算是分布式计算的一种特例,但是有区别,区别仅仅在编程方法和实际应用的范围上),网格计算使用中间件!而且对联网的各台计算机的操作系统的要求比较特殊。

 

网格计算是分布式运算的进化型,每个人打开电脑,网格就像电力网一样,可以用起来,你把CPU能力贡献出来,那么你可以用全世界的CPU之和。详细的说,就是:计算机组成的网格类似于输电网:当我们使用电器的时候,从来没有关心电力来自哪个发电厂,以及经过了什么电压变换。我们只是简单的把电器插入墙壁上的电源插座。然而隐藏在插座后面的则是许多发电厂和把它们连接在一起的输电线路。计算机网格模仿了输电网。当你把一台电脑接入计算机网格的时候,就相当于寻求使用计算机网格的“计算力”。你不用关心数据是由什么计算机储存和计算的,正如你并不关心电源插座后面的故事。网格计算就如同建立计算机的输电网。一个发电厂多余的发电能力可以通过输电网传送给远方的城市用户,一台计算机多余的计算能力远可以通过计算网格,让远方的用户加以利用。管理域。简而言之,它包括虚拟化计算资源。网格计算经常和集群计算相混淆。二者主要的不同就是:集群是同构的,而网格是异构的;网格扩展包括用户桌面机,而集群一般局限于数据中心。充分利用网上的闲置处理能力则是网格计算的有一个优势,网格计算模式首先把要计算的数据分割成若干“小片”,而计算这些“小片”的软件通常是一个预先编制好的屏幕保护程序,然后不同节点的计算机可以根据自己的处理能力下载一个或多个数据片断和这个屏幕保护程序。于是“演出开始了”,只要,节点的计算机的用户不使用计算机时,屏保程序就会工作,这样这台计算机的闲置计算能力就被充分地调动起来了。


网格计算通过利用大量异构计算机(通常为桌面)的未用资源(CPU周期和磁盘存储),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供了一个模型。网格计算的焦点放在支持跨管理域计算的能力,这使它与传统的计算机集群或传统的分布式计算相区别。这隐含着使用安全的授权技术,以允许远程用户控制计算资源。

   网格计算包括共享异构资源(基于不同的平台,硬件/软件体系结构,以及计算机语言),这些资源位于不同的地理位置,属于一个使用公开标准的网络上的不同的管理域。简而言之,它包括虚拟化计算资源。网格计算经常和集群计算相混淆。二者主要的不同就是:集群是同构的,而网格是异构的;网格扩展包括用户桌面机,而集群一般局限于数据中心。充分利用网上的闲置处理能力则是网格计算的有一个优势,网格计算模式首先把要计算的数据分割成若干“小片”,而计算这些“小片”的软件通常是一个预先编制好的屏幕保护程序,然后不同节点的计算机可以根据自己的处理能力下载一个或多个数据片断和这个屏幕保护程序。于是“演出开始了”,只要,节点的计算机的用户不使用计算机时,屏保程序就会工作,这样这台计算机的闲置计算能力就被充分地调动起来了

照上面的说法,我个人的理解是,分布式计算是将大任务化分为小任务,各台参与计算的电脑之间是在物理地域上的分布,一般有服务器作为“中央”,参与计算的电脑不用了解工作原理,仅仅只是就自己感兴趣的项目做贡献而已,注意,是“向别人”无偿的做贡献,不是自己“直接”受益;而网格计算是自己“直接”受益的,她通过一个平台允许你调用别人计算机的处理资源,而别人根本就不知道你在用他的资源!这就是说,分布式计算是你和其他人一起组成“一台”专供某些科研组织使用的超级处理机,网格计算是将所有网内其他人的电脑组成一台专供你自己使用的超级处理机。

分布式计算强调参与的计算机自愿参与!!!网格计算平台暗箱操作,不管别人是否愿意,只要联入网内,就要成为另外某人的“处理机”!!!

分布式更偏向于计算任务的分解!将计算任务化整为零,将大家的处理能力化零为整;网格计算更偏向于计算能力的集中!相当于集百家之精华,融你一人之荟粹!!


分布式系统的最主要的特点是整个系统中的各计算机对用户都是透明的。也就是说,对用户来说,这种分布式计算机系统就好像只有一个计算机一样。用户通过键入命令就可以运行程序,但用户并不知道是哪一个计算机在为他运行程序。是操作系统为用户选择一个最合适的计算机来运行其程序,并将运行的结果传送到合适的地方。这些都不需要用户的干预。

云计算技术的出现是并行计算技术、软件技术、网络技术发展的必然结果。并行计算不是云计算。云计算萌芽于并行计算。并行机的出现是人们不满足于CPU摩尔定率的增长速度,希望把多个计算机并联起来,从而获得更快的计算速度。这是一种很简单也很朴素的实现高速计算的方法,这种方法后来被证明是相当成功的。
    并行计算、网格计算只用于用于特定的科学领域,专业的用户。并行计算、网格计算的提出主要是为了满足科学和技术领域的专业需要,其应用领域也基本限于科学领域。传统并行计算机的使用是一个相当专业的工作,需要使用者有较高的专业素质,多数是命令行的操作,这是很多专业人士的噩梦,更不用说普通的业余级用户了。
    并行计算追求的高性能。在并行计算的时代,人们极力追求的是高速的计算、采用昂贵的服务器,各国不惜代价在计算速度上超越他国,因此,并行计算时代的高性能机群是一个“快速消费品”,世界TOP500高性能计算机地排名不断地在刷新,一台大型机群如果在3年左右不能得到有效的利用就远远的落后了,巨额投资无法收回。
    而云计算时代我们并不去追求使用昂贵的服务器,我们也不用去考虑TOP500的排名,云中心的计算力和存储力可随着需要逐步增加,云计算的基础架构支持这一动态增加的方式,高性能计算将在云计算时代成为“耐用消费品”。 云计算是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变。用户不再需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制。云计算描述了一种基于互联网的新的IT服务增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展而且经常是虚拟化的资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值