中国分布式计算论坛 » 分布式综合区 » 分布式计算和并行计算的关系?

2005-2-27 22:10 th_xu
分布式计算和并行计算的关系?

刚接触相关内容,不知道分布式计算和并行计算是什么关系?网格计算呢?晕死了。[em03]

2005-2-27 22:30 碧城仙
先说分布式计算和并行计算的异同:

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

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

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

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

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

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

[b][color=blue]以上只是本人的个人观点,不代表任何权威的说法,我在QQ上和另外几位问我的人也是说的这些看法,但是都不一定正确。欢迎大家指出本人观点中的错误处。欢迎大家继续讨论。[/color][/b]

2005-2-28 09:29 th_xu
谢谢了。不过我看网格计算也用到MPI啊,我看错了?

2005-2-28 11:59 碧城仙
网格计算使用中间件,例如使用标准的、开放的和通用的协议和接口(Ian Foster 认为目前只有Globus 才算得上标准协议)。目前建立的网格模型使用的中间件主要来自美国,如Globus Toolkit和Condor系统,和基于欧洲数据网格项目(European DataGrid project)开发出的成果。

2005-3-5 23:25 碧城仙
再说说网格计算和分布式计算的联系和区别。

网格计算是分布式运算的进化型,每个人打开电脑,网格就像电力网一样,可以用起来,你把CPU能力贡献出来,那么你可以用全世界的CPU之和。详细的说,就是:计算机组成的网格类似于输电网:当我们使用电器的时候,从来没有关心电力来自哪个发电厂,以及经过了什么电压变换。我们只是简单的把电器插入墙壁上的电源插座。然而隐藏在插座后面的则是许多发电厂和把它们连接在一起的输电线路。计算机网格模仿了输电网。当你把一台电脑接入计算机网格的时候,就相当于寻求使用计算机网格的“计算力”。你不用关心数据是由什么计算机储存和计算的,正如你并不关心电源插座后面的故事。网格计算就如同建立计算机的输电网。一个发电厂多余的发电能力可以通过输电网传送给远方的城市用户,一台计算机多余的计算能力远可以通过计算网格,让远方的用户加以利用。

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

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

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

[b][color=blue]以上只是本人的个人观点,不代表任何权威的说法,不一定正确。欢迎大家指出本人观点中的错误处。欢迎大家继续讨论。[/color][/b]

2005-3-6 15:44 purpleling
分布式计算对网格计算的影响,及网格计算对分布式系统提

那么请大家讨论一下这个问题那!

2005-3-8 12:16 碧城仙
影响不大好谈,网格计算是从分布式计算发展过来的,你的问题就像问父亲对子女的影响一样难以做答。 分布式系统和网格计算在调用处理机资源上的要求是一致的,应该是没什么特别的要求。

2005-3-8 17:44 碧城仙
看来有必要谈谈分布式系统的主要特点

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

2005-3-8 18:06 慢舟
谢谢碧城仙普及基本知识。

2005-3-15 16:02 lonman
感谢碧城仙的讲解。能谈谈网格和集群的区别吗?谢谢!

2005-4-4 12:45 碧城仙
见:中国网格信息中转站论坛-网格研究-“网格”与“分布式”区分之迷惑
[url]http://www.chinagrid.net/dvbbs/dispbbs.asp?boardID=8&ID=4482&page=1[/url]

2005-4-4 12:47 碧城仙
集群 vs. 网格

参见:[url]http://www.chinagrid.net/dvbbs/dispbbs.asp?boardID=8&ID=4211&page=1[/url]

2005-4-4 12:47 碧城仙
区分Grid,Cluster,P2P,Parallel,Distributed

参见:[url]http://www.chinagrid.net/dvbbs/dispbbs.asp?boardID=8&ID=4550&page=1[/url]

2005-4-4 12:48 碧城仙
初识网格,概念混淆(分布式系统:grid;cluster)

参见:[url]http://www.chinagrid.net/dvbbs/dispbbs.asp?boardID=8&ID=4413&page=1[/url]

2005-4-4 12:49 碧城仙
关于网格准确定义的分析

参见:[url]http://www.chinagrid.net/dvnews/show.aspx?id=892&cid=16[/url]

2005-4-4 12:50 碧城仙
《Globus入门书》:你想知道却不敢问的东西都包含在内

参见:[url]http://www.chinagrid.net/dvnews/show.aspx?id=851&cid=31[/url]

2005-11-22 18:14 pkwu
[quote]引用 [i]碧城仙[/i] 在 2005-3-8 12:16 时的帖子:
影响不大好谈,网格计算是从分布式计算发展过来的,你的问题就像问父亲对子女的影响一样难以做答。 分布式系统和网格计算在调用处理机资源上的要求是一致的,应该是没什么特别的要求。 [/quote]
我在书上看的跟你说的一样,这下更确定了.!!

2005-12-5 07:06 maximliu
Grid Computing = next generation Parallel computing

GRID uses MPI too...

2006-1-17 21:01 monachen
我想问一下管理员,用并行算法运行的程序可否用分布式运算来处理,如果程序对实时要求较高,是不是不能用分布式算法,我是菜鸟不太懂

2006-1-18 11:34 碧城仙
分布式计算项目开发平台:[url]http://www.equn.com/distributed/devel.html[/url]
分布式项目计算平台:[url]http://www.equn.com/distributed/platforms.html[/url]

上面两个地址里的东西,可以参考参考。

2006-3-5 23:14 pathfinder1982
致谢

致谢讲解

2006-5-23 21:10 supersonic
感觉网格计算只是一种简单模式的并行计算。grid是蚂蚁啃骨头,蚂蚁之间是不需要紧密协作的。而并行计算是很多人盖房子,在通讯、负载均衡、同步方面要求高得多了

好像对并行计算和cluster有点误解。基于MPI或者PVM的cluster是其实是一种分布式的内存并行手段。SMP的共享内存并行编程可以用OpenMP是或者某些编译器自动的加入并行。再就是向量机基本上很少见了,确实难度很大。

cluster和SMP基本上编程还是比较难。并行编程的模式比串行的复杂许多。

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.