并发程序设计基础教程

分类: 图书,计算机/网络,程序设计,其他,
作者: 赵煜辉主编
出 版 社: 北京理工大学出版社
出版时间: 2008-12-1字数:版次: 1页数: 181印刷时间:开本: 16开印次:纸张:I S B N : 9787564020101包装: 平装编辑推荐
本书系统介绍了并发程序设计的基础知识,并提供了很多具体应用的例子,以便于读者学习和理解并发程序设计的方法。本书主要面向高年级的本科学生,同时也可以作为研究生的入门教程。通过学习本书,可以使他们学习到并发程序设计的基本知识,同时也可以了解一些具体的开发工具。
内容简介
本书共3大部分,分为10章,系统介绍了与并发程序设计相关的基础知识,包括硬件组成结构、软件开发工具以及设计并发程序的基本思想。本书提供了很多具体应用的例子,以便于读者学习和理解并发程序设计的方法学。
本书主要面向高年级的本科学生,同时也可以作为研究生的入门教程。
目录
第—部分 基础知识
第1章 并行计算机的硬件基础
1.1 并行计算机的组成
1.2 共享存储器多处理器系统
1.3 消息传递多计算机系统
第2章 并行计算模型
2.1 PRAM
2.2 BSP
2.3 LogP
第3章 并发程序的评测和调试
3.1 加速比的计算
3.2 时间复杂度的计算
3.3 程序的调试和优化
第4章 共享存储器系统的程序实现
4.1 并行性的构造
4.2 数据共享
4.3 并行程序设计语言
4.4 程序举例
第5章 消息传递系统的程序实现
5.1 进程创建
5.2 基本消息通信
5.3 消息传递的时间代价分析
5.4 消息传递库的调用
5.5 程序举例
第二部分 并发程序设计基础
第6章 划分和分治
6.1 划分和分治策略介绍
6.2 应用实例
第7章 负载平衡
7.1 负载平衡
7.2 动态负载平衡
7.3 分布式的终止检测
7.4 程序举例
第8章 流水线技术
8.1 流水线技术简介
8.2 流水线的应用实例
第9章 同步计算
9.1 同步的定义
9.2 同步计算
9.3 同步循环的例子
第三部分 具体算法与应用实现
第10章 排序算法
附录A Pthread简介
A.1 线程管理
A.2 互斥锁管理
A.3 条件变量管理
A.4 读写锁管理
附录B OpenMP简介
B.1 OpenMP指令简介
B.2 parallel——并行区域构造
B.3 工作共享构造
B.4 合并的并行工作共享构造
B.5 同步构造
B.6 threadprivate——数据环境指令
B.7 数据作用域子句
B.8 schedule——调度子句
B.9 num_threads子句
B.10 子句在指令中的放置
附录C PVM简介
C.1 系统管理
C.2 进程管理
C.3 缓存管理
C.4 通信相关例程
附录D MPI简介
D.1 点对点通信
D.2 集合通信
D.3 组及通信子
D.4 系统管理
参考文献
书摘插图
第2章并行计算模型
计算模型就是对计算方式的一种描述,它指明计算所需要的工作部件以及这些部件是如何相互配合来完成计算任务的。根据计算模型,就可以设计相应的硬件和软件,只要是按照同一种计算模型设计的,设计硬件的人就不必关心要运行的是什么样的软件,设计软件的人也不必关心硬件的具体结构。
在进行串行计算时,冯诺依曼机就是一个理想的串行计算模型。冯诺依曼机首先定义了计算所需要的最基本的3个部件:运算器、控制器和存储器。然后定义了3个部件的功能和工作方式。运算器用来进行数值运算和逻辑运算,并获得计算结果;而控制器用来指挥计算机各个部分的工作,它的指挥是靠发出一系列控制信号完成的;存储器用来保存计算机的程序、数据以及在运算中产生的中间结果。工作方式是在控制器的控制下,处理器不断从存储器中取出指令和数据,完成计算再放回存储器的一个过程。只要硬件能以冯诺依曼机的方式工作,软件是由一系列硬件可识别的指令组成并能够被存储,那么硬件和软件就能相互配合一起工作。
……