并行计算机与并行计算内容摘要:

er/COW, 物理 /逻辑上多地址空间 SMP MPP MPP … WAN LM DSM SM (d) Grid (Cluster of Clusters) Center of Computational Chemistry 什么是并行计算,并行进程的表述 及并行模型的分类 Center of Computational Chemistry 什么是并行计算 进程 1 发送信息 进程 2 接收信息 传统的 串行计算 , 分为 “ 指令 ” 和 “ 数据 ” 两个部分,并在程序 执行时 “ 独立地申请和占有 ” 内 存空间,且所有计算均局限于 该内存空间。 并行计算 将 进程相对独立的 分配于不同的节点上,由 各自独立的操作系统调度, 享有独立的 CPU和内存资源 (内存可以共享);进程间 相互信息交换通过消息传递 ; 进程 1 进程 2 Center of Computational Chemistry 并行算法的表述 在并行算法的表述中,所有描述串行算法的语句及进程均可调用, 而只是为了表达并行性而引入几条所谓的并行语句 当几个算法步要并行执行时, 我们可以写作 Do step i to j in parallel step i step i+1 … step j 或者是: 当几个处理器同时执行相同的操作时,我们可以写作 for all i parallel do . . . end for Center of Computational Chemistry 例如 n=2**k个数的求和 输入: n=2**k个数存入数组 A中 输出: S=sigma(A(i)) begin (1) for i=1 to 4 parallel do B(i)A(i) end for (2) for h=1 to logn=2 do for i=1 to n/2**h=1 parallel do B(i)B(2i1) + B(2i) end for end for (3) SB(i) end 把每一个 A(i)赋给 B(i) n=4,k=2,就是 4个数的加和 h= 1 to 2 h=1 I=1 to 2 (4/2**1) B(1)B(1)+B(2) B(2)B(3)+B(4) h=2 I=1 to 1 (4/2**2) B(1)B(1)+B(2) SB(1) 若有 2**2=4个处理器,则在 1(h)级可能的并行 运算数目为 4/2**1= 处理器 Center of Computational Chemistry 硬件结构抽象模型 (自然模型 ) 共享存储 的模型和语言 (适于 PVP, SMP, DSM) X3H5, Pthread OpenMP 消息传递 的模型和语言 (适于 MPP, Cluster, COW) MPI (Fortran, C, Gamess, Vasp) PVM (Fortran, C) 数据并行 的模型和语言 (适于在 MPP/Cluster上实现 SPMD应用 ) Fortran 90 HPF(High Performance Fortran) 并行模型的分类 Center of Computational Chemistry 基于程序构造的模型 CSP Linda ( Fortran, C, Gaussian) Global (Molpro, Columbus) 基于问题描述的模型 GAMMA UNITY 基于并行计算理论的模型 PRAM BSP LogP Center of Computational Chemistry Yale 大学 Nicholas Carriero 和 David Gelernter 于 1986年基于分散数据结构和共享存储系统的并行计算模型 . Linda模型定义了一个功能强大的逻辑存储器 (TS)和在其上的一组核心操作 (in, out, read, eval), 它们能够方便地嵌入到不同的语言 (如 , C, Fortran)中而构成相应的并行语言 (CLinda和 FortranLinda等 ) 该模型同时还支持动态程序设计和两种不同的编程风格 (Master/Slaver和 DivideandConquer),为用户开发不同类型 的应用程序提供了灵活的手段。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。