并发程序设计基础教程 PDF下载 公众号 其他格式

手机扫码免费下载

纠错留言

#电子书截图

并发程序设计基础教程截图

#电子书简介

赵煜辉,男,1971年10月出生,东北大学计算机应用博士毕业,北京科技大学博士后(在站),副教授,信息管理与信息系统专业教研室主任。主要从事计算机应用方面研究。
3.MIMD和SIMD分类
这种方式是根据指令和数据之间的工作方式来划分并行机系统的。一共有4种,分别如下。
单指令流单数据流系统(Single Instruction Stream Single Data Stream,SISD):实际上就是人们非常熟悉的单机系统。
单指令流多数据流系统(Single Instruction Stream Multiple Data Streams,SIMD): 这里的单指令流其实是指多个处理器运行完全相同的指令,每个处理器处理的是不同的数据。
多指令流单数据流系统(Multiple Instruction Streams Single Data Stream,MISD):这种类型实际是不存在的。
多指令流多数据流系统(Multiple:InstaaJction Streams.Multiple Data Streams,MIMD):系统中的每个处理器执行的指令和处理的数据都不同。目前,大多数的并行机系统都属于这种类型,比如前面提到的MPP和集群系统。
MIMD类型的并行系统有下面两个优点。
(1)MIMD系统在使用上有很大的灵活性。它既可以作为一个单用户系统,为用户提供高性能的服务;也可以作为多用户系统,同时执行多个不同的应用程序,为多个用户提供服务。
(2)MIMD系统可以获得较高的性价比。因为构建一个MIMD系统可以使用通用的商用部件,比如集群系统完全可以用普通的局域网来构建。而SIMD系统一般要使用专用的CPIJ,因而价格昂贵。
1.1.2静态网络连接结构
对于大型的并行机系统,要使用多个处理器/存储器模块,这些模块之间通过一定的网络结构相互联系。网络结构一般可以分为两种:静态网络连接结构和动态网络连接结构。本节介绍静态网络连接结构,
1.1-3节介绍动态网络连接结构。
静态互联网络是指网络连接方式是固定的,不能改动。常用的静态网络连接结构有以下几种:完全连接;线状/环状连接;网格/花环连接;超立方体连接;树状连接。此外,还可以采用嵌入(Embedding)技术,将一种网络连接结构映射为另一种逻辑网络连接结构。
1.完全连接
完全连接结构是指两两节点之间都有一条物理链路。因此,需要n(n-1)/2条链路。这种结构的优点是消息延迟最小,因为任何两个节点之间的通信,只需要经过一条链路,而不必通过中间节点传送。但当节点数比较多时,这种方法代价很大,不经济,而且也很难布线。所以实际的并行机都采用连接个数有限的连接方式。
2.线状/环状连接
如图l_4所示,最简单的连接方式是将节点依次顺序连接,从0到Ⅳ。这种结构无法提供容错性能,任何一条链路失效,都将导致数据无法从失效点的一端传到另一端。如果把线状连接的两端也连接起来,就形成了环状连接。由于从一个节点到另一个节点有两条路径,所以有一定的容错能力。一条链路失效,数据仍可以传送。
第—部分 基础知识
第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章 排序算法
10.1 基本概念
10.2 基于比较一交换的排序算法
10.3 在专用网络上的排序

附录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 系统管理
参考文献
本书共3大部分,分为10章,系统介绍了与并发程序设计相关的基础知识,包括硬件组成结构、软件开发工具以及设计并发程序的基本思想。本书提供了很多具体应用的例子,以便于读者学习和理解并发程序设计的方法学。
本书主要面向高年级的本科学生,同时也可以作为研究生的入门教程。
本书系统介绍了并发程序设计的基础知识,并提供了很多具体应用的例子,以便于读者学习和理解并发程序设计的方法。本书主要面向高年级的本科学生,同时也可以作为研究生的入门教程。通过学习本书,可以使他们学习到并发程序设计的基本知识,同时也可以了解一些具体的开发工具。
本书系统介绍了并发程序设计的基础知识,并提供了很多具体应用的例子,以便于读者学习和理解并发程序设计的方法。
本书主要面向高年级的本科学生,同时也可以作为研究生的入门教程。通过学习本书,可以使他们学习到并发程序设计的基本知识,同时也可以了解一些具体的开发工具。
  • 评论列表(0

留言评论