全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 程序与语言

并行多核体系结构基础/计算机科学丛书

  • 定价: ¥99
  • ISBN:9787111610410
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:机械工业
  • 页数:372页
  • 作者:(美)汤孟岩|译者:...
  • 立即节省:
  • 2019-01-01 第1版
  • 2019-01-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    并行编程和性能调优对许多程序员而言已经成为不可或缺的能力。汤孟岩著的《并行多核体系结构基础/计算机科学丛书》以问题为引导,系统地讲解了并行多核体系结构中的根本问题。第一部分(第2~4章)介绍了在共享存储多处理器中的编程问题,如编程模型、规则和非规则应用的井行化技术。第二部分(第5~12章)介绍了共享存储多处理器体系结构,包括存储层次、设计共享存储并行多处理器时的基本问题、缓存一致性、存储一致性、同步、互连网络,以及图形处理单元系统的单指令流多线程编程模型。本书最后部分提供了对多核体系结构领域专家的访谈记录,从专家视角理解并行多核体系结构的发展过程和未来趋势。本书在阐述过程中采用了“理论讲解+案例分析+专家访谈”相结合的方式,视角独特、内容新颖、方法独到。本书的内容适用于计算机相关专业研究生、高年级本科生,以及受过计算机科学或工程训练的专业人士。

目录

译者序
前言
缩写词表
第1章  多核体系结构概述
  1.1  多核体系结构的由来
  1.2  并行计算机概述
    1.2.1  并行计算机的Flynn分类法
    1.2.2  MIMD并行计算机分类
  1.3  未来的多核体系结构
  1.4  习题
  课堂习题
  课后习题
第2章  并行编程概述
  2.1  并行程序性能的限制因素
  2.2  并行编程模型
    2.2.1  共享存储与消息传递模型的对比
    2.2.2  一个简单的例子
    2.2.3  其他编程模型
  2.3  习题
  课后习题
第3章  共享存储并行编程
  3.1  并行编程的步骤
  3.2  依赖分析
    3.2.1  循环级依赖分析
    3.2.2  迭代空间遍历图和循环传递依赖图
  3.3  识别循环结构中的并行任务
    3.3.1  循环迭代间的并行和DOALL并行
    3.3.2  DOACROSS:循环迭代间的同步并行
    3.3.3  循环中语句间的并行
    3.3.4  DOPIPE:循环中语句间的流水线并行
  3.4  识别其他层面的并行
  3.5  通过算法知识识别并行
  3.6  确定变量的范围
    3.6.1  私有化
    3.6.2  归约变量和操作
    3.6.3  准则
  3.7  同步
  3.8  任务到线程的映射
  3.9  线程到处理器的映射
  3.10  OpenMP概述
  3.11  习题
  课堂习题
  课后习题
第4章  针对链式数据结构的并行编程
  4.1  LDS并行化所面临的挑战
  4.2  LDS并行化技术
    4.2.1  计算并行化与遍历
    4.2.2  针对数据结构的操作并行化
  4.3  针对链表的并行化技术
    4.3.1  读操作之间的并行
    4.3.2  LDS遍历中的并行
    4.3.3  细粒度锁方法
  4.4  事务内存
  4.5  习题
  课堂习题
  课后习题
第5章  存储层次结构概述
  5.1  存储层次的意义
  5.2  高速缓存体系结构基础
    5.2.1  数据放置策略
    5.2.2  数据替换策略
    5.2.3  数据写策略
    5.2.4  多级高速缓存中的包含策略
    5.2.5  统一/分立/Banked高速缓存和高速缓存流水线
    5.2.6  高速缓存寻址和旁路转换缓冲
    5.2.7  非阻塞式高速缓存
  5.3  高速缓存性能
    5.3.1  高速缓存缺失的幂次定律
    5.3.2  栈距离特性
    5.3.3  高速缓存性能指标
  5.4  预取
    5.4.1  步长预取和顺序预取
    5.4.2  多处理器系统中的预取
  5.5  多核体系结构中的高速缓存设计
  5.6  高速缓存的物理组成
    5.6.1  集中式高速缓存
    5.6.2  分布式高速缓存
    5.6.3  混合式高速缓存
  5.7  高速缓存的逻辑组成
    5.7.1  散列函数
    5.7.2  改善共享高速缓存的距离局部性
    5.7.3  私有高速缓存结构中的容量共享
  5.8  案例分析
    5.8.1  IBM Power7的存储层次
    5.8.2  AMD Shanghai和Intel Barcelona处理器存储层次的比较
  5.9  习题
  课堂习题
  课后习题
