Pthread函数整理
并行复习大纲
科普向的(选择题)
海洋建模,模拟大气运动,星系演化
分类
多种并行体系结构
冯诺依曼架构
一个时刻执行一条命令
针对其的优化:
1.降低内存访问延迟
2.隐藏或容忍内存延迟
3.处理器单核也能并行执行多条指令
内存延迟的计算2-13
利用cache降低延迟
cache
计算
两类并行体系组织结构
共享内存多处理器结构
多个自制的处理器,连接到一个内存系统
支持一个全局地址空间,每个处理器都能访问任何一个内存地址
一个共享内存程序就是一组线程
- 一个共享内存程序就是一组线程
- 线程通常在程序启动时创建,也可能动态创建
- 每个线程有 私有变量 ,如栈中的局部变量
-
所有线程共享一组 共享变量 ,如静态变量、共享的公共块或全局堆
线程间通过读写 共享 变量 隐式 通信 -
线程间通过锁和障碍(用共享变量实现)进行协同
实例:笔记本,Niagara,GPU,AMD Istanbul
分布式内存结构
多个自治的系统,由一个互联网络连接
每个系统有自己独立的地址空间,处理器之间必须显式通信才能共享数据
最常见的是由商用网络连接的 PC 集群
一个分布式内存程序由若干具名进程组成
- 一个进程就是一个线程加上局部地址空间 无共享数据
- 逻辑上共享的数据划分到不同进程局部存储
- 进程间用 send/receive 对显式通信
- 每个通信事件都隐含进行了协同
互联网结构类型
bus,switch,静态网络:全互联,星形网络。线性阵列,二维网孔,二维环,三维mesh以及更高维度,超立方,
并行架构小结两大类:
完全连接: CMP 、 SMP 、 X bar
- 保持了单一内存映像
- 完全连接限制了伸缩性
- 每个人都能获得(多核)
稀疏连接:集群、超级计算机
- 分离的内存映像
- 可增大到任意规模
常见的巨型机
神威太湖之光,Summit,天河三号,