目 录(1)

第1章  基于任务的程序设计 1

1.1  使用共享内存的多核系统 2

1.1.1  共享内存多核系统与分布式内存系统之间的区别 3

1.1.2  并行程序设计和多核程序设计 4

1.2  理解硬件线程和软件线程 5

1.3  理解Amdahl法则 8

1.4  考虑Gustafson法则 11

1.5  使用轻量级并发模型 14

1.6  创建成功的基于任务的设计 15

1.6.1  以并发的思想指导设计 16

1.6.2  理解交错并发、并发和并行之间的区别 17

1.6.3  并行化任务 18

1.6.4  尽量减少临界区 18

1.6.5  理解多核并行程序的设计原则 19

1.7  为NUMA架构和更高的可扩展性做好准备 20

1.8  判断是否适合并行化 24

1.9  小结 25

第2章  命令式数据并行 27

2.1  加载并行任务 27

2.1.1  System.Threading.Tasks.

Parallel类 29

2.1.2  Parallel.Invoke 30

2.2  将串行代码转换为并行代码 37

2.2.1  检测可并行化的热点 37

2.2.2  测量并行执行的加速效果 40

2.2.3  理解并发执行 42

2.3  循环并行化 43

上一章

读书导航