第6章  共享存储多处理器简介
  6.1  缓存一致性问题
  6.2  存储一致性问题
  6.3  同步问题
  6.4  习题
  课堂习题
  课后习题
第7章  缓存一致性基础
  7.1  概述
  7.2  基于总线的多处理器缓存一致性问题
    7.2.1  “写直达”缓存的一致性协议
    7.2.2  “写回”缓存的MSI协议
    7.2.3  “写回”缓存的MESI协议
    7.2.4  “写回”缓存的MOESI协议
    7.2.5  “写回”缓存基于更新的协议
  7.3  缓存设计对缓存一致性性能的影响
  7.4  性能及其他实际问题
    7.4.1  预取和一致性缺失
    7.4.2  多级缓存
    7.4.3  侦听过滤
  7.5  点对点互连网络上的广播式协议
  7.6  习题
  课堂习题
  课后习题
第8章  对同步的硬件支持
  8.1  锁的实现
    8.1.1  对锁实现性能的评估
    8.1.2  对原子指令的需求
    8.1.3  TS锁
    8.1.4  TTSL
    8.1.5  LL/SC锁
    8.1.6  Ticket锁
    8.1.7  ABQL
    8.1.8  各种锁实现的量化比较
  8.2  栅障的实现
    8.2.1  翻转感应集中式栅障
    8.2.2  组合树栅障
    8.2.3  硬件栅障实现
  8.3  事务内存
  8.4  练习
  课堂习题
  课后习题
第9章  存储一致性模型
  9.1  程序员的直觉
  9.2  保证顺序一致性的体系结构机制
    9.2.1  在基于总线的多处理器中基本的SC实现
    9.2.2  改善SC性能的技术
  9.3  松弛的一致性模型
    9.3.1  安全网
    9.3.2  处理器一致性
    9.3.3  弱序
    9.3.4  释放一致性
    9.3.5  惰性释放一致性
  9.4  不同存储一致性模型中的同步
  9.5  习题
  课堂习题
  课后习题
第10章  高级缓存一致性设计
  10.1  目录式一致性协议
  10.2  目录式一致性协议概览
  10.3  目录式缓存一致性协议基础
  10.4  实现正确性和性能
    10.4.1  由目录状态不同步引起的竞争处理
    10.4.2  由对请求非实时处理引起的竞争处理
    10.4.3  写传播和事务串行化
    10.4.4  同步支持
    10.4.5  存储一致性模型
  10.5  当前设计问题
    10.5.1  处理不精确的目录信息
    10.5.2  一致性粒度
    10.5.3  系统划分
    10.5.4  加速线程迁移
  10.6  习题
  课堂习题
  课后习题
第11章  互连网络体系结构
  11.1  链路、信道和延迟
  11.2  网络拓扑
  11.3  路由策略和算法
  11.4  路由器体系结构
  11.5  案例研究:Alpha 21364网络体系结构
  11.6  多核设计的问题
  11.7  习题
  课堂习题
  课后习题
第12章  SIMT体系结构
  12.1  SIMT编程模型
  12.2  将SIMT工作负载映射到SIMT核上
  12.3  SIMT核体系结构
    12.3.1  标量ISA
    12.3.2  SIMD化/向量化:Warp构造
    12.3.3  细粒度多线程(Warp级并行)
    12.3.4  微体系结构
    12.3.5  流水线执行
    12.3.6  控制流处理
    12.3.7  内存系统
  12.4  习题
  课堂习题
  课后习题
第13章  专家访谈
参考文献
索引