第五章 并行计算和并行程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PMp
Pp
…
PM1
P1
CM1
…
CMp
PMIN
M1
…
Mm
PIOIN
I/O通道 D1
Dd
PM: 局存 CM: 高速缓存
P: 处理器 D: 外部设备
… … … … … … … … … …
…
阵列处理机的两种基本结构
(a)分布存储阵列机
CU
PEn-1
P0
…
Pn-1
M0
Mn-1
(b)共享存储阵列机
CU
PE0
PE1
z Gustafson加速定律 : S ' = WS + pWp = WS + pWp WS + p ⋅Wp / p WS + WP
z 并行开销W o :
S' = f + p ( 1-f) = p + f ( 1-p) = p-f (p- 1 )
S ' = WS + pW P = f + p(1 − f )
M
M
充分利用分散计算资源
可扩放性好
MIO
MIO
z 问题
D
LAN
D
通信性能
NIC
NIC
并行编程环境
大规模并行机MPP
z Massively Parallel Processor
z 成百上千个CPU组成,规模可变
z 可扩放性:Mem, I/O,平衡设计
z 系统成本:商用处理器,相对稳定的结构
GSM
GSM
…
GSM
每台处理器可带私有高速缓存
全局互连网络
LM
P
1
1
互
LM
P
连
2
2
网
络
LM
P
n
n
(a)共享本地存储模型
P
CSM
P
C
CSM
I
…
N
P
CSM
群1
P
CSM
P
C
CSM
I
N
P
CSM
群N
(b)层次式机群模型
CC-NUMA访存模型Coherent-Cache Nonuniform Memory Access
z 如果系统内任何处理器上的进程都能直接地访问系统内 任何本地存储器和远程存储器,则就称该系统具有共享 存储结构。注意,所谓直接访问系指能用load和store 之类的指令存取整个系统内的任何存储单元。
z 如果系统内任何处理器上的进程不能直接对远程存储器 用load和store之类的指令进行访问,而必须借助于运 行时软件层和用户可调用的例程库来实现,则就称该系 统具有非共享存储结构。
I/O部分
SCSI 节点
计算 节点
计算部分
计算 节点
… …
计算 节点
服务部分
服务 节点
I/O部分
SCSI 节点
以太网
HIPPI 节点
计算 节点
计算 节点
… …
计算 节点
服务 节点
SCSI 节点
FDDI
VME 节点
用户I/O
磁带
HIPPI 节点
计算 节点
计算 节点
… …
计算 节点
服务 节点
SCSI 节点
UMA访存模型 Uniform Memory Access
z 均匀存储访问模型
物理存储器被所有处理器均匀共享;
所有处理器访问任何存储有相同存取时间;
每台处理器可带私有高速缓存;
外围设备也可以一定形式共享。
处理器
P1
P2
…
来自百度文库
Pn
系统互连 ( 总线 ,交叉开关 , 多级 网络 )
I/O
SM1
z 并行计算机的弗林(Flynn)分类 SISD,单指令流单数据流 Single Instruction stream Single Data stream, SIMD,单指令流多数据流 Single Instruction stream Multiple Data stream, MISD,多指令流单数据流 Multiple Instruction stream Single Data stream MISD,多指令流多数据流 Multiple Instruction stream Multiple Data stream
z Ts=串行执行时间,Tp=并行执行时间; z S:加速比 z 出发点
固定不变的计算负载; 固定的计算负载分布在多个处理器上的, 增加处理器加快执行速度,从而达到了加速的目的。
Amdahl 定律(续)
z 固定负载的加速公式: S = Ws + Wp Ws + WP / p
z W s+ W p可相应地表示为f+(1-f)
并行机的一些基本性能指标
z 机器的成本与价格 机器的性价比 系指用单位代价(通常以百万美元表示)所获取的性能 (通常以MIPS或MFLOPS表示) 利用率(Utilization):可达到的速度与峰值速度之比
z 算法级性能评测
加速比性能定律 并行系统的加速比是指对于一个给定的应用,并行算法(或
Mem
总 线 或交 叉开 关
…
节点 N
P/C
… P/C
Mem
总 线 或交 叉开 关
I/O
NIC,DIR,RC
I/O
NIC,DIR,RC
系统互连网路
... ...
NORMA访存模型No-Remote Memory Access
非远程存储访问模型 所有存储器是私有的;
M
M ... M
P
P
P
MP MP
z π的计算
∫ ∑ π =
14 01+ x2
dx
≈
4 0≤ i≤ N 1 + ⎜⎛ i + 0 .5 ⎟⎞ 2
⋅
1 N
⎝N ⎠
4
3
2
1
0
1
Gustafson定律
z 出发点: 对于很多大型计算,计算精度是个关键因素,而计算时间 是固定不变的。此时为了提高精度,必须加大计算量,相 应地亦必须增多处理器数才能维持时间不变; 除非学术研究,在实际应用中没有必要固定工作负载而计 算程序运行在不同数目的处理器上,增多处理器必须相应 地增大问题规模才有实际意义。
典型并行计算机系统
分布存储
z 阵列处理机
共享存储
z 向量处理机 流水线
并行向量机
z 共享存储多处理机 紧耦合多机系统
同构对称对机系统
z 分布存储多计算机 DSM/SVM
共享存储多处理机
z MIMD-多指令多数据流机
z 单一的共享地址空间
z 易于编程、难于扩展
z 存储访问可成为性能瓶颈
PPIN
z 紧耦合与同构对称两种方式
…
PEn-1
IN
IN
z 阵列处理机的特点
M0
M1
SIMD-单指令多数据流机
利用资源重复开拓计算空间的并行
同步计算--所有PE执行相同操作
适于特定问题(如有限差分、矩阵运算等)求解
…
Mm-1
分布存储多计算机
z 松散耦合多机系统 z 节点独立(可有局存、IO设备等),易于扩展 z 多地址空间,难于编程
WS + WP + WO 1 + WO /W
Sun-Ni定律
z 基本思想:
只要存储空间许可,应尽量增大问题规模以产生更好和更精确的解 (此时可能使执行时间略有增加)。
假定在单节点上使用了全部存储容量M并在相应于W的时间内求解 之,此时工作负载W= fW + (1-f)W。
在p 个节点的并行系统上,能够求解较大规模的问题是因为存储容量 可增加到pM。令因子G(p)反应存储容量增加到p倍时并行工作负载 的增加量,所以扩大后的工作负载W = fW + (1-f)G(p)W。
并行程序)的执行速度相对于串行算法(或串行程序)的执 行速度加快了多少倍。 Amdahl 定律[阿姆达尔] Gustafson定律 Sun Ni定律
Amdahl 定律
z P:处理器数; z W:问题规模(计算负载、工作负载,给定问题的总计算量);
Ws:应用程序中的串行分量,f是串行分量比例(f = Ws/W, Ws=W1); WP:应用程序中可并行化部分,1-f为并行分量比例; Ws +W p =W;
对称多处理机SMP
z Symmetric Multiprocessor
z 采用商用微处理器,通常有片上和片外Cache,基于总线连接, 集中式共享存储,UMA结构
… P/C P/C
P/C
总线或交叉开关
z 优点 对称性
SM
SM
I/O
单地址空间,易编程性,动态负载平衡,无需显式数据分配
高速缓存及其一致性,数据局部性,硬件维持一致性
S=
f + (1 − f + 1−
f f
)
=
1+
p f ( p − 1)
p
p→∞时,上式极限为: S= 1 / f
z W o为额外开销
S
=
WS +WP
WS
+
WP p
+WO
=
W fW + W(1−
p
f ) +WO
= 1+
p f (p −1) +WOp/W
p→∞时,上式极限为:
S= 1 / ( f + W0 / W)
消息传递互连网络 (网 络 , 环 网 , 超 立 方 ,
立方环等)
P
P ... P
M
M
M
PM PM
并行计算性能评测
z 并行机的基本性能指标 z 加速比性能定律
Amdahl定律 Gustafson定律 Sun Ni定律
分布式存储中的共享与与非共享存储
z 在并行计算机中,一个物理上分布的存储器在逻辑上可 以被共享与非共享。
低通信延迟,Load/Store指令
工作站机群COW
z Cluster of Workstation
z 分布式存储
z MIMD
z 工作站+商用互连网络,每个节点是一个完整的计算机,有自己 的磁盘和操作系统,而MPP中只有微内核
z 优点:
投资风险小
P/C
P/C
系统结构灵活
性能/价格比高
例如使用多个“廉价”计算资源取代大型计算机 例如克服单个计算机上的存储器限制。
z 串行计算
指在具有单个中央处理单元的计算机上执行软件。
z 并行计算问题的特征
工作分离成离散部分 随时并及时地执行多个程序指令; 多计算资源下解决问题的耗时要少于单个计算资源下的耗时。
内容提纲 z 并行计算的概念 z 并行计算机 z 并行编程环境 z OpenMP
z 通用性和可用性
不同的应用,PVM,MPI,交互,批处理,互连对用户透明,单一
系统映象 z 通信要求 z 存储器和I/O能力
MB P/C
LM
MB
P/C
…
LM
NIC
NIC
定制网络
并行计算机访存模型
z 均匀存储访问模型- UMA z 非均匀存储访问模型- NUMA z 全高速缓存访问模型-COMA z 高速缓存一致性非均匀存储访问模型-CC-NUMA z 非远程存储访问模型-NORMA
互连网络
D
D
D
C
… C
C
P
P
P
… … … …
…
…
NUMA访存模型Nonuniform Memory Access
z 非均匀存储访问
被共享的存储器在物理上是分布在所有的处理器中的,其 所有本地存储器的集合就组成了全局地址空间;
访问本地存储器LM或群内共享存储器CSM较快,而访问
外地存储器或全局共享存储器GSM较慢
《高级操作系统》
第五章 并行计算和并行程序
教师:苏曙光 华中科技大学软件学院
并行计算的概念 z 并行计算(Parallel Computing)
指同时使用多种计算资源解决计算问题的过程。 时间上的并行:流水线技术 空间上的并行:多处理器并发执行计算 并行计算的主要目的是快速解决大型且复杂的计算问题。 还包括:利用非本地资源,节约成本
=
f
f
+ (1 −
+ (1 − f )G(p) f )G(p)/ p + WO /W
并行机的一些基本性能指标
z 工作负载
执行时间 浮点运算数 指令数目
z 并行执行时间T
Tcomput为计算时间 Tparo为并行开销时间 Tcomm为相互通信时间
T = Tcomput + Tparo+ Tcomm
并行机的一些基本性能指标
z 并行与通信开销 并行和通信开销:相对于计算很大。 开销的测量:乒--乓方法(Ping-Pong Scheme) 节点0发送m个字节给节点1;节点1从节点0接收m个字节 后,立即将消息发回节点0。总的时间除以2,即可得到点 到点通信时间,也就是执行单一发送或接收操作的时间。
z 高速缓存一致性非均匀存储访问
CC-NUMA实际是一个分布共享存储的DSM多处理机系统 保留SMP结构易于编程的优点 显著优点是程序员无需明确地在节点上分配数据,系统开
始时自动在各节点分配数据,在运行期间,高速缓存一致 性硬件会自动地将数据迁移至要用到它的地方。
节点 1
… P / C
P/C
…
SMm
共享存储器
COMA访存模型Cache-Only Memory Access
z 全高速缓存存储访问
各处理器节点中没有存储层次结构,全部高速缓存组成了 全局地址空间;
利用分布的高速缓存目录D进行远程高速缓存的访问; 使用COMA时,数据开始时可任意分配,因为在运行时它
最终会被迁移到要用到它们的地方。
z 存储受限的加速公式 :
S '' =
fW + (1 − f )G (p )W fW + (1 − f )G (p )W / p
=
f
f + (1 − f )G (p ) + (1 − f )G (p )/ p
z 并行开销W o:
S' =
fW
fW + (1 − f )WG (p) + (1 − f )G(p)W / p + WO