并行计算-南京大学计算机科学与技术系.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并行计算 —— 结构•算法•编程 主讲教师:谢磊 第十四章分布存储系统并行编 程 分布存储系统并行编程  14.1 基于消息传递的编程  14.2 MPI并行编程  14.3 PVM并行编程  14.4 基于数据并行的并行编程  14.5 HPF并行编程 分布存储系统并行编程  分布存储系统的主要特点  系统通过互联网络将多个处理器连接起来  每个处理器均有自己的局部存储器,所有的局部处理 器就构成了整个地址空间  整个地址空间有局部和全局两种编址方式  全局编址方式  系统中所有局部存储器统一编址,用户程序空间是一 个统一的全局地址空间。  远程存储器的访问与局部存储器的访问一样用指令来 完成,其指令地址是由处理器号和局部存储器地址所 组成。 分布存储系统并行编程  局部编址方式  系统中个局部存储器单独编址,用户程序空间是多地 址空间。  远程存储器的访问要通过调用消息传递库来实现。  上述特点导致了分布存储系统的两种并行编程模型  消息传递模型  SPMD,MPMD  数据并行模型  SIMD,SPMD 基于消息传递的并行编程  根据问题分解的两种形式,消息传递并行性的开发 有两种形式  域分解形式:SPMD编程 将一个大的问题区域分解成若干个较小的问题 区域,然后对其并行求解。  函数分解形式:MPMD编程 将一个大的问题分解成若干个子问题,然后对 其并行求解。 SPMD 并行程序  SPMD就是同一程序复制到各个处理器上,而不同的 数据分布在不同的处理器上。这样在系统中各处理 器均运行相同的程序,但对不同的数据执行操作。  设计SPMD形式的消息传递程序的主要步骤是:  数据划分:尽量考虑负载平衡、存储空间的均衡使用 以及减少处理器之间的通信  优化通信:尽量提高计算/通信比,数据就地使用,合 并短消息成一个长消息进行传输  全局操作:将各处理器的局部结果组合起来形成整个 问题的解,这样的操作包括:全局同步、播送、归约、 前缀运算、收集/散播等。 SPMD 并行程序  编写SPMD形式的程序有两种方式  主机/ 节点式(Host/Node) 主机程序:运行在控制节点上。 节点程序:运行在所有的计算节点上。 一个主机程序控制一组以SPMD 方式执行的节点 程序。  无主机式(Hostless) 一个应用程序整个运行在计算节点上,而控制 节点不起上节所说的主机节点的作用。 在这种结构中,程序控制也是在计算节点上完 成的。 MPMD 并行程序  MPMD就是每个处理器执行不同的代码副本、各自 对数据完成不同的运算。  设计MPMD形式的消息传递程序的主要步骤是:  子问题划分:尽量考虑各处理器负载均衡和充分 利用各处理器的独特能力,在全系统范围内合理 分配各子问题于不同处理器上。  确定子问题之间的相互作用方式。 MPMD 并行程序  实现子问题之间相互作用的方式有两种:数据流方 式和客户/服务器方式。  数据流方式:用户将问题分解为各不相同的子问题; 根据子问题的相关性来组织并行,按数据驱动的方式 决定并行执行的先后次序。  客户/服务器方式:用户将一些典型的不同的子问题求 解作为相应的服务进程分布在各个计算节点上。整个 问题的求解就归结为客户对各个服务器的一系列服务 请求。 基于消息传递的并行编程 1 消息传递库 2 消息传递方式 1 消息传

文档评论(0)

yuxiufeng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档