并行处理技术和并行处理机 - 软考备战(八)

计算机体系结构及其组成(六)

参考资料:

多核、多处理器、并发、并行、超线程概念总结 - 知乎

并行计算机体系结构_百度百科

【计算机体系结构】并行性等级_51CTO博客_并行计算机体系结构

计算机组成原理知识总结(九)并行组织与结构 - 赫凯 - 博客园

并行计算性能评测.pdf

分布式存储平台能解决哪些难题?高并发数据处理新趋势解读 - FineBI数据分析知识库

共享存储多处理机系统_百度百科


目录

计算机体系结构及其组成(六)

[6.1. 概念](#6.1. 概念)

并行性

并发性

控制并行

数据并行

粒度

时延

并行度

[6.2. 并行性的等级](#6.2. 并行性的等级)

处理数据的角度

(1)字串位串

(2)字串位并

(3)字并位串

(4)全并行

执行程序的角度看

(1)指令内部并行

(2)指令级并行

(3)任务级或过程级并行

(4)作业或程序级并行

[6.3. 提高计算机并行性的措施](#6.3. 提高计算机并行性的措施)

时间重叠

资源重复

资源共享

[6.4. 并行处理机](#6.4. 并行处理机)

并行处理机的性能参数

处理单元(PE)数量

峰值性能(MFLOPS/GFLOPS/TFLOPS)

通信带宽与时延

分布式存储并行处理

共享式分布处理(共享存储并行处理)

并行处理机的特点

强大的向量运算能力

使用资源重复的并行方式

标量运算的作用

编译系统


6.1. 概念

并行性

指两个或多个事件在同一绝对时刻发生。

属于真正的物理并行(如多核CPU同时执行不同线程)。

并发性

指两个或多个事件在同一时间段内发生。

在单处理机中,通过时间片轮转等宏观上看起来是同时发生的,微观上可能是交替执行的。

控制并行

又称指令并行,指多个处理机同时执行不同的指令序列(不同的任务或程序)。

强调的是操作级别的并行。

数据并行

指多个处理机对不同的数据元素同时执行相同的操作(单指令流多数据流 SIMD)。

强调的是对大型数据集的并发处理。

粒度

衡量并行处理任务或计算大小的尺度。

通常分为:

粗粒度(任务级、作业级,通信开销小)

中粒度(过程级、循环级)

细粒度(指令级、操作级,并行度高但通信和控制开销大)。

时延

在并行系统中,指从一个处理机发出数据请求或同步信号,到实际获得数据或完成同步所经历的时间。

时延是影响并行效率的重要瓶颈。

并行度

指在单位时间内,计算机系统能够同时处理的最大任务数或指令数,反映了系统发掘并行计算能力的程度。

6.2. 并行性的等级

处理数据的角度

(1)字串位串

同时只对一个字的一位进行处理。

这是最基本的串处理方式,不存在并行性。

(2)字串位并

同时对一个字的全部位进行处理,不同字之间是串行的。

这里已开始出现并行性。

(3)字并位串

同时对许多字的一位进行处理。

这种方式有较高的并行性。

(4)全并行

同时对许多字的全部位进行处理。

这是最高一级的并行性。

执行程序的角度看

(1)指令内部并行

一条指令执行时各微操作之间并行。

(2)指令级并行

并行执行两条或多条指令。

(3)任务级或过程级并行

并行执行两个以上过程或任务(程序段)。

将一个程序分解为多个过程(函数、子程序),并行执行这些过程(如多线程编程中的多线程并发)。

(4)作业或程序级并行

并行执行两个以上作业或程序。

多个独立的作业或完整程序在多个处理机或计算机上同时运行(如大型服务器的分布式任务调度、批处理系统)。

6.3. 提高计算机并行性的措施

这是实现并行计算的三大基本途径:

时间重叠

引入流水线概念。

让多个处理过程在时间上交错重叠执行(如指令流水线)。

属于单机提高并行性的最主要方法,实现的是时间上的并行。

资源重复

通过增加硬件资源来提高并行性。

设置多个相同的处理单元同时工作(如多核CPU、阵列机)。

实现的是空间上的并行。

资源共享

(注:教材中常称为"资源共享",与分时对应)

多个任务按一定时间顺序轮流使用同一套硬件资源。

主要提高的是并发性(宏观并行,微观串行),如分时系统、多道程序设计。

6.4. 并行处理机

并行处理机(又称阵列处理机)属于单指令流多数据流(SIMD)架构的代表。

并行处理机的性能参数

处理单元(PE)数量

决定了空间并行的规模。

峰值性能(MFLOPS/GFLOPS/TFLOPS)

衡量每秒能执行的浮点运算次数。

通信带宽与时延

PE之间或PE与控制部件(CU)之间交换数据的速度与延迟。

分布式存储并行处理

结构

每个处理单元(PE)都拥有自己独立的本地存储器(LM)。

特点

数据通过互连网络(ICN) 在PE之间进行点对点传递。寻址规则复杂,数据分配需由程序员或编译器仔细规划,以减少远端通信。

共享式分布处理(共享存储并行处理)

结构

多个处理单元(PE)共享一个全局的集中式主存。

特点

地址空间统一,编程相对容易;但多个PE同时访问内存时容易产生存储器冲突(瓶颈),通常采用交叉编址或多体并行存储器来缓解。

并行处理机的特点

强大的向量运算能力

天然适合处理大型数组、矩阵等向量计算(如气象预报、图像处理)。通过单条向量指令控制成百上千个PE同时运算。

使用资源重复的并行方式

硬件结构上采用大量的重复处理单元(PE阵列),属于典型的空间并行。

标量运算的作用

并行处理机(SIMD)只擅长向量化计算,对于无法向量化的标量操作和逻辑控制操作(如条件判断、循环控制)效率极低。

因此,系统中必须配备一台高性能的标量处理机(控制部件CU兼任),专门负责处理标量指令和控制流,将向量指令分发给PE阵列执行。

编译系统

并行处理机的高效运行极度依赖编译系统。

编译器必须具备强大的向量化能力,能够自动识别普通高级语言程序中的循环结构,并将其转换为能在PE阵列上并行执行的向量指令

相关推荐
发际线还在10 天前
互联网大厂Java三轮面试全流程实战问答与解析
java·数据库·分布式·面试·并发·系统设计·大厂
Striver-Diligent13 天前
GenNP: 一种低门槛且功能强大的网络性能数据生成器
网络·计算机网络·并行·网络仿真·网络性能估计·离散事件仿真
SudosuBash1 个月前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
callJJ1 个月前
深入浅出 MVCC —— 从零理解 MySQL 并发控制
数据库·mysql·面试·并发·mvcc
西门吹雪分身1 个月前
JUC之公平锁与非公平锁
java·并发·juc·
消失的旧时光-19431 个月前
C++ 多线程与并发系统取向(二)—— 资源保护:std::mutex 与 RAII(类比 Java synchronized)
java·开发语言·c++·并发
消失的旧时光-19431 个月前
C++ 多线程与并发系统取向(七)—— 并发排障与工程纪律(从“会写”到“能控场”)
开发语言·c++·并发
消失的旧时光-19431 个月前
C++ 多线程与并发系统取向(五)—— std::atomic:原子操作与状态一致性(类比 Java Atomic)
开发语言·jvm·c++·并发
郝学胜-神的一滴1 个月前
Effective Modern C++ 条款39:一次事件通信的优雅解决方案
开发语言·数据结构·c++·算法·多线程·并发