图书介绍

多核程序设计技术 通过软件多线程提升性能 increasing performance through software multi-threading【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

多核程序设计技术 通过软件多线程提升性能 increasing performance through software multi-threading
  • (孟加拉)Shameem Akhter,(美)Jason Roberts著;李宝峰,富弘毅,李韬译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7121038714
  • 出版时间:2007
  • 标注页数:351页
  • 文件大小:12MB
  • 文件页数:376页
  • 主题词:并行程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

多核程序设计技术 通过软件多线程提升性能 increasing performance through software multi-threadingPDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 多核体系结构概述1

1.1 促成软件并发的因素2

1.2 并行计算平台5

1.2.1 微处理器中的并行计算7

1.2.2 超线程技术与多核体系结构的联系与区别9

1.2.3 单核与多核平台上的多线程技术对比11

1.3 “性能”解析14

1.3.1 Amdahl定律14

1.3.2 Gustafson定律:增长式回报18

1.4 本章要点19

第2章 多线程技术概述21

2.1 线程的定义22

2.2 线程的层次22

2.2.1 操作系统之上的线程23

2.2.2 操作系统内部的线程26

2.2.3 硬件上的线程30

2.3 线程创建之后的相关行为31

2.4 应用程序设计模型与多线程技术32

2.5 虚拟环境:虚拟机和虚拟平台33

2.5.1 运行时虚拟化33

2.5.2 系统虚拟化33

2.6 本章要点36

第3章 并行程序设计的基本概念37

3.1 多线程设计37

3.1.1 任务分解38

3.1.2 数据分解39

3.1.3 数据流分解40

3.1.4 各种分解方式的比较41

3.2 并行程序设计人员面临的挑战42

3.3 并行程序设计模式43

3.4 误差扩散问题:一个具有启发意义的例子45

3.4.1 误差扩散算法分析48

3.4.2 一种并行误差扩散算法48

3.4.3 其他并行误差扩散算法50

3.5 本章要点52

第4章 多线程和并行程序设计结构53

4.1 同步53

4.2 临界段55

4.3 死锁56

4.4 同步原语58

4.4.1 信号量58

4.4.2 锁61

4.4.3 条件变量64

4.5 消息66

4.6 流控制相关的概念69

4.6.1 栅栏69

4.6.2 栅障69

4.7 与实现相关的多线程特征70

4.8 本章要点71

第5章 线程API72

5.1 微软Windows的线程API72

5.1.1 Win32/MFC线程API72

5.2 微软.NET框架的线程API107

5.2.1 创建线程107

5.2.2 管理线程111

5.2.3 线程池113

5.2.4 线程同步119

5.3 POSIX线程122

5.3.1 创建线程123

5.3.2 管理线程125

5.3.3 线程同步126

5.3.4 激发128

5.3.5 编译与链接137

5.4 本章要点137

第6章 OpenMP+:一种可移植的多线程解决方案139

6.1 将循环多线程化所面临的挑战141

6.1.1 循环迭代相关141

6.1.2 数据竞争144

6.1.3 管理共享数据和私有数据145

6.1.4 循环调度与分块147

6.1.5 有效地使用归约151

6.2 降低线程开销154

6.2.1 任务分配区156

6.3 提高程序性能的设计方法157

6.3.1 使用Barrier和Nowait157

6.3.2 单线程和多线程交错执行159

6.3.3 数据的Copy-in和Copy-out160

6.3.4 保护共享变量的更新操作162

6.3.5 Intel OpenMP任务队列扩展165

6.4 OpenMP库函数167

6.5 OpenMP环境变量169

6.6 编译169

6.7 调试171

6.8 性能173

6.9 本章要点175

第7章 常见并行程序设计问题的解决方法176

7.1 线程过多176

7.2 数据竞争、死锁和活锁179

7.2.1 死锁182

7.3 竞争激烈的锁185

7.3.1 优先级倒置186

7.3.2 锁竞争激烈的解决方法187

7.4 非阻塞算法190

7.4.1 ABA问题192

7.4.2 cache行乒乓现象194

7.4.3 存储空间回收问题194

7.4.4 一些建议195

7.5 线程安全函数和库196

7.6 存储问题197

7.6.1 带宽197

7.6.2 cache的利用198

7.6.3 存储竞争201

7.7 cache相关的问题204

7.7.1 伪共享204

7.7.2 存储一致性208

7.7.3 当前的IA-32体系结构209

7.7.4 Itanium?体系结构211

7.7.5 高级语言214

7.8 避免IA-32上的流水线停顿215

7.9 面向高性能的数据组织216

7.10 本章要点217

第8章 多线程调试技术219

8.1 通用调试技术219

8.1.1 在设计时考虑调试220

8.1.2 使用trace缓冲扩展应用程序222

8.2 Windows多线程程序的调试228

8.2.1 Threads窗口229

8.2.2 跟踪点229

8.2.3 断点过滤230

8.2.4 线程命名231

8.2.5 综合讨论232

8.3 使用GDB进行多线程调试236

8.3.1 线程创建通告237

8.3.2 获取应用程序中所有线程的列表237

8.3.3 设置线程相关的断点238

8.3.4 线程间切换239

8.3.5 向一组线程发送命令240

8.4 本章要点240

第9章 单核处理器基础242

9.1 处理器体系结构基础知识242

9.2 超标量结构与EPIC结构的对比249

9.3 本章要点250

第10章 面向Intel?多核处理器的多线程技术251

10.1 基于硬件的多线程技术251

10.1.1 Intel处理器内的多线程技术255

10.2 超线程技术256

10.2.1 多处理器技术与超线程技术之间的区别258

10.2.2 超线程体系结构258

10.3 多核处理器261

10.3.1 多核体系结构知识261

10.3.2 多处理器与多核处理器的对比264

10.3.3 Itanium?体系结构下的多核处理器265

10.4 多个处理器之间的交互269

10.4.1 处理器间通信与多线程程序设计269

10.5 功耗271

10.5.1 功耗公式272

10.5.2 降低功耗273

10.6 多核处理器体系结构未来发展趋势274

10.7 本章要点276

第11章 Intel?软件开发产品278

11.1 概述278

11.1.1 调研279

11.1.2 创建/表达279

11.1.3 调试280

11.1.4 优化280

11.2 Intel?线程检测器280

11.2.1 Intel线程检测器的使用282

11.2.2 使用提示283

11.2.3 使用Intel?线程检测器检查OpenMP代码285

11.3 Intel编译器285

11.3.1 OpenMP+285

11.3.2 软件式推测预计算291

11.3.3 编译器优化和cache优化292

11.4 Intel?调试器293

11.5 Intel库294

11.5.1 Intel?数学核心函数库294

11.5.2 Intel?集成式高性能原函数295

11.5.3 使用并行库时的一些并行程序问题296

11.5.4 未来发展趋势297

11.5.5 Intel?线程构建模块297

11.6 Intel?VTuneTM性能分析器297

11.6.1 寻找热点298

11.6.2 使用调用图来发现可采用多线程实现的地方299

11.6.3 检查负载平衡300

11.7 Intel?线程直方统计器301

11.8 MPI程序设计302

11.8.1 Intel对MPI的支持303

11.9 本章要点306

术语表308

参考文献325

索引330

热门推荐