什么是并行计算?

什么是并行计算?本文主要介绍并行计算相关概念 并行计算条件 层次 并行计算机体系结构 并行程序设计基础等

大家好,欢迎来到IT知识分享网。

一、并行计算基础

1.1 概念

71e05a8ba81e4607aa9dbf5829cbb968.png

简单来讲,并行计算就是同时使用多个计算资源来解决一个计算问题

•一个问题被分解成为一系列可以并发执行的离散部分;
•每个部分可以进一步被分解成为一系列离散指令;
•来自每个部分的指令可以在不同的处理器上被同时执行;
•需要一个总体的控制/协作机制来负责对不同部分的执行情况进行调度。

46d9e7b5277c41f8b8c19fb7655e8c79.png 1.2 并行计算条件

dd9a0069f89142628470c0cb52a374a0.png

 bb96704f2e484de8a3241fb2e086e4d4.png

9fce14daf6a24bea86372862121748aa.png

1.3 并行计算层次

e0b4936a33cb4804b2a36a61ffcbbb6e.png

 二、并行计算机体系结构

弗林经典分类法( 1966 年): 从 指令流 和 数据流 两个维度区分多处理器计算机体系结构。

SISD是标准意义上的串行机,具有如下特点:

1 )单指令:在每一个时钟周期内, CPU 只能执行一个指令流;

2 )单数据:在每一个时钟周期内输入设备只能输入一个数据流;

3 )执行结果是确定的。这是最古老的一种计算机类型。

1 )单指令:所有处理单元在任何一个时钟周期内都执行同一条指令;

2 )多数据:每个处理单元可以处理不同的数据元素;

3 )非常适合于处理高度有序的任务例如图形 图像处理;

4 )同步(锁步)及确定性执行 。

1 )多指令:不同的处理单元可以独立地执行不同的指令流;

2 )单数据:不同的处理单元接收的是同一单数据流。这种架构理论上是有的,但是工业实践中这种机型非常少。

1 )多指令:不同的处理器可以在同一时刻处理不同的指令流;

2 )多数据:不同的处理器可以在同一时刻处理不同的数据;

3 )执行可以是同步的也可以是异步的,可以是确定性的,也可以是不确定性的。 这是目前主流的计算机架构类型 ,目前的超级计算机、并行计算机集群系统网格,多处理器计算机,多核计算机等都属于这种类型。 

4db5f0c07e134e3b830688dee2a8dea7.png

用于科学计算的主流高性能并行计算机系统结构通常可以分成以下5 类:

0fd389ac2f574c1db94a964296355cdd.png 五种结构特性一览表

属性

PVP

SMP

MPP

DSM

Cluster

结构类型

MIMD

MIMD

MIMD

MIMD

MIMD

处理器类型

专用定制

商用

商用

商用

商用

互联网络

定制交叉开关

总线、交叉开关

定制网络

定制网络

商用网络

通讯机制

共享变量

共享变量

消息传递

共享变量

消息传递

地址空间

单地址空间

单地址空间

多地址空间

单地址空间

多地址空间

系统存储器

集中共享

集中共享

分布非共享

分布共享

分布非共享

访存模型

UMA

UMA

NORMA

NUMA

NORMA

913db54ca0a948d3b3beb6e359e64a73.png 2.1 并行计算访存模型UMA

UMA(Uniform Memory Access)模型是均匀存储访问模型的简称。其特点是:

物理存储器被所有处理器均匀共享;

所有处理器访问任何存储字取相同的时间;

每台处理器可带私有高速缓存;

外围设备也可以一定形式共享。 

 a81d10c077e74b05b40b15ae1768019c.png

2.2并行计算访存模型NUMA 

 

NUMA(Nonuniform Memory Access)模型是非均匀存储访问模型的简称。特点是:

被共享的存储器在物理上是分布在所有的处理器中的,其所有本地存储器的集合就组成了全局地址空间;

处理器访问存储器的时间是不一样的;访问本地存储器LM或群内共享存储器CSM较快,而访问外地的存储器或全局共享存储器GSM较慢(此即非均匀存储访问名称的由来);

每台处理器照例可带私有高速缓存,外设也可以某种形式共享。

c25cca50481a4c2f80fe6fffbe0d5289.png 

2.3 并行计算访存模型COMA

COMA(Cache-Only Memory Access)模型是全高速缓存存储访问的简称。其特点是:

各处理器节点中没有存储层次结构,全部高速缓存组成了全局地址空间;

利用分布的高速缓存目录D进行远程高速缓存的访问;

COMA中的高速缓存容量一般都大于2级高速缓存容量;

使用COMA时,数据开始时可任意分配,因为在运行时它最终会被迁移到要用到它们的地方。

2c48b80429ad4570b63c50eebd98f577.png 

2.4 并行计算访存模型CC-NUMA

CC-NUMA(Coherent-Cache Nonuniform Memory Access)模型是高速缓存一致性非均匀存储访问模型的简称。其特点是:

大多数使用基于目录的高速缓存一致性协议;

保留SMP结构易于编程的优点,也改善常规SMP的可扩放性;

CC-NUMA实际上是一个分布共享存储的DSM多处理机系统;

它最显著的优点是程序员无需明确地在节点上分配数据,系统的硬件和软件开始时自动在各节点分配数据,在运行期间,高速缓存一致性硬件会自动地将数据迁移至要用到它的地方。

 

eea3b06d65994ecc8e2a9e211e301085.png  2.5 并行计算访存模型NORMA

NORMA(No-Remote Memory Access)模型是非远程存储访问模型的简称。NORMA的特点是:

所有存储器都是私有的;

绝大数NUMA都不支持远程存储器的访问

在DSM中,NORMA就消失了。

a4348e860d6a44cb87520d0337ecf012.png 

2.6 构筑并行机系统的不同存储结构

ac309e37c1634332ad79752ec24740b5.png 

三、并行程序设计基础 

3.1 并行程序设计模型

隐式并行(Implicit Parallel)
编写串行程序,通过编译器和运行支持系统将串行程序自动并行化
特点:语义简单,可移植性好,易于调试和验证
缺点:细粒度并行,效率很低


3.2 并行程序设计原则

  • 与体系结构相结合
  • 具有可扩展性
  • 粗粒度
  • 减少通信
  • 优化性能

粒度是指各个线程可以独立并行执行的任务的大小,是一个相对的概念,与并行度和并行机相关。一般可理解为:

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/126262.html

(0)
上一篇 2025-09-20 14:00
下一篇 2025-09-20 14:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信