type
status
date
slug
summary
tags
category
icon
password
Why first book?
一直依赖没有系统地了解并行计算的全貌,借助此书了解,看到目录中有很多不错的内容
比如基本通信操作和解析建模方法,虽然可能不一定是最优,但相比自己想能减少很多时间开销
1
相比晶体管数量,OPS性能指标比较可靠
DRAM提升跟不上处理器
2 并行编程平台
处理器、内存、数据通道
2.1 隐式并行:微处理器体系结构
在一个时钟周期内执行多个指令
超标量与VLIW对隐式并行处理非常好,但通常局限在4-8路小规模并发上
流水线与超标量
数十阶段的流水线
典型:每5-6条指令就是一个分支
超标量执行、两路超标量、双指令发送:使用多个流水线,同时发送多条指令
乱序指令发送
超标量处理器抽出的并行性通常收到指令预测的限制。
用于动态相关性分析的硬件复杂度大约以发送指令的二次方增长,并可能导致瓶颈
超长指令字
VLIW
将能够并发执行的指令放到一个组中,作为一个超长指令字
编译时解决相关性
没有动态程序状态(分支历史缓冲器)对调度进行决策,因此会影响分支与内存预测准确性
2.2 内存局限
延迟、带宽
缓存的意义在于重复引用同一数据项时减少延迟(时间局部性)
超宽的内存总线代价昂贵,可行的是连续的字通过总线传输
空间局部性——连续的数据传输,提升内存带宽减少访存瓶颈
躲避延迟
预取、多线程?、分摊延迟(空间局部性)
未命中 → 从下级存储获取 → 访问频率 如1word/10ns → 计算得到带宽需求
2.3 并行平台
控制结构:SIMD MIMD SPMD
- 通信模型
- 共享地址空间
- UMA
- NUMA
- 消息传递
- MPI
2.4 并行物理结构
网络拓步结构
基于总线,CPU内部互联总线
交叉开关网络,元件多成本高,很难高速传输
多级网络,不太理解
全连接网络、星形连接网络
线性阵列
全连接网络中链路太多
很多物理仿真能自然映射为二维、三维网络结构
映射的节点地址可以动过简单导出
树网络
高速缓存一致性
缓存侦听
目录
集中式目录可能导致争用
分布式目录
2.5 通信成本
消息传递成本
- 启动时间 ts:消息准备(头尾、错误校正)、路由算法、建立接口
- 每站时间 th
- 每字传送时间 tw
- 存储转发路由选择
- 每个中间节点都需要完整接收存储
- 包路由选择
- 直通路由选择
共享地址通信成本
- 一致性操作开销
- 共享访问争用
- 高速缓存颠簸:减少工作区大小
- Author:NotionNext
- URL:https://tangly1024.com/article/%E5%B9%B6%E8%A1%8C%E8%AE%A1%E7%AE%97%E5%AF%BC%E8%AE%BA
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts