并行考试复习知识点.docx
- 文档编号:9485392
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:36
- 大小:2.92MB
并行考试复习知识点.docx
《并行考试复习知识点.docx》由会员分享,可在线阅读,更多相关《并行考试复习知识点.docx(36页珍藏版)》请在冰豆网上搜索。
并行考试复习知识点
考试题型:
名词解释(5~6个),简答(4~5),画图(17分),并行算法(40分)
第一章绪论
1.什么是并行计算?
并行计算(parallelcomputing)是指,在并行机上,将一个应用分解成多个子任务,分配给不同的处理器,各个处理器之间相互协同,并行地执行子任务,从而达到加速求解速度,或者求解应用问题。
基本条件:
硬件(并行机)、并行算法设计、并行编程环境
主要目标:
提高求解速度,扩大问题规模
并行计算的三个基本条件:
(1)并行机。
并行机至少包含两台或两台以上处理机,这些处理机通过互连网络相互连接,相互通信。
(2)应用问题必须具有并行度。
也就是说,应用可以分解为多个子任务,这些子任务可以并行地执行。
将一个应用分解为多个子任务的过程,称为并行算法的设计。
(3)并行编程。
在并行机提供的并行编程环境上,具体实现并行算法、编制并行程序,并运行该程序,达到并行求解应用问题的目的。
并行计算的主要研究内容:
(1)并行机的高性能特征抽取。
(2)并行算法设计与分析。
(3)并行实现技术,主要包含并行程序设计和并行性能优化。
基于并行机提供的并行编程环境,例如消息传递平台MPI或者共享存储平台OpenMP,具体实现并行算法,研制求解应用问题的并行程序。
(4)并行应用。
2.并行计算和分布式计算的区别,不同:
并行计算不同于分布式计算(distributedcomputing)
分布式计算主要是指,通过网络相互连接的两个以上的处理机相互协调,各自执行相互依赖的不同应用,从而达到协调资源访问,提高资源使用效率的目的。
但是,它无法达到并行计算所倡导的提高求解同一个应用的速度,或者提高求解同一个应用的问题规模的目的。
对于一些复杂应用系统,分布式计算和并行计算通常相互配合,既要通过分布式计算协调不同应用之间的关系,又要通过并行计算提高求解单个应用的能力。
3.各种结构画图,概念,特点,以及两两之间的差异:
大型并行计算机(scalable-parallelComputer)可分为:
a)单指令多数据流机SIMD
b)并行向量处理机PVP
c)对称多处理机SMP
d)大规模并行处理机MPP
e)分布式共享存储DSM多处理机
f)工作站机群COW
(1)DSM(DistributedSharedMemory)分布式共享存储
(2)MPP(MassivelyParallelProcessing)大规模并行处理结构
每个结点相对独立,有一个或多个微处理器
每个结点均有自己的操作系统
各个结点自己独立的内存,避免内存访问瓶颈
各个结点只能访问自己的内存模块
扩展性较好
(3)对称多处理机SMP:
采用商用微处理器,通常有片上和片外Cache,基于总线连接,集中式共享存储,UMA结构。
优点:
a)对称性
b)单地址空间,易编程性,动态负载平衡,无需显示数据分配
c)高速缓存及其一致性,数据局部性,硬件维持一致性
d)低通信延迟,Load/Store完成
问题:
a)欠可靠,BUS,OS,SM
b)通信延迟(相对于CPU),竞争加剧
c)慢速增加的带宽(MBdouble/3年,IOB更慢)
d)不可扩放性---〉CC-NUMA
SMP
(4)NOW(NetworkofWorkstations)工作站机群
也称为COW(ClusterofWorkstations),与MPP之间的界限越来越模糊。
每个结点都是一个完整的工作站,有独立的硬盘与UNIX系统
结点间通过低成本的网络(如千兆以太网)连接
每个结点安装消息传递并行程序设计软件,实现通信、负载平衡等
投资风险小、结构灵活、可扩展性强、通用性好、异构能力强,被大量中小型计算用户和科研院校所采用
存在的问题:
通信性能,并行编程环境。
工作站集群COW结构图,如下:
NOW的典型代表:
Beowulfcluster微机机群,如下图:
(5)Cluster机群
每个结点含多个商用处理器,结点内部共享存储
采用商用机群交换机通过前端总线连接结点,结点分布存储
各个结点采用Linux操作系统、GNU编译系统和作业管理系统
属性
PVP
SMP
MPP
DSM
COW
结构类型
MIMD
MIMD
MIMD
MIMD
MIMD
互联网络
交叉开关
交叉开关,总线
定制网络
定制网络
商业化网络
通信机制
共享变量
共享变量
消息传递
共享变量
消息传递
地址空间
单地址空间
单地址空间
多地址空间
单地址空间
多地址空间
系统存储器
集中共享
集中共享
分布非共享
分布共享
分布非共享
访存模型
UMA
UMA
NORMA
NUMA
NORMA
可扩展并行计算机发展正趋于三种系统结构:
1)无共享体系结构
2)共享磁盘体系结构
3)共享存储器体系结构
4.微机处理器的多级存储结构,cache(应该没有)
微处理器主频越来越高,内存容量越来越大,但内存访问速度的增长较慢
缓解内存墙性能瓶颈:
Cache高速缓存
第二章流水线处理机和向量处理机
5.流水线的原理
5条指令顺序执行20Δt;现8ΔT即可完成,如完成一条指令的时间为T,把一条指令解释分解成时间相等的M个子过程,则每隔Δt=T/m就可以处理一条指令,最大吞吐率提高。
6.流水线的各种分类方法以及分类。
1)按流水处理的级别分类
2)按流水线完成功能的多少分类
3)按流水不同功能的联接切换方式分类
4)按处理的数据类型分类
5)按流水线的结构分类
6)其它类型
1)按流水处理的级别分类
部件级流水:
指构成部件内的各个子部件之间的流水
处理机级流水:
指构成处理机的各个部件之间的流水
系统级流水:
指构成计算机系统的多个处理机之间的流水
2)按流水线完成功能的多少分类
单功能流水线----只能实现一种功能的流水处理。
多功能流水线指----同一流水线的各个段之间可以有多种不同的联接方式以实现多种不同的运算或功能。
3)按流水不同功能的联接切换方式分类
静态流水线----在某一时间里各段只能按一种功能联接流水,只有等流水线全部流空后才能切换成按另一种功能来联接流水。
动态流水线----各功能段在同一时间内可按不同运算或功能联接
目前,高性能流水处理机大多都采用多功能静态流水
静态多功能流水线时空图
4)按处理的数据类型分类
标量流水处理机:
没有向量数据表示,只能对标量进行处理.
向量流水处理机:
机器具有向量数据表示,设置有向量指令和向量运算硬件,能对向量的各个元素流水地处理。
5)按流水线的结构分类
线性流水----各段串行联接,没有反馈回路,各段只经过一次。
非线性流水----流水线中除有串行联接的通路外.还有某种反馈回路,使一个任务流经流水线时,需要多次经过某个段或跳过某些段,称非线性流水。
图为:
非线性流水线
6)其它类型
可大量采用,用硬件来实现复杂的多维流水线,同时设多个方向脉动地向前推进,以进一步提高流水的并行处理能力。
第三章阵列处理机
7.什么是阵列处理机,及其特殊应用。
阵列处理机属于SIMD并行机,多台处理机(既处理单元PE)排成阵列,利用资源重复的方法开拓并行性。
单一的指令运行在大型的数据结构(如数组和矩阵等)上,所以也叫做数据并行结构(DataParallelArchitecture)。
阵列机的基本结构:
(控制单元,管理单元)
阵列处理机通常由一个控制单元CU(ControlUnit),n个处理单元PE(ProcessingElement),m个存储模块M和一个互连网络IN(InterconnectionNetwork)所组成。
SC是管理处理机。
CU将单一指令流播送至各个PE,而所有活动的PE将从相应的M中取出各自所需的数据元素(多数据流),以同步的方式执行该条指令。
阵列机中,IN也常叫做对准(Alignment)或置换(Permutation)网络,它用来提供各PE之间或PE与M之间的通信连接。
按以存储模块的分布方式不同,阵列机可分为两种基本组态:
1)分布存储的阵列机:
处理器----处理器组态(也称为闺房式)
2)共享存储的阵列机:
处理器----存储器组态(也称为舞厅式)
阵列机的主要特点:
1)使用资源重复的办法来开拓计算问题的空间上的并行性;
2)所有PE必须同时进行相同的操作,计算是同步的,也叫同步计算;
3)该类结构是以某一类算法为背景发展起来的计算机,使用简单、规整的互连网络来实现PE间的通信,限定了所适用的求解问题的算法的类型,所以阵列机的研究必须与并行算法密切结合。
4)阵列机是一种专用的计算机,尤其适合求解有限差分、矩阵运算、信号处理、图像处理,线性规划等一类计算问题。
阵列机的特殊应用:
(?
?
?
)
阵列处理机是一个异构型多处理机系统:
1.专门对付数组运算的处理单元阵列组成的处理机;
2.专门从事处理单元阵列的控制及标量处理的处理机;
3.专门从事系统输入输出及操作系统的处理机。
8.网络拓扑的一些概念:
网络直径—(diameter)D;网络中任意两个结点间最短路径的最大值。
路径长度用遍历的链路数来度量。
结点度—(nodedegree)d;与结点相连接的链路(边)数。
反映了结点所需的I/O端口数,也反映了结点的价格。
等分宽度—当某一网络被切成相等的两半时,沿切口的最小边数(通道)称通道等分宽度。
对称网络—从任何结点看拓扑结构都是一样。
数据寻径功能—数据寻径网络用来进行PE间数据交换。
(静、动)
第四章多处理机
9.多处理机的概念
MIMD并行计算机结构模型:
对称多处理机SMP的特点:
(1)对称性。
系统中任何处理器都可以访问共享存储器的任何存储单元和I/O设备,且具有相同的访存时间。
因此,SMP结构也称为均匀存储访问(UMA)结构。
(2)单一物理地址空间。
共享存储器的所有存储单元都按单一地址空间编址。
(3)高速缓存一致性。
多级高速缓存支持数据局部性,而且用硬件自动实现高速缓存一致性。
(4)低通信延迟。
处理器之间的通信采取对共享存储单元使用简单的读/写指令来完成,因此,通信的时间延迟很低。
(详见第四章课件)
多处理机:
具有两个以上的处理机,在操作系统控制下,通过共享的主存或输入/输出子系统或高速通讯网络进行通讯。
10.多处理机与阵列机的区别:
多处理机属于多指令流多数据流系统,与单指令流多数据流系统的阵列处理机相比:
1)在结构上:
它的多个处理机要用多个指令部件分别控制,通过机间互连网络实现通讯;
2)在算法上:
不限于向量数组处理,还要挖掘和实现更多通用算法中隐含的并行性;
3)在系统管理上:
要更多地依靠软件手段有效地解决资源分配和管理,特别是任务分配、处理机调度、进程的同步和通讯等问题。
从以下几个方面,主要说明其差别:
✧结构灵活性
阵列处理机的结构主要是针对向量、数组处理设计的,有专用性。
处理单元数虽然已达6384以上,却只需要设置有限、固定的机间互连通路就可满足一批并行度很高的算法的需要。
多处理机是实现作业、任务、程序段的并行,为适应多样的算法,结构应更灵活多变,以实现复杂的机间互连,避免争用共享的硬件资源。
这是多处理机机数少的原因之一。
✧程序并行性
阵列处理机实现操作级并行,一条指令即可对整个数组同时处理,并行性存在于指令内部,识别比较容易,可以从指令类型和硬件结构上提供支持,由程序员编程时加以利用,或由向量化编译程序来协助。
多处理机中,并行性还存在于指令外部,处理多个任务间的并行,加上系统要求通用,使程序并行性的识别较难,必须利用算法、程序语言、编译、操作系统以及指令、硬件等多种途径,挖掘各种潜在的并行性,而不是主要依靠程序员在编程时解决。
✧并行任务派生
阵列处理机是通过指令来反映数据间是否并行计算,并由指令直接启动多个处理单元并行工作。
多处理机是指令流,需要有专门的指令或语句指明程序中各程序段的并发关系,并控制它们并发执行,使一个任务执行时可以派生出与它并行执行的另一些任务。
派生出的并行任务数目随程序和程序流程的不同而动态变化,并不要求多处理机像阵列处理机那样用固定的处理器加屏蔽的办法来满足其执行的需要。
如果派生出的并行任务数多于处理机数,就让那些暂分配不到空闲处理机的任务排队,等待即将释放的处理机。
反之,则可以让多余的空闲处理机去执行其它的作业。
因此多处理机较阵列处理机运行的效率要高些。
✧进程同步
阵列处理机实现的是指令内部对数据操作的并行,所有活跃的处理单元在同一个控制器控制下,同时执行同一条指令,工作自然是同步的。
多处理机实现的是指令、任务、作业级的并行,同一时刻,不同处理机执行不同指令,工作进度不会也不必保持一致。
但如果并发程序之间有数据相关或控制依赖,就要采取特殊的措施同步,使并发进程能按所需的顺序执行。
✧资源分配和任务调度
阵列处理机主要执行向量数组运算,处理单元数目是固定的。
程序员编写程序时,利用屏蔽手段设置处理单元的活跃状态,就可改变实际参加并行执行的处理单元数目。
多处理机执行并发任务,需要处理机的数目没有固定的要求,各个处理机进入或退出任务以及所需资源的变化情况要复杂得多。
这就需要解决好资源分配和任务调度,让处理机的负荷均衡,尽可以提高系统硬件资源的利用率,管理和保护好各处理机、进程共享的公用单元,防止系统死锁。
这些问题解决的好坏将会直接影响系统的效率。
第五章机群的分类,体系结构
11.机群的概念
一组独立的计算机(节点)的集合体,节点间通过高性能的互连网络连接;各节点除了可以作为一个单一的计算资源供交互式用户使用外,还可以协同工作,并表现为一个单一的、集中的计算资源,并行计算任务使用。
机群的重要特征:
1)机群的各节点都是一个完整的系统,节点可以是工作站,也可以是PC机或SIMD机;
2)互连网络通常使用商品化网络,如以太网、FDDI、ATM、光纤通信等,部分商业机群也采用专业网络互连;
3)网络接口与节点的I/O总线松耦合相连;
4)各节点有一个本地磁盘;
5)各节点有自己的完整的操作系统。
12.机群的分类
根据不同的标准,机群可有多种分类方式。
1根据应用目标:
高性能机群(HPCluster)和高可用性机群(HACluster)
2根据节点的拥有情况:
专用机群(Dedicatescluster)和非专用机群(Nondedicatedcluster)
3根据节点的硬件构成:
PC机群COPC(ClusterofPCs),工作站机群COW,对称多处理机SMP机群Clumps(ClusterofSMPs).
4根据节点的操作系统:
Linux机群(如Beowulf),Solaris机群(如BerkeleyNow),NT机群(如HPVM),AIX机群(如IBMSP2)
5根据节点的配置:
同构机群—各节点有相似的体系,并使用相同的操作系统。
异构机群—节点可以有不同的体系,运行的操作系统也可不同。
6从综合比较角度机群分为两类:
专用形—紧耦合、同构、通过一个前端系统进行集中式管理,常用来替代传统的大型超级计算机系统。
企业型—松耦合、由异构节点构成,节点可以有多个属主,机群管理者对节点有有限的管理权。
13.机群的体系结构
1)机群节点连接方式:
机群节点有三种连接方式,如图5.1所示。
最常见的是无共享机群,节点间通过I/O总线连接;共享磁盘(SharedDisk)的体系常用于注重可用性的商用小规模机器上,在节点失效时能由其他节点承担失效节点的工作;共享存储器的机群节点通过存储总线连接,由于比前两种机群难于实现,还没有得到广泛的应用。
2)机群的理想体系结构
①多个高性能节点:
如PC、工作站、SMP等;②目前最新的(State-of-the-art)操作系统:
如基于层次结构或基于微内核的操作系统;③高性能互连网络:
如千兆位的以太网或Myrinet;④快速通信协议和服务:
如主动消息AM或快速消息FM;⑤机群中间层:
包括单一系统映像和系统可用性低层结构;⑥并行编程环境和工具:
如编译器、MPI、PVM等;⑦应用:
包括串行应用和并行应用。
并行计算第三章
1.网络性能指标(不确定考)
1)节点度(NodeDegree):
射入或射出一个节点的边数。
在单向网络中,入射和出射边之和称为节点度。
2)网络直径(NetworkDiameter):
网络中任何两个节点之间的最长距离,即最大路径数。
3)对剖宽度(BisectionWidth):
对分网络各半所必须移去的最少边数
4)对剖带宽(BisectionBandwidth):
每秒钟内,在最小的对剖平面上通过所有连线的最大信息位(或字节)数
5)如果从任一节点观看网络都一样,则称网络为对称的(Symmetry)
2.膨胀系数
将网络中的各节点映射到另一个网络中去。
用膨胀(Dilation)系数来描述嵌入的质量,它是指被嵌入网络中的一条链路在所要嵌入的网络中对应所需的最大链路数。
如果该系数为1,则称为完美嵌入。
3.加速度比性能三定律(不确定考)详见课件
1)Amdahl定律
2)Gustafson定律
3)SunNi定律
可扩放性评测标准
1)等效率度量标准
2)等速度度量标准
3)平均延迟度量标准
第四章并行算法设计
4.什么是并行算法,及其分类。
并行算法:
一些可同时执行的进程的集合,这些进程互相作用和协调动作从而达到给定问题的求解。
并行算法的分类:
✧数值计算和非数值计算
✧同步算法和异步算法
✧分布算法
✧确定算法和随机算法
5.并行算法的同步(应该不考)
同步概念:
✧同步是在时间上强使各执行进程在某一点必须互相等待;
✧可用软件、硬件和固件的办法来实现。
同步语句示例:
算法4.1共享存储多处理器上求和算法
输入:
A=(a0,…,an-1),处理器数p
输出:
S=Σai
Begin
(1)S=0(2.3)lock(S)
(2)forallPiwhere0≤i≤p-1doS=S+L
(2.1)L=0(2.4)unlock(S)
(2.2)forj=itonsteppdoendfor
L=L+ajEnd
endfor
endfor
6.并行算法的通讯
通讯:
✧共享存储多处理器使用:
globalread(X,Y)和globalwrite(X,Y)
✧分布存储多计算机使用:
send(X,i)和receive(Y,j)
通讯语句示例:
算法4.2分布存储多计算机上矩阵向量乘算法
输入:
处理器数p,A划分为B=A[1..n,(i-1)r+1..ir],
x划分为w=w[(i-1)r+1;ir]
输出:
P1保存乘积AX
Begin
(1)Computez=Bw
(2)ifi=1thenyi=0elsereceive(y,left)endif
(3)y=y+z
(4)send(y,right)
(5)ifi=1thenreceive(y,left)
End
7.并行计算的模型概念,定义
1)PRAM模型
基本概念:
由Fortune和Wyllie1978年提出,又称SIMD-SM模型。
有一个集中的共享存储器和一个指令控制器,通过SM的R/W交换数据,隐式同步计算。
结构图:
PRAM-CRCW分类
1)PRAM-CRCW并发读并发写
a)CPRAM-CRCW(CommonPRAM-CRCW):
仅允许写入相同数据
b)PPRAM-CRCW(PriorityPRAM-CRCW):
仅允许优先级最高的处理器写入
c)APRAM-CRCW(ArbitraryPRAM-CRCW):
允许任意处理器自由写入
2)PRAM-CREW并发读互斥写
3)PRAM-EREW互斥读互斥写
优点:
适合并行算法表示和复杂性分析,易于使用,隐藏了并行机的通讯、同步等细节。
缺点:
不适合MIMD并行机,忽略了SM的竞争、通讯延迟等因素
2)异步APRAM模型
基本概念:
又称分相(Phase)PRAM或MIMD-SM。
每个处理器有其局部存储器、局部时钟、局部程序;无全局时钟,各处理器异步执行;处理器通过SM进行通讯;处理器间依赖关系,需在并行程序中显式地加入同步路障。
指令类型:
(1)全局读
(2)全局写(3)局部操作(4)同步
计算过程:
由同步障分开的全局相组成
优缺点:
易编程和分析算法的复杂度,但与现实相差较远,其上并行算法非常有限,也不适合MIMD-DM模型。
3)BSP模型
基本概念:
由Valiant(1990)提出的,“块”同步模型,是一种异步MIMD-DM模型,支持消息传递系统,块内异步并行,块间显式同步。
模型参数:
p:
处理器数(带有存储器)
l:
同步障时间(Barriersynchronizationtime)
g:
带宽因子(timesteps/packet)=1/bandwidth
计算过程:
由若干超级步组成,每个超级步计算模式为下图:
优缺点:
强调了计算和通讯的分离,提供了一个编程环境,易于程序复杂性分析。
但需要显式同步机制,限制至多h条消息的传递等。
4)logP模型
基本概念:
由Culler(1993)年提出的,是一种分布存储的、点到点通讯的多处理机模型,其中通讯由一组参数描述,实行隐式同步。
模型参数:
L:
networklatency
o:
communicationoverhead
g:
gap=1/bandwidth
P:
#processors
注:
L和g反映了通讯网络的容量
优缺点:
捕捉了MPC的通讯瓶颈,隐藏了并行机的网络拓扑、路由、协议,可以应用到共享存储、消息传递、数据并行的编程模型中;但难以进行算法描述、设计和分析。
第五章并行算法的一般设计方法
8.快排算法的并行化
算法5.2PRAM-CRCW上的快排序二叉树构造算法
输入:
序列(A1,…,An)和n个处理器
输出:
供排序用的一棵二叉排序树
Begin
(1)foreachprocessorido
(2)repeatforeachprocessori<>rootdo
(1.1)root=iif(Ai (1.2)fi=root(2.1)LCfi=i (1.3)LCi=RCi=n+1(2.2)ifi=LCfithenexitelsefi=LCfiendif endforelse (2.3)RCfi=i (2.4)ifi=RCfithenexitelsefi=RCfiendif endif endrepeat End 9.SIMD-CC上的并行算法 第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 并行 考试 复习 知识点