并行计算

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

并行计算(Parallel Computing)

目录

什么是并行计算

  并行计算或称平行计算是相对于串行计算来说的。它是一种一次可执行多个指令的算法,目的是提高计算速度,及通过扩大问题求解规模,解决大型而复杂的计算问题。所谓并行计算可分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。

并行计算的解读

  并行计算同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群。通过并行计算集群完成数据的处理,再将处理的结果返回给用户

  并行计算可分为时间上的并行和空间上的并行。

  时间上的并行:是指流水线技术,比如说工厂生产食品的时候步骤分为:

  1. 清洗:将食品冲洗干净。

  2. 消毒:将食品进行消毒处理。

  3. 切割:将食品切成小块。

  4. 包装:将食品装入包装袋

  如果不采用流水线,一个食品完成上述四个步骤后,下一个食品才进行处理,耗时且影响效率。但是采用流水线技术,就可以同时处理四个食品。这就是并行算法中的时间并行,在同一时间启动两个或两个以上的操作,大大提高计算性能。

  空间上的并行:是指多个处理机并发的执行计算,即通过网络将两个以上的处理机连接起来,达到同时计算同一个任务的不同部分,或者单个处理机无法解决的大型问题。

并行计算特征

  为利用并行计算,通常计算问题表现为以下特征:

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

  (2)随时并及时地执行多个程序指令;

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

并行计算基本体系结构

  并行计算科学中主要研究的是空间上的并行问题。从程序和算法设计人员的角度来看,并行计算又可分为数据并行和任务并行。一般来说,因为数据并行主要是将一个大任务化解成相同的各个子任务,比任务并行要容易处理。

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

访存模型

  并行计算机有以下五种访存模型:

  均匀访存模型(UMA)

  非均匀访存模型(NUMA)

  全高速缓存访存模型(COMA)

  一致性高速缓存非均匀存储访问模型(CC-NUMA)

  非远程存储访问模型(NORMA)。

计算模型

  不像串行计算机那样,全世界基本上都在使用冯·诺伊曼的计算模型;并行计算机没有一个统一的计算模型。不过,人们已经提出了几种有价值的参考模型:PRAM模型,BSP模型,LogP模型,C^3模型等。

  网络设置

  并行计算机是靠网络将各个处理机或处理器连接起来的,一般来说有以下几种方式:处理单元间有着固定连接的一类网络,在程序执行期间,这种点到点的链接保持不变;典型的静态网络有一维线性阵列、二维网孔、树连接、超立方网络、立方环、洗牌交换网、蝶形网络等。静态连接

  动态连接

  用交换开关构成的,可按应用程序的要求动态地改变连接组态;典型的动态网络包括总线、交叉开关和多级互连网络等。

并行计算基本术语

  节点度:射入或射出一个节点的边数。在单向网络中,入射和出射边之和称为节点度。

  网络直径:网络中任何两个节点之间的最长距离,即最大路径数。

  对剖宽度:对分网络各半所必须移去的最少边数。

  对剖带宽:每秒钟内,在最小的对剖平面上通过所有连线的最大信息位(或字节)。

并行计算性能度量

基本指标

  执行时间

  工作负载

  存储性能

加速比评测

  Amdahl定理

  Gastofson定理

  Sun-Ni定理

可扩放性标准

  等效率标准

  等速度标准

  平均延迟标准

  并行计算与云计算

  云计算是在并行计算之后产生的概念,是由并行计算发展而来, 两者在很多方面有着共性。学习并行计算对于理解云计算有很大的帮助。并行计算是学习云计算必须要学习的基础课程

  但并行计算不等于云计算,云计算也不等同并行计算。两者区别如下。

  (1)云计算萌芽于并行计算

  云计算的萌芽应该从计算机的并行化开始,并行机的出现是人们不满足于CPU摩尔定率的增长速度,希望把多个计算机并联起来,从而获得更快的计算速度。这是一种很简单也很朴素的实现高速计算的方法,这种方法后来被证明是相当成功的。

  (2)并行计算、网格计算只用于特定的科学领域,专业的用户

  并行计算、网格计算的提出主要是为了满足科学和技术领域的专业需要,其应用领域也基本限于科学领域。传统并行计算机的使用是一个相当专业的工作,需要使用者有较高的专业素质,多数是命令行的操作,这是很多专业人士的噩梦,更不用说普通的业余级用户了。

  (3)并行计算追求的高性能

  在并行计算的时代,人们极力追求的是高速的计算、采用昂贵的服务器,各国不惜代价在计算速度上超越他国,因此,并行计算时代的高性能机群是一个“快速消费品”,世界TOP500高性能计算机地排名不断地在刷新,一台大型机群如果在3年左右不能得到有效的利用就远远的落后了,巨额投资无法收回。

  (4)云计算对于单节点的计算能力要求低

  而云计算时代我们并不去追求使用昂贵的服务器,我们也不用去考虑TOP500的排名,云中心的计算力和存储力可随着需要逐步增加,云计算的基础架构支持这一动态增加的方式,高性能计算将在云计算时代成为“耐用消费品”。

本条目对我有帮助2
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目

本条目由以下用户参与贡献

刘维燎,LuyinT.

评论(共0条)

提示:评论内容为网友针对条目"并行计算"展开的讨论,与本站观点立场无关。

发表评论请文明上网,理性发言并遵守有关规定。

打开APP

以上内容根据网友推荐自动排序生成