- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并行算法与并行程序设计 第01章 概论(新)
* * * * * * * * * * 五、并行计算机模型 物理机模型 并行向量处理机(PVP) VP:定制向量处理器,数量不多,功能很强。 SM:共享存储器。 PVP通常不使用高速缓存,而是使用大量向量寄存器以及指令缓存。 VP VP SM SM SM …… …… 定制高带宽纵横交叉开关网络 VP 五、并行计算机模型 物理机模型 对称多处理机(SMP) P/C:微处理器和高速缓存。 SM:共享存储器。 与PVP不同,采用商品化微处理器,带有片内和片外高速缓存。 对称性指每个处理器平等地访问共享存储器、I/O部件以及操作系统服务。 使用集中式共享存储器和总线或交叉网络的系统互连,一旦建成就难以扩展。 P/C P/C P/C SM SM SM …… …… 总线或纵横交叉开关网络 五、并行计算机模型 物理机模型 分布共享存储器多处理机(DSM) P/C:微处理器和高速缓存 LM:本地存储器 DIR:高速缓存目录,用来支持分布式一致高速缓存。 NIC:网络接口电路 MB:存储器总线 DSM与SMP(对称多处理机)的主要区别在于DSM的存储器是分布在各结点中的,但系统通过硬件和软件为用户建立了一个单地址空间的幻觉。 五、并行计算机模型 物理机模型 大规模并行处理机(MPP) P/C:微处理器和高速缓存 LM:本地存储器 NIC:网络接口电路 MB:存储器总线 P/C LM NIC MB P/C LM NIC MB …… 定制网络 五、并行计算机模型 物理机模型 大规模并行处理机(MPP) 在处理结点中使用商品化微处理器。 在处理结点内使用物理上分布的存储器。 使用具有高通信带宽和低时速的互连。 能扩展成具有成百甚至成千个处理器。 类似于多处理机模型,是异步MIMD机,但进程同步采用锁式消息传递操作,而不是用共享变量同步操作加以实现。 程序由多个进程组成,每个进程有自己的私有地址空间。 通过消息传递实现进程间互相作用。 结点间用高速、专用通信网加以互连,称这些结点为紧耦合的。 五、并行计算机模型 物理机模型 工作站机群/计算机机群(COW) COW的每个结点可以是一个完整的工作站,不包含某些外设(如监视器、键盘、鼠标等),也可以是一台SMP或PC。 结点间一般通过低廉的商品化网络,如以太网、FDDI、光通道、ATM开关实现互连。 不同于MPP,COW的网络接口与结点中的I/O总线松耦合相连。 通常都有一个局部磁盘,而MPP结点中可能没有。 每个结点上驻留着一个完整的操作系统,而在MPP的某些结点中可能只有操作系统的微核。 六、并行程序设计 并行处理的特点 自治性:各处理器在工作时是相互独立的。 合作性:各处理器共同完成一个整体任务,相互之间有协作关系,有数据通信。 同时性:各处理器同时都在执行指令,而不是交错执行。 六、并行程序设计 并行计算举例 设有稠密矩阵A和B,计算C=A*B。 假设,A2*2,B2*2,则: cij = ai1*b1j + ai2b2j i, j = 1,2 若动用4个处理器Pij,分别计算cij,则可以同时进行计算。 在一个并行计算步中,就可以完成计算。 考察下面的例子: L1: x ← 1 L2: x ← 2*x L3: x ← 3*x 该例不具备并行性。 六、并行程序设计 并行程序设计方法学 并行程序设计方法学与顺序程序设计方法学的主要区别在于对问题的看法。 顺序程序设计方法学将问题或事物的变化理解为单线程的,由一系列不可分割的有因果关系的统一事物;而并行程序设计方法学最基本的一个观点,就是把行为看作是多个事物相互作用的结果,因此并行程序设计的第一工作就是对问题作并行划分。 并行程序设计方法学的核心就是并行划分和算法映射,其理论基础是并行计算模型。 六、并行程序设计 并行编程的困难所在 并行编程比顺序编程更为复杂。 并行编程有许多不同的可参考模型。 并行编程的工具软件相对落后。 并行编程的程序累积远不如顺序编程。 六、并行程序设计 并行编程模型 指令式编程模型 蕴式并行 程序员不显式地说明并行性,通过编译器和运行支持系统自动加入并行性。常见的是利用专门的并行化编译器,对顺序程序实行自动并行化,由编译器对源代码进行相关性分析,通过一组变换技术将顺序代码转换为并行代码。这种编译器也称为并行化编译器或重构编译器。其难点在于并行编译器的有效性。 数据并行 适用于SIMD或SPMD方式,主要思想是在多个计算结点上对不同的数据集同时执行相同的指令或程序段。 消息传递 各进程异步执行,通过路障或锁定通信实现同步,是一种粗粒度的MIMD。 共享变量 共享变量模型拥有单地址空间(与数据并行类似),是多线程化和异步的(与消息传递相似)。 六、并行程序设计 并行编程模型 函数式编程 函数式编程描述计算的输入与输出之间的函数关系,
文档评论(0)