欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 经典并行与量子并行(提升并挖掘计算系统的潜在性能)/计算机科学前沿丛书
      • 作者:编者:刘宇航|责编:梁伟//舒宜
      • 出版社:机械工业
      • ISBN:9787111750826
      • 出版日期:2024/10/01
      • 页数:578
    • 售价:51.6
  • 内容大纲

        本书深入浅出介绍后摩尔时代的并行计算核心技术,理论与实践并重,同时兼顾数学模型、结构模型、编程模型。本书具有以下特色:从概念上明确算势与算力的联系与区别,强调在后摩尔时代背景下从潜在能力(算势)到实际能力(算力)的充分转化的重要性;注重量化分析和理论推导,单列一章对计算性能模型和存储性能进行了介绍;注重并行应用程序的设计,单列一章介绍并对比分析了共享存储编程与非共享存储编程的基本原理;注重融会贯通,培养整体观念,分别考察了共享存储结构和分布式存储结构,揭示潜在的可利用的并行硬件资源以及对应的编程方法;编制了大量的原创的有助于提高读者理解深度和应用知识能力的例题;在国内外同类教材或专著中,率先以算势和算力的统一的视角,系统对比了经典并行计算与量子并行计算,促进两个领域的沟通融合。
        本书可供计算机系统和芯片设计人员、期望利用并行计算的思想和技术解决具体领域问题的人员使用,也可作为教材供理工科专业的高年级本科生和研究生及相关专业技术人员使用。
  • 作者介绍

        刘宇航,中国科学院计算技术研究所副研究员,硕士生导师,研究方向为计算机体系结构,包括高性能计算、数据密集型计算、存储系统、智能并发系统等。在国内外有影响的期刊和学术会议上发表多篇高水平论文,多项关键技术实际落地应用到工业界一线芯片或系统,致力解决卡脖子技术问题。获中国科学院计算技术研究所“优秀研究人员”“卓越之星”、计算机体系结构国家重点实验室“优秀研究人员”等荣誉称号。担任中国科学院大学岗位副教授(讲授研究生必修课“并行处理”)、中国科学院大学“一生一芯”计划指导教师、《中国计算机学会通讯》专栏作家、中国计算机学会职业伦理和学术道德委员会常务委员、中国计算机学会高级会员、《中国计算机学会通讯》编委。
  • 目录

    推荐序一
    推荐序二
    前言
    第1章  计算概念的谱系
      1.1  引言
      1.2  计算概念谱系化的意义
      1.3  计算概念的谱系
        1.3.1  算势
        1.3.2  算力
        1.3.3  算术
        1.3.4  算法
        1.3.5  算礼
      1.4  计算概念谱系组分的相互关系
      1.5  从场的角度认识算势与算力的异同
      1.6  证明与计算之间的关系
      1.7  本章小结
      1.8  思考题
      参考文献
    第2章  并行处理的意义及挑战
      2.1  引言
      2.2  并行计算机与应用和工艺的关系
      2.3  并行处理的普遍性
      2.4  多核微处理器技术
      2.5  并行处理需要应对的挑战
      2.6  并行处理的学科任务
      2.7  本章小结
      2.8  思考题
      参考文献
    第3章  并行处理的一般原理
      3.1  引言
      3.2  冯·诺依曼结构
      3.3  通过实例说明指令级并行与数据依赖
      3.4  通过实例说明线程级并行
      3.5  延迟隐藏和延迟减少
      3.6  并行处理技术的图形化表示
      3.7  费林分类法
      3.8  指令级并行
        3.8.1  流水线技术
        3.8.2  指令的动态调度
        3.8.3  多发射技术
      3.9  并行计算机系统的分类
        3.9.1  向量计算机
        3.9.2  多处理机
        3.9.3  多主机
        3.9.4  大规模并行处理计算机
      3.10  并行结构的类型
        3.10.1  单处理器的并行结构
        3.10.2  多处理器的并行结构
        3.10.3  处理机结构创新的历史
        3.10.4  多核共享内存模型

        3.10.5  多核消息传递模型
      3.11  本章小结
      3.12  思考题
      参考文献
    第4章  计算性能模型和存储性能模型
      4.1  引言
      4.2  并行执行时间效率模型
      4.3  可扩展定律
        4.3.1  阿姆达尔定律
        4.3.2  古斯塔夫森-巴西斯定律
        4.3.3  存储受限的扩展定律(孙-倪定律)
      4.4  并行计算模型
        4.4.1  PRAM模型
        4.4.2  BSP模型
        4.4.3  LogP模型
      4.5  程序性能指标
        4.5.1  单道程序工作负载的性能指标
        4.5.2  多道程序工作负载的性能指标
      4.6  存储系统的性能指标
        4.6.1  平均存储访问时间
        4.6.2  存储延迟与存储带宽
        4.6.3  单位时钟周期完成的存储访问数量
        4.6.4  并发平均存储访问时间
        4.6.5  存储级并行性
        4.6.6  并发感知的局部性
      4.7  基准测试
        4.7.1  基准测试的定义和分类
        4.7.2  基准测试运行的规范
        4.7.3  基准测试程序组的要求
        4.7.4  基准测试的开发者
        4.7.5  性能测试结果的总结
      4.8  性能评估方式
        4.8.1  Roofline模型
        4.8.2  模拟器
        4.8.3  需要避免的4个陷阱
      4.9  本章小结
      4.10  思考题
      参考文献
    第5章  共享存储结构与编程
      5.1  引言
      5.2  共享存储体系结构的类型
      5.3  并行编程模型
        5.3.1  抽象与实现的区别及其实例
        5.3.2  通信与协作
        5.3.3  通信层面三种并行编程模型的特点
        5.3.4  混合编程模型
      5.4  并行处理的流程
        5.4.1  思路和实例
        5.4.2  问题分解
        5.4.3  任务分配

        5.4.4  协调
        5.4.5  进程映射
      5.5  并行编程优化
        5.5.1  静态分配与动态分配
        5.5.2  延迟与带宽
        5.5.3  内在通信与人为通信
      5.6  减少通信的技术
        5.6.1  利用时间局部性
        5.6.2  利用空间局部性
      5.7  共享内存体系结构
      5.8  共享内存体系结构编程——OpenMP
      5.9  实验——OpenMP
        5.9.1  实验——OpenMP求sinx
        5.9.2  实验——OpenMP求π值
        5.9.3  实验——OpenMP求斐波那契数列第n项
        5.9.4  实验——Gauss-Seidel迭代算法的并行实现及其优化
      5.10  本章小结
      5.11  思考题
      参考文献
    第6章  分布式存储结构与编程
      6.1  引言
      6.2  向量处理机体系结构
        6.2.1  结构特点
        6.2.2  性能分析
        6.2.3  向量指令并行
        6.2.4  向量链
        6.2.5  向量分解strip-mining技术
        6.2.6  向量条件执行
        6.2.7  压缩/展开操作
        6.2.8  向量归约
        6.2.9  存储访问
        6.2.10  分散和聚集
      6.3  SIMD编程
        6.3.1  SIMD简介
        6.3.2  实现向量化的几种方法
        6.3.3  向量化编译指令
        6.3.4  向量化过程中的主要挑战
        6.3.5  编译器向量化方式
        6.3.6  循环变换
        6.3.7  数据地址对齐
        6.3.8  别名
        6.3.9  条件语句
        6.3.10  原生SIMD支持
      6.4  CUDA编程
        6.4.1  异构计算的定义
        6.4.2  CUDA
        6.4.3  GPU的并发控制
        6.4.4  GPU的内存管理
        6.4.5  SIMT
        6.4.6  CUDA编程

        6.4.7  CUDA与GPU硬件之间的映射
        6.4.8  深流水线设计
        6.4.9  GPU内存
        6.4.10  GPU并发策略
        6.4.11  库函数介绍
      6.5  MPI编程
        6.5.1  MPI在编程模型内的分类定位
        6.5.2  信息交互模型与通信方式
        6.5.3  MPI基本函数
        6.5.4  MPI程序执行(以C on linux为例)
        6.5.5  MPI集群通信函数
      6.6  实验——编写MPI并行程序
        6.6.1  编写MPI程序并行计算平均值
        6.6.2  编写MPI程序并行计算矩阵向量乘法
        6.6.3  编写MPI程序并行计算圆周率
      6.7  实验——基于CUDA并发的矩阵乘法
      6.8  本章小结
      6.9  思考题
    第7章  并行计算机系统的互连网络
      7.1  引言
      7.2  互连网络的基本概念
        7.2.1  互连网络分层架构
        7.2.2  互连网络相关参数
      7.3  互连网络物理层
        7.3.1  消息结构
        7.3.2  物理层流控制
      7.4  互连网络交换层
        7.4.1  互连网络交换层功能与架构
        7.4.2  互连网络交换层技术
      7.5  互连网络路由层
        7.5.1  互连网络拓扑结构
        7.5.2  互连网络路由方式
        7.5.3  路由协议结构
        7.5.4  蝴蝶形拓扑结构路由算法
        7.5.5  维序路由算法
        7.5.6  死锁问题
      7.6  互连网络软件层
        7.6.1  互连网络软件层架构
        7.6.2  性能分析
      7.7  本章小结
      7.8  思考题
    第8章  并行计算机系统的资源调度
      8.1  引言
      8.2  相关工作
        8.2.1  延迟敏感型应用延迟测量与建模
        8.2.2  数据中心干扰的测度方法
        8.2.3  资源管理使能技术
        8.2.4  资源调度策略
      8.3  延迟敏感型应用分析与建模
        8.3.1  延迟敏感型应用概述

        8.3.2  延迟敏感型应用延迟的组成及影响因素
        8.3.3  平均延迟与尾延迟的关系
        8.3.4  Little-s law的尾延迟形式
      8.4  数据中心干扰的测度
        8.4.1  信息熵与系统熵
        8.4.2  场景1:仅存在延迟敏感型应用时
        8.4.3  场景2:仅存在尽力交付型应用时
        8.4.4  场景3:延迟敏感型和尽力交付型应用混合运行时
        8.4.5  系统熵的优点
      8.5  资源调度策略
        8.5.1  调度方法
        8.5.2  实验验证
      8.6  本章小结
      8.7  思考题
      参考文献
    第9章  并行输入输出
      9.1  引言
      9.2  I/O软件栈
      9.3  并行文件系统
      9.4  常见并行文件系统
        9.4.1  并行虚拟文件系统PVFS
        9.4.2  通用并行文件系统GPFS
        9.4.3  集群文件系统Lustre
      9.5  POSIX
      9.6  MPI-I/O
        9.6.1  MPI-I/O的特性
        9.6.2  MPI-I/O示例
        9.6.3  MPI-I/O的底层读写优化
      9.7  PnetCDF
      9.8  本章小结
      9.9  思考题
      参考文献
    第10章  高速缓存一致性、同步和事务性内存
      10.1  引言
      10.2  高速缓存一致性
        10.2.1  基于总线的一致性协议
        10.2.2  基于目录的一致性协议
      10.3  目录结构
        10.3.1  全映射位向量目录
        10.3.2  有限指针目录
        10.3.3  链式目录
        10.3.4  粗糙向量目录
        10.3.5  树形压缩向量目录
        10.3.6  单级混合目录
        10.3.7  多级目录
      10.4  实现高速缓存一致的典型系统
        10.4.1  Dash
        10.4.2  Origin
        10.4.3  Alewife
        10.4.4  Exemplar X

        10.4.5  NUMA
      10.5  同步原语和锁机制
        10.5.1  同步原语
        10.5.2  互斥锁的实现
        10.5.3  栅障
        10.5.4  实验——无锁算法
        10.5.5  并行软件优化
      10.6  事务性内存
        10.6.1  事务性内存的特性
        10.6.2  事务性内存的优点
        10.6.3  事务性内存的实现
      10.7  本章小结
      10.8  思考题
      参考文献
    第11章  量子并行计算
      11.1  引言
      11.2  对量子力学的基本理解
        11.2.1  量子力学与经典力学有本质区别
        11.2.2  量子计算的优势在于并行
        11.2.3  量子的概念
        11.2.4  不确定性原理
        11.2.5  对叠加态的理解
        11.2.6  张量积
        11.2.7  左矢与右矢
      11.3  几种重要的熵及其联系
        11.3.1  一些重要的基本问题
        11.3.2  三种熵的定义
        11.3.3  朗道原理
      11.4  量子门
        11.4.1  酉算子
        11.4.2  量子非门X
        11.4.3  泡利-Y门
        11.4.4  泡利-Z门
        11.4.5  哈达玛门H
        11.4.6  相移门Rθ
        11.4.7  交换门SWAP
        11.4.8  受控非门CNOT
        11.4.9  受控U门C(U)
        11.4.10  托佛利门CCNOT
      11.5  量子算法
        11.5.1  最小完全集
        11.5.2  肖尔算法
        11.5.3  格罗夫算法
        11.5.4  量子编程
      11.6  本章小结
      11.7  思考题
      参考文献
    术语中英文对照