并行计算基础知识讲座.pptVIP

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

并 行 计 算 基 础 知 识 赵俊锋 西北工业大学理学院 zhaojf_77@ 主要内容 并行计算环境 并行算法基础 什么问题可以并行化 串行程序如何改为并行程序 为什么需要并行计算机 问题: 科学和工程问题的数值模拟与仿真 计算密集 数据密集 网络密集 三种混合 要求:在合理的时限内完成计算任务 秒级 制造业 分钟级 短时天气预报(当天) 小时级 中期天气预报(3~10日) 尽可能快 长期天气预报(气候) 可计算 湍流模拟 什么任务适合在超级计算环境内运行? 一般来说,计算量极大而使PC不能满足要求或者根本不能计算的任务是适合在超级计算环境中运行的。比如, (1)需要分布式并行处理的科学计算任务,包括:由于对计算资源要求过大而使现在的硬件条件无法满足要求的计算任务,通过将串行源代码改编为并行源代码来进行计算,或者有通行的并行计算程序(商业或非商业); (2)虽然可以计算但是时间过长的问题等。 并行计算机的分类 并行向量机(PVP) 对称多处理共享存储多处理机(SMP) 大规模并行处理机(MPP) 工作站(微机)机群(COW) 分布式共享存储多处理机(DSM) COW(Cluster of Workstation) 一个节点可以是一台PC或SMP; 各节点一般由商品化的网络互连;机群节点通过使用标准网络协议(TCP/IP)来通信。使用的是千兆网。 每个节点一般有本地磁盘; 节点上的网络接口是松散耦合到I/O总线上; 每个节点有一个完整的操作系统,但是通过中间层实现了单一系统映像(SSI)。 并行机软件环境 操作系统方面:RatHat9.0 程序设计语言:Fortran 77、 Fortran 90、C/C++等 什么是并行算法 算法是解题的精确描述,是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。并行计算时可同时求解的诸进程的集合,这些进程相互作用和协调动作,并最终获得问题的求解 并行算法就是对并行计算过程的精确描述 并行算法的分类 非数值计算并行算法 数值计算并行算法,基于矩阵运算、多项式求解、线性方程组求解等代数关系运算的计算问题。 进程间通信 现代操作系统提供基本的系统调用函数,允许位于同一台处理机或不同处理机的多个进程之间相互交流信息,操作具体表现为三种形式:通信、同步和聚集。 以上的三种形式统称为进程间通信,操作的具体数据对象为消息,具体的操作为消息传递。 通信 进程间的数据传递称为进程间通信。 在同一台处理机中,通信可以读/写操作系统提供的共享数据缓存区来实现。 不同处理机中,通信可以通过网络来实现。 同步 同步是使位于相同或不同处理机中的多个进程之间的相互等待的操作,它要求进程的所有操作均必须等待到达某一控制状态之后才并行。 聚集 聚集将位于相同后不同处理机中的多个进程的局部结果综合起来,通过某种操作,例如最大值、最小值、累加和,产生一个新的结果,存储在某个指定的或者所有的进程变量中。 并行编程环境 MPI(Message Passing Interface) MPI已经成为一种标准, 它以与语言独立的形式来定义这个接口库, 这个定义不包含任何专用于某个特别的制造商、操作系统或硬件的特性. 由于这个原因, MPI在并行计算界被广泛地接受. MPI标准的实现包括MPICH、LAM、IBM MPL等多个版本,最常用和稳定的是MPICH。它提供了与C、Fortran语言的绑定。 我们可以将MPI看成一个“库” ,目前使用的消息传递库是MPICH 1.2,共有上百个接口,在FORTRAN 77和C语言中可以直接对这些函数进行调用。多个进程通过调用这些函数(类似调用子程序),进行通信; MPI并行编程模式 单程序多数据流模式(SPMD) 多程序多数据流模式(MPMD) 为了降低使用和维护并行应用软件的复杂度,一般采用SPMD模式 MPI程序的SPMD执行模式 一个程序同时启动多份, 形成多个独立的进程,在不同的处理机上运行,拥有独立的内存空间,进程间通信通过调用MPI函数来实现; SPMD模式:单程序多数据流 如何将串行程序改为并行 为理解创建一个并行程序中的步骤, 让我们首先定义三个重要的概念: 任务, 进程和处理器。 任务 任务是程序要完成的一个工作, 其内容和大小是随意的, 它是并行程序所能处理的并发性最小的单元; 即一个任务只能由一个处理器执行, 处理器之间的并发性只能在任务之间开发。 进程 进程 (我们也称为线程) 是一个完成任务的实体。一个并行程序由许多合作的进程构成, 每个完成程序中任务的一个子集。 通过某种分配机制, 任务被分配给进程 。 进程完成其任务的方式是通过在机器的物理处理器上执行 进程与处理器的区别 并行化的观

文档评论(0)

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

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

1亿VIP精品文档

相关文档