加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

并行计算与分布式计算的区别

发布时间:2022-10-27 13:10:57 所属栏目:云计算 来源:互联网
导读: 并行计算(Parallel Computing)
并行计算是相对于串行计算来说的,所谓并行计算分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执

并行计算(Parallel Computing)

并行计算是相对于串行计算来说的,所谓并行计算分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算的主要目的是快速解决大型且复杂的计算问题。

空间上的并行导致两类并行机的产生,按照Michael Flynn(费林分类法)的说法分为单指令流多数据流(SIMD)和多指令流多数据流(MIMD),而常用的串行机也称为单指令流单数据流(SISD)。MIMD类的机器又可分为常见的五类:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、工作站机群(COW)、分布式共享存储处理机(DSM)。

并行计算的基本特征包括:

1、将工作分离成离散部分,有助于同时解决

2、随时并及时地执行多个程序指令

3、多计算资源下解决问题的耗时要少于单个计算资源下的耗时

分布式计算(Distributed Computing)

分布式计算是一种计算方式,它把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式计算的核心思想是:共享稀有资源和平衡计算负载。

目前常见的分布式计算项目通常使用世界各地上千万志愿者计算机的闲置计算能力,通过互联网进行数据传输。如分析计算蛋白质的内部结构和相关药物的Folding@home项目,该项目结构庞大,需要惊人的计算量,由一台电脑计算是不可能完成的。即使现在有了计算能力超强的超级电脑,但是一些科研机构的经费却又十分有限。

分布式计算比起其它算法具有以下几个优点:

1、稀有资源可以共享。

2、通过分布式计算可以在多台计算机上平衡计算负载。

3、可以把程序放在最适合运行它的计算机上。其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。

并行计算与分布式计算的区别

并行计算与分布式计算都是运用并行来获得更高性能,化大任务为小任务。简单说来,如果处理单元共享内存,就称为并行计算,反之就是分布式计算。也有人认为分布式计算是并行计算的一种特例。

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

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

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

分布式的编写一般用的是C++(也有用JAVA的,但是都不是主流),基本不用MPI接口。并行计算用MPI或者OpenMP。

集群计算(Cluster Computing)

计算机集群将一组松散集成的计算机软件或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性价比要高得多。

根据组成集群系统的计算机之间体系结构是否相同,集群可分为同构与异构两种。集群计算机按功能和结构可以分为,高可用性集群(High-availability (HA) clusters)、负载均衡集群(Loadbalancing clusters)、高性能计算集群(High-performance (HPC)clusters)。

高可用性集群

一般是指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。

负载均衡集群

负载均衡集群运行时,一般通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。这样的计算机集群有时也被称为服务器群(Server Farm)。一般高可用性集群和负载均衡集群会使用类似的技术,或同时具有高可用性与负载均衡的特点。Linux虚拟服务器(LVS)项目在Linux操作系统上提供了最常用的负载均衡软件。

高性能计算集群

高性能计算集群采用将计算任务分配到集群的不同计算节点儿提高计算能力,因而主要应用在科学计算领域。比较流行的HPC采用Linux操作系统和其它一些免费软件来完成并行运算。这一集群配置通常被称为Beowulf集群。这类集群通常运行特定的程序以发挥HPC cluster的并行能力。这类程序一般应用特定的运行库, 比如专为科学计算设计的MPI库。HPC集群特别适合于在计算中各计算节点之间发生大量数据通讯的计算作业,比如一个节点的中间结果或影响到其它节点计算结果的情况。

网格计算(Grid Computing)

?

网格计算是利用互联网把地理上广泛分布的各种异构计算机的空闲资源(包括计算资源、存储资源等)连成一个逻辑整体,就像一台超级计算机一样,为用户提供一体化信息和应用服务,以虚拟组织的方式实现虚拟环境下进行资源共享和协同工作的技术。

?

网格计算的三个特点是:

1、在非集中控制的环境中协同使用资源,协同工作

