先说分布式计算和并行计算的异同:
解决对象上:都是大任务化为小任务,这是他们共同之处。
但是分布式的任务包互相之间有独立性,上一个任务包的结果未返回或者是结果处理错误,对下一个任务包的处理几乎没有什么影响。因此,分布式的实时性要求不高,而且允许存在计算错误(因为每个计算任务给好几个参与者计算,上传结果到服务器后要比较结果,然后对结果差异大的进行验证,我个人感觉这样有助于发现科学家们真正想要找的)!
分布式要处理的问题一般是基于“寻找”模式的。所谓的“寻找”,就相当于穷举法!为了尝试到每一个可能存在的结果,一般从0~某一数值被一个一个的测试,直到我们找到所要求的结果。事实上,为了易于一次性探测到正确的结果,我们假设结果是以某个特殊形式开始的。在这种类型的搜索里,我们也许幸运的一开始就找到答案;也许不够走运以至于到最后才找到答案,这都很公平。
这么说,并行程序并行处理的任务包之间有很大的联系,而且并行计算的每一个任务块都是必要的,没有浪费的分割的,就是每个任务包都要处理,而且计算结果相互影响,就要求每个的计算结果要绝对正确,而且在时间上要尽量做到同步,而分布式的很多任务块可以根本就不处理,有大量的无用数据块,所以说分布式计算的速度尽管很快,但是真正的“效率”是低之再低的,可能一直在寻找,但是永远都找不到,也可能一开始就找到了;而并行处理不同,它的任务包个数相对有限,在一个有限的时间应该是可能完成的。
分布式计算提出了一个让工作站端能够在后台持许工作的方法,而用户完全不需关心任何东西。这种实现基于两个原则,其一是任务连续分配和空闲优先权,其二是写一个屏幕保护程序。现在的调度程序已经不错了,而空闲优先任务将在人们完全不用关心任何东西的情况下自动执行。利用屏幕保护程序可以利用计算机闲置的时间计算工作任务。
分布式的编写一般用的是C++(也有用JAVA的,但是都是娱乐性质的项目了,不是主流),基本不用MPI接口。并行计算用MPI或者OpenMP。如果把网格计算算做分布式计算(网格计算是分布式计算的一种特例,但是有区别,区别仅仅在编程方法和实际应用的范围上),网格计算使用中间件!而且对联网的各台计算机的操作系统的要求比较特殊。
再说说网格计算和分布式计算的联系和区别。
网格计算是分布式运算的进化型,每个人打开电脑,网格就像电力网一样,可以用起来,你把CPU能力贡献出来,那么你可以用全世界的CPU之和。详细的说,就是:计算机组成的网格类似于输电网:当我们使用电器的时候,从来没有关心电力来自哪个发电厂,以及经过了什么电压变换。我们只是简单的把电器插入墙壁上的电源插座。然而隐藏在插座后面的则是许多发电厂和把它们连接在一起的输电线路。计算机网格模仿了输电网。当你把一台电脑接入计算机网格的时候,就相当于寻求使用计算机网格的“计算力”。你不用关心数据是由什么计算机储存和计算的,正如你并不关心电源插座后面的故事。网格计算就如同建立计算机的输电网。一个发电厂多余的发电能力可以通过输电网传送给远方的城市用户,一台计算机多余的计算能力远可以通过计算网格,让远方的用户加以利用。
照上面的说法,我个人的理解是,分布式计算是将大任务化分为小任务,各台参与计算的电脑之间是在物理地域上的分布,一般有服务器作为“中央”,参与计算的电脑不用了解工作原理,仅仅只是就自己感兴趣的项目做贡献而已,注意,是“向别人”无偿的做贡献,不是自己“直接”受益;而网格计算是自己“直接”受益的,她通过一个平台允许你调用别人计算机的处理资源,而别人根本就不知道你在用他的资源!这就是说,分布式计算是你和其他人一起组成“一台”专供某些科研组织使用的超级处理机,网格计算是将所有网内其他人的电脑组成一台专供你自己使用的超级处理机。
分布式计算强调参与的计算机自愿参与!!!网格计算平台暗箱操作,不管别人是否愿意,只要联入网内,就要成为另外某人的“处理机”!!!
分布式更偏向于计算任务的分解!将计算任务化整为零,将大家的处理能力化零为整;网格计算更偏向于计算能力的集中!相当于集百家之精华,融你一人之荟粹!!
分享到:
相关推荐
分布式计算、并行计算、集群计算、网格计算和云计算的区别 分布式计算、并行计算、集群计算、网格计算和云计算是当前计算机领域中几个热门的概念,为了帮助读者更好地理解这些概念,我们将从它们的定义、特点、应用...
### 分布式计算·并行计算与网格计算 #### 一、引言 随着信息技术的飞速发展,人们对计算能力的需求日益增长。传统的单机计算已经难以满足这种需求,因此分布式计算、并行计算和网格计算等新型计算模式应运而生。...
分布式计算、并行计算及集群、网格、云计算的区别.pdf
例如,网格计算是一种分布式并行计算的形式,它利用全球范围内的闲置计算资源,构建虚拟超级计算机。 在实际应用中,分布式计算与并行处理被广泛应用于大数据分析。例如,Google的MapReduce是一种分布式计算模型,...
### 分布式水文模型的并行计算研究进展 #### 一、引言与背景 随着全球气候变化和人类活动的加剧,对水资源管理和环境保护提出了更高要求。分布式水文模型因其能够考虑气候和下垫面的空间异质性而受到广泛关注。这...
云计算是分布式计算、并行计算和网格计算的进一步发展,是这些概念的商业化实现。云计算的核心特点是资源的集中管理,通过数据中心提供各种计算服务,如存储、处理、网络等。与网格计算相比,云计算更注重为企业提供...
通过分布式并行计算,每个计算节点专注于处理一部分Chimera网格,降低了单个计算节点的内存需求,同时也减少了整体计算时间。通过比较不同方法的计算时间和内存使用量,可以证明这种结合的优势。 【填充床的应用】...
1. **并行与分布式计算的区别**:并行计算通常在同一系统内的多处理器间进行,而分布式计算则跨越不同网络的独立系统。理解这两者的差异对于选择合适的计算模型至关重要。 2. **负载均衡**:在分布式系统中,确保...
* 实践课开设方案包括并行处理相关课程、多核编程、网格计算和分布式系统、并行计算机体系结构和编程等。 知识点四:算法设计与分析能力 * 传统模式下讲授数据结构和算法的时候,一个基本的假设是所设计的数据结构...
云计算是21世纪信息技术领域的一项重大创新,它融合了分布式处理、并行处理和网格计算的概念,并将其商业化的实现推向了新的高度。云计算的核心在于利用互联网连接的大量计算资源,如个人电脑、移动设备、服务器等,...
传统分布式并行计算可能会遇到一些问题,比如网络延迟、通信开销、资源共享和同步等,这些问题在网格计算环境下可能会被放大,因为网格环境中的节点可能分布在不同的地理位置,且拥有异构的硬件和软件资源。...
并行和分布式计算本科核心课程的目标是将广泛的并行和分布式计算(PDC)技术知识传授给计算机科学家和工程师,以便他们能够为消费者提供迅速变化但有效、高效和可靠的技术。本文由多位专家联合撰写,概述了当前并行...
并行计算主要分为共享内存并行计算和分布式内存并行计算。共享内存系统中,所有处理器都可以访问同一块物理内存,而分布式内存系统中,每个处理器有自己的独立内存,它们之间的通信需要通过网络进行。 在Linux环境...
常见的并行计算架构包括对称多处理(SMP)、大规模并行处理(MPP)、集群计算、网格计算以及GPU加速计算等。 2. **并行算法**: 并行算法设计的目标是在并行环境中高效地解决问题。它需要考虑任务分解、负载均衡、通信...
分布式计算是并行计算的一种形式,它将大规模计算任务分散到多台独立的计算机上,每台计算机处理一部分工作,最终汇总结果。在云计算环境中,分布式计算常常结合并行计算,共同处理海量数据。这种计算模式在网格计算...
综上所述,Swift是一种专门针对分布式并行计算任务设计的脚本语言,它不仅简化了并行计算的复杂性,还提供了类似于C语言的语法环境,使得开发者能够以一种相对简单和高效的方式来编写并行程序,特别适合需要大规模...
分布式电位梯度并行观测电极是一种在地球物理勘探领域广泛应用的技术,特别是在地下水探测、环境监测、地质结构分析等方面。这项技术的核心是通过布置多个电极,对地下的电位差进行同步测量,从而获取地层的电导率...