展开全部

主编推荐语

这本书帮你了解并行编程中涉及的问题,以及提供如何正确解决这些问题的方法。

内容简介

本书首先以霍金提出的两个理论物理限制为引子,解释了多核并行计算兴起的原因,并从硬件的角度阐述并行编程的难题。

接着,本书以常见的计数器为例,探讨其不同的实现方法及适用场景。在这些实现方法中,除了介绍常见的锁以外,本书还重点介绍了RCU的使用及其原理,以及实现RCU的基础:内存屏障。

最后,本书还介绍了并行软件的验证,以及并行实时计算等内容。本书适合于对并行编程有兴趣的大学生、研究生,以及需要对项目进行深度性能优化的软硬件工程师,特别值得一提的是,本书对操作系统内核工程师也很有价值。

目录

  • 版权信息
  • 内容简介
  • 声明
  • 读者服务
  • 作者序
  • 推荐语
  • 推荐序
  • 译者序1
  • 译者序2
  • 第1章 如何使用本书
  • 1.1 路线图
  • 1.2 小问题
  • 1.3 除本书之外的选择
  • 1.4 示例源代码
  • 1.5 这本书属于谁
  • 第2章 简介
  • 2.1 导致并行编程困难的历史原因
  • 2.2 并行编程的目标
  • 2.3 并行编程的替代方案
  • 2.4 是什么使并行编程变得复杂
  • 2.5 本章的讨论
  • 第3章 硬件和它的习惯
  • 3.1 概述
  • 3.2 开销
  • 3.3 硬件的免费午餐
  • 3.4 对软件设计的启示
  • 第4章 办事的家伙
  • 4.1 脚本语言
  • 4.2 POSIX多进程
  • 4.3 原子操作
  • 4.4 Linux内核中类似POSIX的操作
  • 4.5 如何选择趁手的工具
  • 第5章 计数
  • 5.1 为什么并发计数不可小看
  • 5.2 统计计数器
  • 5.3 近似上限计数器
  • 5.4 精确上限计数
  • 5.5 特殊场合的并行计数
  • 5.6 关于并行计数的讨论
  • 第6章 对分割和同步的设计
  • 6.1 分割练习
  • 6.2 设计准则
  • 6.3 同步粒度
  • 6.4 并行快速路径
  • 6.5 分割之外
  • 6.6 分割、并行化与优化
  • 第7章 锁
  • 7.1 努力活着
  • 7.2 锁的类型
  • 7.3 锁在实现中的问题
  • 7.4 基于锁的存在保证
  • 7.5 锁:是英雄还是恶棍
  • 7.6 总结
  • 第8章 数据所有权
  • 8.1 多进程
  • 8.2 部分数据所有权和pthread线程库
  • 8.3 函数输送
  • 8.4 指派线程
  • 8.5 私有化
  • 8.6 数据所有权的其他用途
  • 第9章 延后处理
  • 9.1 引用计数
  • 9.2 顺序锁
  • 9.3 读-复制-修改(RCU)
  • 9.4 如何选择
  • 9.5 更新端怎么办
  • 第10章 数据结构
  • 10.1 从例子入手
  • 10.2 可分割的数据结构
  • 10.3 读侧重的数据结构
  • 10.4 不可分割的数据结构
  • 10.5 其他数据结构
  • 10.6 微优化
  • 10.7 总结
  • 第11章 验证
  • 11.1 简介
  • 11.2 跟踪
  • 11.3 断言
  • 11.4 静态分析
  • 11.5 代码走查
  • 11.6 几率及海森堡BUG
  • 11.7 性能评估
  • 11.8 总结
  • 第12章 形式验证
  • 12.1 通用目的的状态空间搜索
  • 12.2 特定目的的状态空间搜索
  • 12.3 公理方法
  • 12.4 SAT求解器
  • 12.5 总结
  • 第13章 综合应用
  • 13.1 计数难题
  • 13.2 使用RCU拯救并行软件性能
  • 13.3 散列难题
  • 第14章 高级同步
  • 14.1 避免锁
  • 14.2 内存屏障
  • 14.3 非阻塞同步
  • 第15章 并行实时计算
  • 15.1 什么是实时计算
  • 15.2 谁需要实时计算
  • 15.3 谁需要并行实时计算
  • 15.4 实现并行实时系统
  • 15.5 实时VS.快速:如何选择
  • 第16章 易于使用
  • 16.1 简单是什么
  • 16.2 API设计的Rusty准则
  • 16.3 修整Mandelbrot集合
  • 第17章 未来的冲突
  • 17.1 曾经的CPU技术不代表未来
  • 17.2 事务内存
  • 17.3 硬件事务内存
  • 17.4 并行函数式编程
  • 附录A 重要问题
  • A.1 “After”的含义是什么
  • A.2 “并发”和“并行”之间的差异是什么
  • A.3 现在是什么时间
  • 附录B 同步原语
  • B.1 组织和初始化
  • B.2 线程创建、销毁及控制
  • B.3 锁
  • B.4 每线程变量
  • B.5 性能
  • 附录C 为什么需要内存屏障
  • C.1 缓存结构
  • C.2 缓存一致性协议
  • C.3 存储导致不必要的停顿
  • C.4 存储序列导致不必要的停顿
  • C.5 读和写内存屏障
  • C.6 内存屏障示例
  • C.7 特定的内存屏障指令
  • C.8 内存屏障是永恒的吗
  • C.9 对硬件设计者的建议
  • 附录D 小问题答案
  • D.1 如何使用本书
  • D.2 简介
  • D.3 硬件和它的习惯
  • D.4 办事的家伙
  • D.5 计数
  • D.6 对分割和同步的设计
  • D.7 锁
  • D.8 数据所有权
  • D.9 延迟处理
  • D.10 数据结构
  • D.11 验证
  • D.12 形式验证
  • D.13 综合应用
  • D.14 高级同步
  • D.15 并行实时计算
  • D.16 易于使用
  • D.17 未来的冲突
  • D.18 重要问题
  • D.19 同步原语
  • D.20 为什么需要内存屏障
  • 附录E 术语
  • 附录F 感谢
  • F.1 评审者
  • F.2 硬件提供者
  • F.3 原始出处
  • F.4 图表作者
  • F.5 其他帮助
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。