Pthread函数整理

并行复习大纲

科普向的(选择题)

海洋建模,模拟大气运动,星系演化

分类

多种并行体系结构
冯诺依曼架构
一个时刻执行一条命令
针对其的优化:
1.降低内存访问延迟
2.隐藏或容忍内存延迟
3.处理器单核也能并行执行多条指令
内存延迟的计算2-13
利用cache降低延迟

cache

计算

两类并行体系组织结构

共享内存多处理器结构

多个自制的处理器,连接到一个内存系统
支持一个全局地址空间,每个处理器都能访问任何一个内存地址
一个共享内存程序就是一组线程

  • 一个共享内存程序就是一组线程
  • 线程通常在程序启动时创建,也可能动态创建
  • 每个线程有 私有变量 ,如栈中的局部变量
  • 所有线程共享一组 共享变量 ,如静态变量、共享的公共块或全局堆
    线程间通过读写 共享 变量 隐式 通信
  • 线程间通过锁和障碍(用共享变量实现)进行协同
    实例:笔记本,Niagara,GPU,AMD Istanbul
分布式内存结构

多个自治的系统,由一个互联网络连接
每个系统有自己独立的地址空间,处理器之间必须显式通信才能共享数据
最常见的是由商用网络连接的 PC 集群
一个分布式内存程序由若干具名进程组成

  • 一个进程就是一个线程加上局部地址空间 无共享数据
  • 逻辑上共享的数据划分到不同进程局部存储
  • 进程间用 send/receive 对显式通信
  • 每个通信事件都隐含进行了协同

互联网结构类型

bus,switch,静态网络:全互联,星形网络。线性阵列,二维网孔,二维环,三维mesh以及更高维度,超立方,

并行架构小结两大类:

完全连接: CMP 、 SMP 、 X bar

  • 保持了单一内存映像
  • 完全连接限制了伸缩性
  • 每个人都能获得(多核)

稀疏连接:集群、超级计算机

  • 分离的内存映像
  • 可增大到任意规模

常见的巨型机

神威太湖之光,Summit,天河三号,

主要的并行控制机制

Pthread函数整理

并行编程

效率前后,代价

SSE编程api

作业内容整理

同步的方式

互斥量

barrier

各个方式的区别

openMP