1.1 计算与计算机科学
1.1 科学发现的第三支柱:计算科学
科学发现的三大支柱,分别是数学学科为基础的理论科学,物理学科为基础的实验科学,计算机学科为基础的计算科学. 许多情况下,计算手段是解决问题的唯一或主要方法. 主要原因有:
- 理论基础尚未建立
- 理论方法过于复杂
- 试验费用过于昂贵
- 实验环境过于苛刻
计算学科的兴起:
计算物理学、计算化学、计算生物学、计算地质学、计算气象学、计算材料学和计算电磁学等学科
计算科学的作用:
- 科学发现和人类文明进步的第三支柱
- 促进其它学科发展的基础作用
- 解决21世纪重大科学问题的综合作用
- 21世纪科学与工程发现的普遍模式
1.2 单处理机与指令级并行
1.3 多核处理器与线程级并行
1.3.1 单核处理器结构设计
传统单核处理器存在的问题:
- 如何有效地利用巨量的晶体管资源
- 晶体管门延迟时间将小于互连的线延迟
- 处理器性能的提升与电路复杂度的平方根成正比
- 芯片发热现象日益突出
- 设计和人力成本均急剧上升
- 给软件(编译器)设计增加了额外的负担
1.3.2 多核处理器的结构设计
多核处理器的技术特点:
- 便于优化设计
- 降低功耗
- 较容易地实现设计要求的主频
- 线程级的应用软件易于移植到多核环境中
1.3.3 多核处理器实例
学术界多核处理器实例
工业界多核处理器实例
Intel Core Duo
- 共享二级Cache
- 更多的缓存空间
- 更低的片上通信延迟
- 适用于仅使用单一双核处理器的系统
AMD Dual Core Opteron
- 私有二级Cache
- 更多的私有缓存空间
- 易于融合多个芯片之间的一致性信息
- 适用于将多个双核处理器组织起来的系统
1.4 并行计算体系结构
一般的并行计算体系结构有:单指令流多数据流(SIMD)、并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、分布共享存储多处理机(DSM)、工作站机群(COW)
1.4.1 并行计算机的结构模型
1.4.1.1 并行向量处理机(PVP - Parallel Vector Processor)
- 少量的高性能的定制向量处理器VP
- 专门设计的交叉开关互连
- 共享存储
- 通常不使用高速缓存,配有大量的向量寄存器和指令缓冲器
1.4.1.2 对称多处理机(SMP - Symmetric MultiProcessor)
- 结构对称性
- 共享存储,处理器通过读/写共享变量通信
- 单地址空间
- 高速缓存及其一致性
1.4.1.3 大规模并行处理机(MPP - Massively Parallel Processor)
- 大量的商用处理器,可扩放性好
- 物理上分布的分布式存储器
- 高带宽低延迟的定制互连网络
- 消息传递方式通信
1.4.1.4 分布共享存储处理机(DSM - Distributed Shared Memory)
- 由各个局存构成全局地址空间
- 定制互连网络
- 基于目录DIR的高速缓存一致性
- 系统软/硬件提供单一地址编程空间
1.4.1.5 工作站机群(COW - Cluster of Workstations)
- 每个节点都是一台完整的PC机或工作站(无头工作站)
- 低成本标准商用互连网络
- 分布存储,松散耦合结构
- 易搭建,投资风险小
1.4.2 并行计算机访存模型
1.4.2.1 均匀存储访问(UMA - Uniform Memory Access)
- 物理存储器被所有处理器均匀共享
- 所有处理器访问任何存储字取相同的时间
- 每台处理器可带私有高速缓存
- 外围设备也可以一定形式共享
1.4.2.2 非均匀存储访问(NUMA - NonUniform Memory Access)
- 共享存储器在物理上分布在所有处理器中,所有本地存储器的集合组成了全局地址空间
- 处理器访问存储器的时间是不一样的
- 访问本地存储器或群内共享存储器较快
- 访问外地存储器或全局共享存储器较慢
- 每台处理器可带私有高速缓存,外设也可以某种形式共享
1.4.2.3 全高速缓存存储访问(COMA - Cache-Only Memory Access)
- 各处理器节点中没有存储层次结构,全部高速缓存组成了全局地址空间
- 利用分布的高速缓存目录D进行远程高速缓存的访问
- COMA中的高速缓存容量一般都大于2 级高速缓存容量
- 使用COMA时,数据开始时可任意分配,因为在运行时它最终会被迁移到要用到它们的地方
1.4.2.4 高速缓存一致性非均匀存储访问(CC-NUMA - Coherent-Cache NonUniform Memory Access)
- 大多数使用基于目录的高速缓存一致性协议
- 保留SMP结构易于编程的优点,也改善常规SMP的可扩放性
- CC-NUMA实际上是一个分布共享存储的DSM多处理机系统
- 最显著的优点是程序员无需明确地在节点上分配数据
- 系统的硬件和软件开始时自动在各节点分配数据
- 在运行期间,高速缓存一致性硬件会自动地将数据迁移至要用到它的地方
1.4.2.5 非远程存储访问(NORMA - NO-Remote Memory Access)
- 所有存储器是私有的
- 绝大数NORMA都不支持远程存储器的访问
- 在DSM中,NORMA就消失了
1.4.3 并行计算机存储组织
监听总线协议
- 适用于基于总线连接的多处理机系统
- 由总线监听高速缓存中数据的一致性状态是否被破坏
- 写无效和写更新
基于目录的协议
- 适用于多级互连网络连接的多处理机系统
- 使用一个目录来记录共享数据的所有高速缓存行的位置和状态