《并行编程模式》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)Timothy G. Mattson,(美)Beverly A. Sanders,(美)Berna L. Massingill著;敖富江译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302117845
  • 页数:259 页
图书介绍:本书详细介绍了以下内容:并行开发人员所面临的并行计算前景和一些挑战、在软件设计问题中寻找并发性并将分解成多个并发任务、管理任务中数据的使用、创建一种算法结构、将算法结构连接到实现它们所需要的API、用于实现并行程序的专用软件构造以及多种主要的并行编程环境——OpenMP. MPI和Java。

目录 1

第1章 并行编程的模式语言 1

1.1 引言 1

1.2 并行编程 2

1.3 设计模式和模式语言 3

1.4 并行编程的模式语言 4

第2章 并行计算的背景和术语 5

2.1 并行程序与操作系统的并发性比较 5

2.2 并行体系结构简介 5

2.2.1 Flynn分类法 6

2.2.2 MIMD的进一步分类 7

2.3 并行编程环境 9

2.2.3 小结 9

2.4 并行计算术语 12

2.5 并行计算的度量 14

2.6 通信 16

2.6.1 延迟和带宽 16

2.6.2 重叠通信和计算与隐藏延迟 16

2.7 本章小结 17

第3章 “寻找并发性”设计空间 18

3.1 设计空间简介 18

3.1.1 概述 19

3.1.2 使用分解模式 19

3.1.3 示例的背景 19

3.2 任务分解模式 21

3.3 数据分解模式 25

3.4 分组任务模式 28

3.5 排序任务模式 30

3.6 数据共享模式 32

3.7 设计评估模式 35

3.8 本章小结 39

第4章 “算法结构”设计空间 40

4.1 概述 40

4.2 选择一种算法结构模式 41

4.2.1 目标平台 41

4.2.2 主要组织原则 42

4.2.3 算法结构决策树 42

4.2.4 重新评估 43

4.3.2 分子动力学 44

4.3.1 医学成像 44

4.3 示例 44

4.4 任务并行模式 45

4.5 分治模式 52

4.6 几何分解模式 56

4.7 递归数据模式 70

4.8 流水线模式 75

4.9 基于事件的协作模式 84

第5章 “支持结构”设计空间 88

5.1 概述 88

5.1.1 程序构造模式 88

5.1.2 表示数据结构的模式 89

5.2 面临的问题 89

5.3 模式的选择 91

5.4 SPMD模式 92

5.5 主/辅助进程模式 105

5.6 循环并行模式 113

5.7 派生/连接模式 125

5.8 共享数据模式 129

5.9 共享队列模式 137

5.10 分布式数组模式 151

5.11 其他支持结构 161

5.11.1 SIMD 162

5.11.2 MPMD 162

5.11.3 客户-服务器计算 163

5.11.4 使用声明语言的并发编程 163

5.11.5 问题求解环境 164

第6章 “实现机制”设计空间 165

6.1 概述 166

6.2 UE的管理 166

6.2.1 线程的创建/销毁 166

6.2.2 进程的创建/销毁 167

6.3 同步 168

6.3.1 存储器同步和围栅 169

6.3.2 栅栏 172

6.3.3 互斥 175

6.4 通信 182

6.4.1 消息传递 182

6.4.2 集合通信 188

6.4.3 其他通信构造 193

A.1 核心概念 195

附录A OpenMP简介 195

A.2 结构块和指令格式 198

A.3 工作分摊法 199

A.4 数据环境子句 202

A.5 OpenMP运行时库 204

A.6 同步 205

A.7 调度子句 208

A.8 本附录小结 210

附录B MPI简介 211

B.1 概念 211

B.2 启动 212

B.3 基本的点到点消息传递 214

B.4 集合操作 216

B.5 高级的点到点消息传递方法 220

B.6 MPI和FORTRAN 224

B.7 本附录小结 226

附录C Java并发编程简介 227

C.1 线程的创建 228

C.1.1 匿名的内部类 229

C.1.2 Executor和工厂方法 230

C.2 原子性、存储器同步和volatile关键字 232

C.3 同步块 232

C.4 等待并通知 234

C.5 锁 235

C.6 其他同步机制和共享数据结构 237

C.7 中断 238

术语表 239

参考文献 249