中国料学火计算机科学与波术系 niversity of Science and Technology of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 第十四章分布存储系统并行编程 国家高性能计算中心(合肥
国家高性能计算中心(合肥) 第十四章 分布存储系统并行编程
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 分布存储系统并行編程 14.1基于消息传递的编程 142MPI并行编程 143PVM并行编程 144基于数据并行的并行编程 145HPF并行编程 国家高性能计算中心(合肥
国家高性能计算中心(合肥) 分布存储系统并行编程 ▪ 14.1 基于消息传递的编程 ▪ 14.2 MPI并行编程 ▪ 14.3 PVM并行编程 ▪ 14.4 基于数据并行的并行编程 ▪ 14.5 HPF并行编程
中国料学火计算机科学与波术系 niversity of Science and Technology of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 基于消息传递的并行编程 1消息传递库 2消息传递方式 国家高性能计算中心(合肥
国家高性能计算中心(合肥) 基于消息传递的并行编程 1 消息传递库 2 消息传递方式
中国料学火计算机科学与波术系 diversity of and Technology of China DEPART三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 1消息传递库( Message-Passing libraries) 表1.1一些最流行的消息传递软件的例子 Name Original Creator Distinct Features CMMD Thinking Machines I Use Active Messages for low latency Express Parasoft Collective communication and l/o Fortran-M Argonne National Lab Modularity and Determinacy MPI MPI Forum A widely adopted standard NX Originated from the Intel hypercube MPPs P4 Argonne National Lab Integrate shared memory and message passing PARMACS ANL/GMD Mainly used in Europe PVM Oak Ridge National Lab A widely used, stand-alone system UNIFY Mississippi State A system allowing both MPI and PVM calls Zipcode Livemore National lab Contributed to the context concept 建议:一个终端用户在开发新的消息传递应用时使用MP|或PVM原因是 MP和PⅧM都是公用软件,易于得到 多数厂家支持 国家高性能计算中心(合肥
国家高性能计算中心(合肥) 1 消息传递库(Message-Passing Libraries) 表 1.1 一些最流行的消息传递软件的例子 Name Original Creator Distinct Features CMMD Thinking Machines Use Active Messages for low latency Express Parasoft Collective communication and I/O Fortran-M Argonne National Lab Modularity and Determinacy MPI MPI Forum A widely adopted standard NX Intel Originated from the Intel hypercube MPPs P4 Argonne National Lab Integrate shared memory and message passing PARMACS ANL/GMD Mainly used in Europe PVM Oak Ridge National Lab A widely used, stand-alone system UNIFY Mississippi State A system allowing both MPI and PVM calls Zipcode Livemore National Lab Contributed to the context concept 建议: 一个终端用户在开发新的消息传递应用时使用MPI或PVM. 原因是: • MPI和PVM都是公用软件, 易于得到 • 多数厂家支持
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEPART三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 1消息传递库 Message-Passing libraries >CMMD:是一个用于 Thinking Machines CM5系统的消息传递库,其特点 是基于主动消息( Active Message机制在用户空间实现通信以减少通信延迟 Xpress:是一个支持点到点和群集通信以及并行ⅣO的程序设计环境 Nx:是为 Intel MPP(例如, Hypercubes和 Paragon)开发的微核系统现在已 由用于 Intel/Sandia ASCI TFLOPs系统中的新的微核系统PUMA代替. ≯ Fortran-M是对 Fortran7的扩展,它在设计上既支持共享存储也支持消息 传递但当前只实现了对消息传递的支持该语言提供了许多机制用于支持 开发行为确定、模块化的并行程序 >P4( Parallel Programs for Parallel Processors):是一组宏和子程序用于支持 共享存储和消息传递系统中的程序设计,它可以移植到许多体系结构上 >其它的消息传递软件系统还有 Vertex, PARMACS, Zipcode,UNY和PICL 等 国家高性能计算中心(合肥
国家高性能计算中心(合肥) ➢CMMD: 是一个用于Thinking Machines CM-5系统的消息传递库, 其特点 是基于主动消息(Active Message)机制在用户空间实现通信以减少通信延迟; ➢Express: 是一个支持点到点和群集通信以及并行I/O的程序设计环境; ➢Nx: 是为Intel MPP(例如, Hypercubes和 Paragon)开发的微核系统. 现在已 由用于Intel/Sandia ASCI TFLOPS 系统中的新的微核系统PUMA代替. ➢Fortran-M:是对Fortran77的扩展, 它在设计上既支持共享存储也支持消息 传递, 但当前只实现了对消息传递的支持. 该语言提供了许多机制用于支持 开发行为确定、模块化的并行程序. ➢P4(Parallel Programs for Parallel Processors) : 是一组宏和子程序, 用于支持 共享存储和消息传递系统中的程序设计, 它可以移植到许多体系结构上. ➢其它的消息传递软件系统还有Vertex, PARMACS, Zipcode, UNIFY和PICL 等. 1 消息传递库(Message-Passing Libraries)
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEPART三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 1消息传递库 Message-Passing libraries 在当前所有的消息传递软件中,最重要最流行的是MP|和 PWM,它们能运行在所有的并行平台上,包括SMP和PVP 二者已经在 Windows nt和 Windows95这样的非Unx平 台上实现.程序设计语言支持C, Fortran和Java 在国产的三大并行机系列神威、银河和曙光上都实现了 对MP|和PVM和支持 国家高性能计算中心(合肥
国家高性能计算中心(合肥) 在当前所有的消息传递软件中, 最重要最流行的是MPI和 PVM, 它们能运行在所有的并行平台上, 包括SMP和PVP. 二者已经在Windows NT 和Windows 95这样的非Unix平 台上实现. 程序设计语言支持C, Fortran和Java. 在国产的三大并行机系列神威、银河和曙光上都实现了 对MPI和PVM和支持. 1 消息传递库(Message-Passing Libraries)
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEPART三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 1消息传递库 Message-Passing libraries 1.1MPI( Message Passing Interface)简介 1992年4月组建了一个制定消息传递接口标准的工作组 1992年10月初稿形成,主要定义了点对点通信接口 1993年1月第一届MPI会议在Da举行 1993年2月公布了MPI-1修定版本 1993年11月MP的草稿和概述发表在 Supercomputing93的会议论文集中 1994年5月MP标准正式发布 1994年7月发布了MPI标准的勘误表 1997年 MPI论坛发布了一个修订的标准,叫做MPI-2,同时,原来的MPI更名为MPI- 目标:是提供一个实际可用的、可移植的、高效的和灵活的 消息传递接口标准.MP以语言独立的形式来定义这个接口库, 并提供了与C、 Fortran和Java语言的绑定.这个定义不包含 任何专用于某个特别的制造商、操作系统或硬件的特性.由 于这个原因,MP|在并行计算界被广泛地接受 国家高性能计算中心(合肥
国家高性能计算中心(合肥) 1.1 MPI(Message Passing Interface) 简介 1 消息传递库(Message-Passing Libraries) 1992年4月 组建了一个制定消息传递接口标准的工作组 1992年10月 初稿形成,主要定义了点对点通信接口 1993年1月 第一届MPI会议在Dallas举行 1993年2月 公布了MPI-1修定版本 1993年11月 MPI的草稿和概述发表在Supercomputing‘93的会议论文集中 1994年5月 MPI标准正式发布 1994年7月 发布了MPI标准的勘误表 1997年 MPI论坛发布了一个修订的标准, 叫做MPI-2, 同时, 原来的MPI更名为MPI-1 目标: 是提供一个实际可用的、可移植的、高效的和灵活的 消息传递接口标准. MPI以语言独立的形式来定义这个接口库, 并提供了与C、Fortran和Java语言的绑定. 这个定义不包含 任何专用于某个特别的制造商、操作系统或硬件的特性. 由 于这个原因, MPI在并行计算界被广泛地接受
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEPART三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 1消息传递库( Message-Passing libraries) MPI的实现 建立在厂家专用的环境之上 IBM SP2的 POE/MPL Intel Paragon的 OSF/NX 公共的MP环境: CHIMP Edinburg大学 LAN(Local Area Multicomputer)Ohio超级计算中心 MPICH Argonne国家实验室与 Mississippi州立大学 MPICH是MP在各种机器上的可移植实现可以安装在几乎所有的平台上: PC √工作站 SMP V MPP COW
国家高性能计算中心(合肥) MPI的实现 ➢ 建立在厂家专用的环境之上 IBM SP2的POE/MPL, Intel Paragon的OSF/Nx ➢ 公共的MPI环境: CHIMP Edinburg 大学 LAN(Local Area Multicomputer) Ohio超级计算中心 MPICH Argonne国家实验室与Mississippi州立大学 MPICH是MPI在各种机器上的可移植实现,可以安装在几乎所有的平台上: ✓ PC ✓ 工作站 ✓ SMP ✓ MPP ✓ COW 1 消息传递库(Message-Passing Libraries)
中国料学火计算机科学与波术系 niversity of Science and Technology of China DEPART三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 1消息传递库( Message-Passing libraries) 12PM( Parallel virtual machine)简介 开发时间:始于1989年 开发单位:美国 Tennessee*学、 Oak ridge国家实验室和 Emory大学联合研制 特点:具有较好的适应性、可扩展性、可移植性和易使用性等 特点,源代码可以免费获取,现已被用户广泛采纳 现状:目前对它的研究和开发工作仍在各大学和研究机构进行 尽管已经有越来越多的人开始使用MP,但PVM仍然是做并行 处理最流行的软件之一.随着它的不断流行,已经被移植到 PⅤP,SMP,MPP,工作站和PC组成的机群系统 国家高性能计算中心(合肥
国家高性能计算中心(合肥) 1.2 PVM(Parallel Virtual Machine) 简介 开发时间:始于1989年 开发单位:美国Tennessee大学、Oak Ridge国家实验室和 Emory大学联合研制 特点: 具有较好的适应性、可扩展性、可移植性和易使用性等 特点, 源代码可以免费获取, 现已被用户广泛采纳. 现状: 目前对它的研究和开发工作仍在各大学和研究机构进行. 尽管已经有越来越多的人开始使用MPI, 但PVM仍然是做并行 处理最流行的软件之一. 随着它的不断流行, 已经被移植到 PVP, SMP, MPP, 工作站和PC组成的机群系统. 1 消息传递库(Message-Passing Libraries)
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEPART三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 1消息传递库 Message-Passing libraries PVM和MP|间的主要差别: (1)PM是一个自包含的系统,而MPI不是.MP|依赖于支持 它的平台提供对进程的管理和/0功能.而PM本身就包含 这些功能 (2)MPl对消息传递提供了更强大的支持 (3)PWM不是一个标准,这就意味着PWM可以更方便、更频 繁地进行版本更新 MP和PM在功能上现在正趋于相互包含.例如,MPI-2增 加了进程管理功能,而现在的PⅧM也提供了更多的群集通 信函数.与MP|不同的是, 国家高性能计算中心(合肥
国家高性能计算中心(合肥) PVM和MPI间的主要差别: (1)PVM是一个自包含的系统, 而MPI不是. MPI依赖于支持 它的平台提供对进程的管理和I/O功能. 而PVM本身就包含 这些功能. (2) MPI对消息传递提供了更强大的支持. (3) PVM不是一个标准, 这就意味着PVM可以更方便、更频 繁地进行版本更新. MPI和PVM在功能上现在正趋于相互包含. 例如, MPI-2增 加了进程管理功能, 而现在的PVM也提供了更多的群集通 信函数. 与MPI不同的是, 1 消息传递库(Message-Passing Libraries)