2、使用标准的、开放的和通用的协议和接口

3、提供动态的服务,具有高度可扩展性

网格计算与集群计算的区别在于网格计算基于异构计算机资 源,集群计算基于同构计算机资源;网格计算是分布式计算技术在 互联网环境下的进一步发展;网格计算与高性能计算的区别和联 系:有一种观点,认为网格计算是新一代的高性能计算技术,因为 网格计算大多用于解决科学计算的问题,与高性能计算的适用场合 类似。不过,网格计算强调非集中控制,并且使用通用计算机系统 来组建网格,这与高性能计算有较大区别。

集群计算与网格计算的区别

(1)简单地,网格与传统集群的主要差别是网格是连接一组相关并不信任的计算机,它的运作更像一个计算公共设施而不是一个独立的计算机。网格通常比集群支持更多不同类型的计算机集合。

(2)网格本质上就是动态的,集群包含的处理器和资源的数量通常都是静态的。在网格上,资源则可以动态出现,资源可以根据需要添加到网格中或从网格中删除。

(3)网格天生就是在本地网、城域网或广域网上进行分布的。网格可以分布在任何地方。而集群物理上都包含在一个位置的相同地方,通常只是局域网互连。集群互连技 术可以产生非常低的网络延时,如果集群距离很远并行计算云计算,这可能会导致产生很多问题。物理临近和网络延时限制了集群地域分布的能力,而网格由于动态特性,可以提供 很好的高可扩展性。

(4)集群仅仅通过增加服务器满足增长的需求。然而,集群的服务器数量、以及由此导致的集群性能是有限的:互连网络容量。也就是说如果一味地想通过扩大规模来提高集群计算机的性能,它的性价比会相应下降,这意味着我们不可能无限制地扩大集群的规模。 而网格虚拟出空前的超级计算机,不受规模的限制,成为下一代Internet的发展方向。

高性能计算(High Performance Computing,HPC)

高性能计算是计算机科学的一个分支,研究并行算法和开发相关软件,致力于开发高性能计算机。高性能计算没有明确的定义,可以理解为:在处理复杂计算问题时,采用并行计算技术以获得最佳计算性能的技术和解决方案。

效用计算(Utility Computing)

效用计算又称实用计算,是一种提供计算资源的商业模式,用 户从计算资源供应商获取和使用计算资源并基于实际使用的资源付 费。效用计算的目标是把服务器及存储系统打包给用户使用,按照 用户实际使用的资源量对用户进行计费。这种模式类似于水、电、 气和电话等服务的提供方式,使用户能够像把灯泡插入灯头一样来 使用计算机资源。这种模式使得用户无须为使用服务去拥有资源的 所有权,而是去租资源。云计算借鉴了效用计算按需使用、按量计费的概念,因此效用 计算可以看作是云计算的前身。

云计算(Cloud Computing)

云计算本质上是一种分布式计 算技术。

云计算与网格计算的异同点

◆ 相同点

◇ 两者都是分布式计算技术

◇ 资源池化

◇ 动态服务、动态扩展

◆ 不同点

◇ 设计目标不同

◇ 资源池的构成不同

◇ 用户使用方式不同

◇ 资源使用方式不同

云计算与并行、分布式、网格和集群计算的区别

云计算是从集群技术发展而来,区别在于集群虽然把多台机器联了起来,但其某项具体任务执行的时候还是会被转发到某台服务器上,而云可以简单的认为是任务可以被分割成多个进程在多台服务器上并行计算,然后得到结果,好处在于大数据量的操作性能非常好。云可以使用廉价的PC服务器 ,可以管理大数据量与大集群,关键技术在于能够对云内的基础设施进行动态按需分配与管理。云计算与并行计算、分布式计算的区别,以计算机用户来说,并行计算是由单个用户完成的,分布式计算是由多个用户合作完成的,云计算是没有用户参与,而是交给网络另一端的服务器完成的。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!