1
Introduction
1.1 Historic Parallel Programming Difficulties . . . . . . . . . . . . . . . . .
1.2 Parallel Programming Goals . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Productivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3 Generality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Alternatives to Parallel Programming . . . . . . . . . . . . . . . . . . . .
1.3.1 Multiple Instances of a Sequential Application . . . . . . . . . .
1.3.2 Make Use of Existing Parallel Software . . . . . . . . . . . . . .
1.3.3 Performance Optimization . . . . . . . . . . . . . . . . . . . . .
1.4 What Makes Parallel Programming Hard? . . . . . . . . . . . . . . . . .
1.4.1 Work Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Parallel Access Control . . . . . . . . . . . . . . . . . . . . . . .
1.4.3 Resource Partitioning and Replication . . . . . . . . . . . . . . .
1.4.4 Interacting With Hardware . . . . . . . . . . . . . . . . . . . . .
1.4.5 Composite Capabilities . . . . . . . . . . . . . . . . . . . . . . .
1.4.6 How Do Languages and Environments Assist With These Tasks? .
1.5 Guide to This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Quick Quizzes . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2 Sample Source Code . . . . . . . . . . . . . . . . . . . . . . . .
2 Hardware and its Habits
2.1 Overview . . . . . . . . . . . . . . .
2.1.1 Pipelined CPUs . . . . . . . .
2.1.2 Memory References . . . . .
2.1.3 Atomic Operations . . . . . .
2.1.4 Memory Barriers . . . . . . .
2.1.5 Cache Misses . . . . . . . . .
2.1.6 I/O Operations . . . . . . . .
2.2 Overheads . . . . . . . . . . . . . . .
2.2.1 Hardware System Architecture
2.2.2 Costs of Operations . . . . . .
2.3 Hardware Free Lunch? . . . . . . . .
2.3.1 3D Integration . . . . . . . .
2.3.2 Novel Materials and Processes
2.3.3 Special-Purpose Accelerators
2.3.4 Existing Parallel Software . .
2.4 Software Design Implications . . . . .
...
· · · · · · (
收起)
0 有用 ylgrgyq 2018-12-03 17:11:02
棒棒棒,武林绝学
0 有用 JesterPure 2021-01-01 13:44:12
无敌
1 有用 ryzn 2015-03-04 00:14:04
Paul大叔的书,还没读,很感兴趣。
0 有用 - 2022-11-03 15:47:15 湖北
目前看不懂
0 有用 流浪的龙 2019-02-25 21:42:25
并发编程的武林秘籍
0 有用 - 2022-11-03 15:47:15 湖北
目前看不懂
0 有用 李树花开 2022-07-30 16:20:29
没事翻一翻还是不错的.
0 有用 风空之枫 2022-05-24 17:01:10
perfbook-e2. 看完了 1-9 章,后面 order/verification/formal 没细看。重点在于设计的思路,比如 batching、fastpath, etc。不过实际上这本有点设计 + 实现混杂,加上很多 Linux Kernel 有关的 api (smb, qsbr...)。整体来说还是帮助非常大的
0 有用 Jekton 2021-06-26 20:33:48
有些地方没讲清楚
0 有用 聪郎 2021-01-02 10:53:18
Save for later. 先修知识准备不足。