小苏子
小苏子PDF在线图书

深入理解并行编程 作者:[美] Paul E.Mckenney(保罗·E·麦肯尼)

深入理解并行编程 作者:[美] Paul E.Mckenney(保罗·E·麦肯尼)

深入理解并行编程 出版社: 电子工业出版社

深入理解并行编程 内容简介

深入理解并行编程 目录

深入理解并行编程 精彩文摘

《深入理解并行编程》首先以霍金提出的两个理论物理限制为引子,解释了多核并行计算兴起的原因,并从硬件的角度阐述并行编程的难题。接着,《深入理解并行编程》以常见的计数器为例,探讨其不同的实现方法及适用场景。在这些实现方法中,除了介绍常见的锁以外,《深入理解并行编程》还重点介绍了RCU的使用及其原理,以及实现RCU的基础:内存屏障。最后,《深入理解并行编程》还介绍了并行软件的验证,以及并行实时计算等内容。《深入理解并行编程》适合于对并行编程有兴趣的大学生、研究生,以及需要对项目进行深度性能优化的软硬件工程师,特别值得一提的是,《深入理解并行编程》对操作系统内核工程师也很有价值。第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 几率及海森堡BUG11.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 重要问题附录B 同步原语附录C 为什么需要内存屏障附录D 小问题答案附录E 术语附录F 感谢同样,其他技术(包括计算机技术)也有很多改进。编写程序不再是一件困难的事情。电子表格软件允许大多数非程序员用他们的计算机得到结果。数十年前,这需要专家才能胜任。或许更好的例子是Web冲浪,还有内容创造。从2000年开始,非专业人士就可以在互联网上使用各种现在很常见的社交网络软件来轻松地创造内容。然而在1968年,像这样的内容创造还是一个远期研究项目[Eng68],那时还在用“就像UFO降落在白宫草坪”这样的比喻来描述它[Gri00]。

赞(0)
未经允许不得转载:小苏子图书 » 深入理解并行编程 作者:[美] Paul E.Mckenney(保罗·E·麦肯尼)