并⾏计算与分布式计算区别与联系
并⾏计算、分布式计算以及⽹格计算和云计算都是属于⾼性能计算(HPC)的范畴,主要⽬的在于对⼤数据的分析与处理,但它们却存在很多差异。我们需要了解两者的原理、特点和运⽤的场合,对云计算的了解⼤有裨益。
之所以将两种计算技术放在⼀起,是因为这两种计算具有共同的特点,都是运⽤并⾏来获得更⾼性能计算,把⼤任务分为N个⼩任务。但两者还是有区别的,关于两者的区别在后⾯有介绍。
并⾏计算
1、并⾏计算概念
并⾏计算(Parallel Computing)⼜称平⾏计算是指⼀种能够让多条指令同时进⾏的计算模式,可分为时间并⾏和空间并⾏。时间并⾏即利⽤多条流⽔线同时作业,空间并⾏是指使⽤多个处理器执⾏并发计算,以降低解决复杂问题所需要的时间。
并⾏计算同时使⽤多种计算资源解决计算问题的过程。为执⾏并⾏计算,计算资源应包括⼀台配有多处理机(并⾏处理)的计算机、⼀个与⽹络相连的计算机专有编号,或者两者结合使⽤。并⾏计算主要⽬的在于两个⽅⾯:
(1) 加速求解问题的速度。
(2) 提⾼求解问题的规模。
2、并⾏计算的原理
并⾏计算能快速解决⼤型且复杂的计算问题。此外还能利⽤⾮本地资源,节约成本 ― 使⽤多个“廉价”计算资源取代⼤型计算机,同时克服单个计算机上存在的存储器限制。
为提⾼计算效率,并⾏计算处理问题⼀般分为以下三步:
(1)将⼯作分离成离散独⽴部分,有助于同时解决;
(2)同时并及时地执⾏多个程序指令;
(3)将处理完的结果返回主机经⼀定处理后显⽰输出。
从上图可以看出,串⾏计算必须按步骤⼀步⼀步计算才能出来最终结果。⽽并⾏计算则要将问题分成N多个⼦任务,每个⼦任务并⾏执⾏计算。⽽每个⼦任务是⾮独⽴的,每个⼦任务的计算结果决定最终的结果。这个和分布式计算不同。
3、并⾏计算需满⾜的基本条件
(1)并⾏计算机。并⾏计算机⾄少包含两台或两台以上处理机,这此处理机通过互联⽹络相互连接,相互通信。
(2)应⽤问题必须具有并⾏度。也就是说,应⽤可以分解为多个⼦任务,这些⼦任务可以并⾏地执⾏。将⼀个应⽤分解为多个⼦任务的过程,称为并⾏算法的设计。
(3)并⾏编程。在并⾏计算机提供的并⾏编程环境上,具体实现并⾏算法,编制并⾏程序并运⾏该程序,从⽽达到并⾏求解应⽤问题的⽬的。分布式计算
1、分布式计算概念
分布式计算是⼀个需要⾮常巨⼤的计算能⼒才能解决的问题分成许多⼩的部分,然后把这些部分分配给许多计算机进⾏处理,最后把这些计算结果综合起来得到最终的结果。分布式计算和集中式计算相对应的概念。
2、分布式计算的优点
分布式计算是在两个或多个软件互相共享信息,这些软件既可以在同⼀台计算机上运⾏,也可以在通过⽹络连接起来的多台计算机上运⾏。
分布式计算⽐起其它算法具有以下⼏个优点:
(1)稀有资源可以共享。
(2)通过分布式计算可以在多台计算机上平衡计算负载。
(3)可以把程序放在最适合运⾏它的计算机上。其中,共享稀有资源和平衡负载是计算机分布式计算的核⼼思想之⼀。
3、分布式计算原理
Hadoop计算框架是出现⽐较早的⼀个分布式计算框架,由Apache基⾦会所开发。⽤户可以在不了解分布式底层细节的情况下,开发分布式程序。
并⾏计算与分布式计算区别与联系
并⾏计算和分布式计算既有区别也有联系。从解决对象上看,两者都是⼤任务化为⼩任务,这是他们共同之处。具体区别和联系如下表所⽰:
hadoop与spark的区别与联系结语
并⾏计算、分布式计算以及⽹格计算和云计算都是属于⾼性能计算(HPC)的范畴,主要⽬的在于对⼤数据的分析与处理,但它们却存在很多差异。我们需要了解两者的原理、特点和运⽤的场合,对云计算的了解⼤有裨益。(来源 “Tsarpro智能科技”)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论