并行编程模式

并行编程模式

作者:Timothy G. Mattson

出版社:机械工业出版社

出版年:2015-2

ISBN:9787111490180

所属分类:行业好书

书刊介绍

内容简介

Timothy G. Mattson拥有加州大学圣克鲁兹分校的化学博士学位,研究方向为量子分子散射理论;之后在加州理工学院进行博士后研究,致力于将自己的分子散射软件移植到Caltech/JPL超立方体上。他曾担任多项与计算科学相关的商业和学术职务,参与了许多重要的并行计算项目,包括ASCI Red项目(第一个万亿次浮点运算大规模并行处理计算机)、OpenMP开发以及OSCAR(一种流行的集群计算包)。目前,他负责英特尔生命科学市场的战略决策,是英特尔生命科学社区的首席发言人。

Beverly A. Sanders

Beverly A. Sanders拥有哈佛大学的应用数学博士学位。她曾任教于马里兰大学、瑞士联邦理工学院(ETH Zürich)以及加州理工学院,目前任教于佛罗里达大学的计算机信息科学与工程学系。她的教学和科研一直围绕着设计模式、形式方法...

()

作品目录

出版者的话
译者序
前言
作者简介
第1章 并行编程的模式语言 1
1.1引言 1
1.2并行编程 2
1.3设计模式和模式语言 3
1.4关于并行编程的模式语言 3
第2章 并行计算的背景和术语 5
2.1并行程序中的并发性与操作系统中的并发性 5
2.2并行体系结构简介 5
2.2.1 Flynn分类法 6
2.2.2MIMD的进一步分类 7
2.2.3 小结 8
2.3并行编程环境 8
2.4并行编程术语 11
2.5并行计算的度量 13
2.6通信 15
2.6.1延迟和带宽 15
2.6.2重叠通信和计算以及延迟隐藏 15
2.7本章小结 16
第3章 “寻找并发性”设计空间 17
3.1关于设计空间 17
3.1.1概述 18
3.1.2使用分解模式 18
3.1.3示例的背景知识 18
3.2任务分解模式 20
3.3数据分解模式 24
3.4分组任务模式 27
3.5排序任务模式 29
3.6 数据共享模式 31
3.7设计评估模式 34
3.8本章小结 38
第4章 “算法结构”设计空间 39
4.1引言 39
4.2选择一种算法结构设计模式 40
4.2.1目标平台 40
4.2.2主要组织原则 41
4.2.3算法结构决策树 41
4.2.4重新评估 42
4.3示例 43
4.3.1医学成像 43
4.3.2分子动力学 43
4.4任务并行模式 44
4.5分治模式 50
4.6几何分解模式 55
4.7递归数据模式 69
4.8流水线模式 73
4.9基于事件的协作模式 82
第5章 “支持结构”设计空间 86
5.1引言 86
5.1.1程序结构模式 86
5.1.2数据结构模式 87
5.2面临的问题 87
5.3模式选择 88
5.4SPMD模式 89
5.5主/从模式 102
5.6循环并行模式 108
5.7派生/聚合模式 120
5.8共享数据模式 124
5.9共享队列模式 131
5.10分布式数组模式 143
5.11其他支持结构 151
5.11.1SIMD 152
5.11.2MPMD 152
5.11.3客户端-服务器计算 153
5.11.4使用声明语言的并发编程 154
5.11.5问题求解环境 154
第6章 “实现机制”设计空间 156
6.1引言 156
6.2UE管理 157
6.2.1线程的创建/销毁 157
6.2.2进程的创建/销毁 158
6.3同步 159
6.3.1内存同步和围栅 159
6.3.2栅栏 162
6.3.3互斥 165
6.4通信 171
6.4.1消息传递 171
6.4.2集合通信 177
6.4.3其他通信构造 182
附录A OpenMP简介 183
附录B MPI简介 198
附录C Java并发编程简介 212
术语表 224
参考文献 232
索引 243
· · · · · ·

作者简介

Timothy G. Mattson拥有加州大学圣克鲁兹分校的化学博士学位,研究方向为量子分子散射理论;之后在加州理工学院进行博士后研究,致力于将自己的分子散射软件移植到Caltech/JPL超立方体上。他曾担任多项与计算科学相关的商业和学术职务,参与了许多重要的并行计算项目,包括ASCI Red项目(第一个万亿次浮点运算大规模并行处理计算机)、OpenMP开发以及OSCAR(一种流行的集群计算包)。目前,他负责英特尔生命科学市场的战略决策,是英特尔生命科学社区的首席发言人。

Beverly A. Sanders

Beverly A. Sanders拥有哈佛大学的应用数学博士学位。她曾任教于马里兰大学、瑞士联邦理工学院(ETH Zürich)以及加州理工学院,目前任教于佛罗里达大学的计算机信息科学与工程学系。她的教学和科研一直围绕着设计模式、形式方法...

(展开全部)

精彩摘录

尽管人们通常尝试尽快进入编程领域,但太快走出问题领域的设计者可能会丢失许多有价值的设计选项。

——引自第18页

相关推荐

微信二维码