免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: myluorui
打印 上一主题 下一主题

有多少程序员知道分布式计算 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2007-10-05 01:19 |只看该作者
现在的C/C++ 编译器大多都支持 OPENMP, 像 GCC, Solaris CC, 和 MS Visual Studio 2005 都支持的, GNU 和 Solaris 的 Fortran 也都支持 OpenMP, 这样用 C/C++, FORTRAN 就可以开发并行计算的软件. 多核CPU 越来越多, 并行计算用的会越来越广的

论坛徽章:
0
32 [报告]
发表于 2007-10-05 01:44 |只看该作者
原帖由 jato 于 2007-10-5 01:19 发表
现在的C/C++ 编译器大多都支持 OPENMP, 像 GCC, Solaris CC, 和 MS Visual Studio 2005 都支持的, GNU 和 Solaris 的 Fortran 也都支持 OpenMP, 这样用 C/C++, FORTRAN 就可以开发并行计算的软件. 多核CPU 越来 ...

OpenMP只是在线程这一层,属于同一机器,严格说不属于分布式范畴。
并行和分布式计算都是在网络节点间进行。两者都并行两者都分布。差别在于前者是一个计算应用(one application),分散在网络上并行合作计算,计算过程中需要同步和协调;后者是一个计算任务,可以分解成相对独立的单元,分散在网络上分别(基本上)独自计算。

论坛徽章:
0
33 [报告]
发表于 2007-10-05 06:16 |只看该作者
原帖由 tom_xx_hu@yahoo 于 2007-10-5 01:44 发表

OpenMP只是在线程这一层,属于同一机器,严格说不属于分布式范畴。
并行和分布式计算都是在网络节点间进行。两者都并行两者都分布。差别在于前者是一个计算应用(one application),分散在网络上并行合作计 ...


哈哈, 没留意主题, 忘了严格的分布了, 那加上 MPICH2 好了, 虽然还有 PVM, Linda 等, 但它们好像没有    MPI  用的人多.
不过从理论上说, 同一台机器的分布和网络上的分布, 差别只在任务的颗粒度大小, 和通讯的信道不同罢了.
同一台机器, 若有数百个, 甚至数千个节点来计算, 我想你怎么也不会不认为它是分布式计算的, 虽然它们也可以只在线程这一层.

论坛徽章:
0
34 [报告]
发表于 2007-10-05 09:53 |只看该作者
分布式计算和并行计算的差别到底在那里,确实可以讨论。我个人的理解,仅以MPI为基础的计算仍然是并行计算而非分布式计算,尽管集群中可以有上千台计算机参与计算。并行与分布计算的主要区别我想是两条:一是各计算单元的时序相关性,二是网络拓扑意义上的距离。并行和分布计算的英文分别是parallel computing 和 grid computing。中文翻译相当贴切,甚至比英文更更贴切。parallel和并行都隐含了不同计算线程(请勿与OS下的执行线程混淆)之间在时序上的相干性,线程之间需要协调和同步。在共享内存系统,这种协调同步通过内存、IPC以及Posix Thread得以实施;在分布式内存系统(比如集群或MPI机器),现在流行的是通过高速通讯网跑MPI实现这种协调同步。
而grid computing的grid就反而不如中文的“分布”更贴近愿意。根据wikki,grid computing 有四重含义:集群、utility computing、机构内部空闲计算机集合而成的虚拟超级计算机、以及
The creation of a "virtual supercomputer" by using a network of geographically dispersed computers. Volunteer computing, which generally focuses on scientific, mathematical, and academic problems, is the most common application of this technology
按照LZ此帖的原意以及跟帖的语意环境,我们在这最后一层含义上使用grid computing。中文“分布式计算”确乎胜于原文。
由于在地理上以及网络拓扑上的远距离,分布的计算单元之间不可能有很频繁而时效要求高的协调同步,科学上他们是一个完整计算的分部,在computer science 和工程上,他们却几乎是独立的计算。
总之,“并行”强调“同时进行”,“分布”则是“分头去做”。

[ 本帖最后由 tom_xx_hu@yahoo 于 2007-10-5 10:08 编辑 ]

论坛徽章:
0
35 [报告]
发表于 2007-10-07 13:17 |只看该作者
前来学习

论坛徽章:
0
36 [报告]
发表于 2007-12-10 10:54 |只看该作者
如果对并行计算有兴趣的话,可以去参考一下中科院网络中心超级计算中心和上海超级计算中心的站点,那里有很多关于并行计算,并行编程,并行算法方面的信息和学习资料,另外国家高性能计算中心(合肥)也就是中国科技大学的陈国良院士是国内做并行计算的权威,出过有关并行计算的一套教材,本人认为是国内最好的并行计算方面的学习材料。

另外如果对网格计算比较有兴趣的话也可以参考原来清华大学的刘鹏创办的网格信息中转站,那里有相当多的资料。

[ 本帖最后由 gridbird 于 2007-12-10 10:55 编辑 ]

论坛徽章:
0
37 [报告]
发表于 2007-12-15 02:11 |只看该作者
我只用过ICE和C#的Remoting,CORBA, RMI,什么的没用过
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP