LecNote_10_MPI并行程序开发基础(示例程序)概要1.pptVIP

LecNote_10_MPI并行程序开发基础(示例程序)概要1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LecNote_10_MPI并行程序开发基础(示例程序)概要1

第十讲 MPI并行程序开发基础 MPI是什么 MPI程序 MPI程序运行 MPI并行程序开发基础 消息传递模型 SPMD 分布式计算的概念 广义地说,任何一个基于网络技术(包括广域网络和局域网络)的计算都称为分布式的计算。大体上可划分成四种类型 狭义的分布式计算。传统意义上讲,分布式计算是在局域网络环境上开展的计算活动 网络环境稳定:计算机的数量、每台计算机的功能和性能都是确定的 异构性:每台计算机可以具有不同的计算功能和性能。例如,一台计算机是数据库服务器、一台计算机是图形工作站、五台机器是高性能计算工作站 编写程序时,为每个子任务明确指定计算机 P2P计算: 关注的重点是数据的存储与访问 (多数情况下)网络环境是动态的:计算机随时可能加入、退出 自治性:每台计算机都能感知其他机器的加入、退出,具备独立的计算能力 同构性:每台计算机在计算功能方面可以认为是相同的 实际的计算机一般是异构的,CPU、拥有的内存、甚至OS都是不同的 站在P2P应用(例如BT)的角度看,这些机器是同构的 计算模式:计算机在求解问题P时,向周围的“邻居”请求,帮助完成子任务Ti 至今为止,主要用于数据密集型应用:文件下载、在线视频播放、…… 实例:下载软件BT 并行计算: 更侧重于求解程序的行为特征, 以提高性能为主要目标 网络环境是局域、专用、稳定、高效的 计算机之间是同构的:性能、功能 计算模式:计算机在求解问题P时,子任务Ti在任何机器上都能完成,具体的分配取决于并行算法 主要用在科学工程计算领域。在非科学工程领域,例如银行和图书馆等领域要求数据库支持大规模并发用户,并行计算更关注于SMP这样的平台 网格计算/云计算(网格:电力网; 云:用云代表互联网): 以网络环境为基础的计算, 以降低成本为主要目标 网络环境是动态、异构、低效的 基于广域网络 计算模式:计算机在求解问题P时,子任务Ti在其中某台、或某几台机器上都能完成,具体的分配取决于网格计算支撑中间件 在今天,网格计算的概念还不清晰,几乎所有基于网络的计算都扯上网格。但在网格技术的最初阶段,一般指科学工厂领域的高性能计算 云计算是近年兴起的概念, 主要是商业公司在热捧,特别是被网络搜索公司热捧。目前有一些成功的案例,主要是以数据为导向的REDUCTION类计算 网络环境的传输效率:网络数据传输的带宽与处理器数据处理速度的比 重温multi-computer的概念 是一个关于并行计算机模型的概念 由多台Von Neumann计算机共同承担计算任务。每台Von Neumann 有一颗处理器/执行内核P和一块局部存储空间M P只能访问M中的数据 计算任务的数据由各Von Neumann的局部存储空间共同存储 各个Von Neumann之间通过网络交换各自局部存储空间的数据 是并行程序开发人员眼中的并行计算机,与实际的计算机体系结构有可能不一致 可以同时执行多个进程 每个进程只能访问自己存储空间中的数据 进程之间可以通过“网络”的消息传递,交换各自存储空间中的数据 同一个OS支撑的进程之间:SOCKET/CHANNEL 不同OS支撑的进程之间:SOCKET 并行程序的结构可以是SPMD的、也可以是MPMD的 并行计算机的行为一般是MIMD的 现实中 multi-computer的例子 集群 MPP 站在编程的角度看,所谓multi-computer上的并行程序开发,就是进程并行程序设计 一台Von Neumann计算机:一个进程 并行算法实现面临的关键问题包括: 这个并行程序运行过程中,共有哪些进程 进程相互之间如何识别 进程之间如何交换消息 消息可以是算法运行逻辑的进度信号、控制转移条件信号 消息可以是被算法处理的部分数据 但是,multi-computer与CELL处理器又有类似之处: Von Neumann计算机 VS SPE SPU只能访问LS的数据 SPU执行MFC实现LS之间的数据交换 但SPE不具备Von Neumann计算机的一些重要能力 SPE的存储空间有限:256KB SPE不能够独立执行计算任务,不运行OS、依靠PPE MPI是什么 MPI:Message Passing Interface, an interface specification for programming distributed memory system,consisting of a collection of routines for facilitating communication(exchange of data and synchronization of tasks) among the processors in a distributed memory parallel pro

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档