书籍详情
并行编程模式(国外经典教材计算机科学与技术)
作者:(美)马特桑,(美)桑德斯,(美)麦森吉尔 著,敖富江 译;敖富江译
出版社:清华大学出版社
出版时间:2005-11-01
ISBN:9787302117841
定价:¥29.80
购买这本书可以去
内容简介
本书是每个软件开发人员学习并行编程的权威教程,书中并没有过多地介绍理论,而是给出了并行程序员所面临的一些挑战及其解决方案,并对当前现实中的并行API的用法给出了一些实例。书中引入了一种完整的、易于访问的模式语言,帮助任何有经验的开发人员编写高效的并行代码。通过学习本书,读者将意识到模式是掌握并行编程的最佳方式。本书不仅适用于大专院校计算机科学相关专业的师生,而且也特别适用于各类软件开发人员。本书主要内容:了解并行计算的前景以及并行开发人员所面临的一些挑战;在软件设计问题中寻找并发性,并半它分解成多个并发任务;管理不同任务中数据的使用;创建一种能够高效地利用并发性的算法结构;将算法结构关联到实现它们所需要的API;讲解用于实现并行程序的专用软件结构;熟悉当今主要的并行编程环境:OpenMP、MPI和Java。
作者简介
Timothy G. Mattson博士是INTEL生命科学方面的企业经理。其研究集中于为程序员简化并行计算的技术,尤其是计算生物学方面的技术。Beverly A. Sanders博士是Gainesville市Florida大学计算机与信息科学和工程系的教授。其研究领域包括形式方法、组件系统和设计模式。Berna L. Massingill博士是San Antonio市Trinity大学计算机科学系的教授。其研究领域包括并行与分布式计算、设计模式和形式方法。译者简介:敖富江,国防科技大学计算机学院硕士、机电工程与自动化学院博士,曾参与多个大型系统的设计,对数据库、数据仓库、数据挖掘、数据结构、程序设计、网络安全等有着深入的研究和实战经验,并在国内外期刊上发表过多篇相关论文,还翻译过多本有关程序设计和网络安全方面的科技图书。
目录
第1章 并行编程的模式语言
1.1 引言
1.2 并行编程
1.3 设计模式和模式语言
1.4 并行编程的模式语言
第2章 并行计算的背景和术语
2.1 并行程序与操作系统的并发性比较
2.2 并行体系结构简介
2.2.1 Flynn分类法
2.2.2 MIMD的进一步分类
2.2.3 小结
2.3 并行编程环境
2.4 并行计算术语
2.5 并行计算的度量
2.6 通信
2.6.1 延迟和带宽
2.6.2 重叠通信和计算与隐藏延迟
2.7 本章小结
第3章 “寻找并发性”设计空间
3.1 设计空间简介
3.1.1 概述
3.1.2 使用分解模式
3.1.3 示例的背景
3.2 任务分解模式
3.3 数据分解模式
3.4 分组任务模式
3.5 排序任务模式
3.6 数据共享模式
3.7 设计评估模式
3.8 本章小结
第4章 “算法结构”设计空间
4.1 概述
4.2 选择一种算法结构模式
4.2.1 目标平台
4.2.2 主要组织原则
4.2.3 算法结构决策树
4.2.4 重新评估
4.3 示例
4.3.1 医学成像
4.3.2 分子动力学
4.4 任务并行模式
4.5 分治模式
4.6 几何分解模式
4.7 递归数据模式
4.8 流水一模式
4.9 基于事件的协作模式
第5章 “支持结构”设计空间
5.1 概述
5.1.1 程序构造模式
5.1.2 表示数据结构的模式
5.2 面临的问题
5.3 模式的选择
5.4 SPMD模式
5.5 主/辅助进程模式
5.6 循环并行模式
5.7 派生/连接模式
5.8 共享数据模式
5.9 共享队例模式
5.10 分布式数组模式
5.11 其他支持结构
5.11.1 SIMD
5.11.2 MPMD
5.11.3 客户-服务器计算
5.11.4 使用声明语言的并发编程
5.11.5 问题求解环境
第6章 “实现机制”设计空间
6.1 概述
6.2 UE的管理
6.2.1 线程的创建/销毁
6.2.2 进程的创建/销毁
6.3 同步
6.3.1 存储器同步和围栅
6.3.2 栅栏
6.3.3 互斥
6.4 通信
6.4.1 消息传递
6.4.2 集合通信
6.4.3 其他通信构造
附录A OpenMP简介
A.1 核心概念
A.2 结构块和指令格式
A.3 工作分摊法
A.4 数据环境子句
A.5 OpenMP运行时库
A.6 同步
A.7 调度子句
A.8 本附录小结
附录B MPI简介
B.1 概念
B.2 启动
B.3 基本的点到点消息传递
B.4 集合操作
B.5 高级的点到点消息传递方法
B.6 MPI和FORTRAN
B.7 本附录小结
附录C Java并发编程简介
C.1 线程的创建
C.1.1 匿名的内部类
C.1.2 Executor和工厂方法
C.2 原子性存储器同步和volatile关键字
C.3 同步块
C.4 等待并通知
C.5 锁
C.6 其他同步机制和共享数据结构
C.7 中断
术语表
参考文献
1.1 引言
1.2 并行编程
1.3 设计模式和模式语言
1.4 并行编程的模式语言
第2章 并行计算的背景和术语
2.1 并行程序与操作系统的并发性比较
2.2 并行体系结构简介
2.2.1 Flynn分类法
2.2.2 MIMD的进一步分类
2.2.3 小结
2.3 并行编程环境
2.4 并行计算术语
2.5 并行计算的度量
2.6 通信
2.6.1 延迟和带宽
2.6.2 重叠通信和计算与隐藏延迟
2.7 本章小结
第3章 “寻找并发性”设计空间
3.1 设计空间简介
3.1.1 概述
3.1.2 使用分解模式
3.1.3 示例的背景
3.2 任务分解模式
3.3 数据分解模式
3.4 分组任务模式
3.5 排序任务模式
3.6 数据共享模式
3.7 设计评估模式
3.8 本章小结
第4章 “算法结构”设计空间
4.1 概述
4.2 选择一种算法结构模式
4.2.1 目标平台
4.2.2 主要组织原则
4.2.3 算法结构决策树
4.2.4 重新评估
4.3 示例
4.3.1 医学成像
4.3.2 分子动力学
4.4 任务并行模式
4.5 分治模式
4.6 几何分解模式
4.7 递归数据模式
4.8 流水一模式
4.9 基于事件的协作模式
第5章 “支持结构”设计空间
5.1 概述
5.1.1 程序构造模式
5.1.2 表示数据结构的模式
5.2 面临的问题
5.3 模式的选择
5.4 SPMD模式
5.5 主/辅助进程模式
5.6 循环并行模式
5.7 派生/连接模式
5.8 共享数据模式
5.9 共享队例模式
5.10 分布式数组模式
5.11 其他支持结构
5.11.1 SIMD
5.11.2 MPMD
5.11.3 客户-服务器计算
5.11.4 使用声明语言的并发编程
5.11.5 问题求解环境
第6章 “实现机制”设计空间
6.1 概述
6.2 UE的管理
6.2.1 线程的创建/销毁
6.2.2 进程的创建/销毁
6.3 同步
6.3.1 存储器同步和围栅
6.3.2 栅栏
6.3.3 互斥
6.4 通信
6.4.1 消息传递
6.4.2 集合通信
6.4.3 其他通信构造
附录A OpenMP简介
A.1 核心概念
A.2 结构块和指令格式
A.3 工作分摊法
A.4 数据环境子句
A.5 OpenMP运行时库
A.6 同步
A.7 调度子句
A.8 本附录小结
附录B MPI简介
B.1 概念
B.2 启动
B.3 基本的点到点消息传递
B.4 集合操作
B.5 高级的点到点消息传递方法
B.6 MPI和FORTRAN
B.7 本附录小结
附录C Java并发编程简介
C.1 线程的创建
C.1.1 匿名的内部类
C.1.2 Executor和工厂方法
C.2 原子性存储器同步和volatile关键字
C.3 同步块
C.4 等待并通知
C.5 锁
C.6 其他同步机制和共享数据结构
C.7 中断
术语表
参考文献
猜您喜欢