资源描述:
《基于消息传递的并行计算(MPI)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、并行计算ParallelComputing基于消息传递的并行计算消息传递库消息传递软件中最流行的是MPI和PVM,它们能运行在所有的并行平台上,包括SMP和PVP.二者已经在Windows和各种Unix平台上实现.程序设计语言支持C,Fortran.在国产的三大并行机系列神威、银河和曙光上都实现了对MPI和PVM和支持.消息传递库—PVM开发时间:始于1989年开发单位:美国Tennessee大学、OakRidge国家实验室和Emory大学联合研制特点:具有较好的适应性、可扩展性、可移植性和易使
2、用性等特点,源代码可以免费获取,现已被用户广泛采纳.现状:目前对它的研究和开发工作仍在各大学和研究机构进行.尽管已经有越来越多的人开始使用MPI,但PVM仍然是做并行处理最流行的软件之一.随着它的不断流行,已经被移植到PVP,SMP,MPP,工作站和PC组成的机群系统.消息传递库—MPI目标:提供一个实际可用的、可移植的、高效的和灵活的消息传递接口标准.MPI以语言独立的形式来定义这个接口库,并提供了与C、Fortran语言的绑定.这个定义不包含任何专用于某个特别的制造商、操作系统或硬件的特性.
3、MPI在并行计算界被广泛地接受.消息传递库—MPIMPI的实现建立在厂家专用的环境之上IBMSP2的POE/MPL,IntelParagon的OSF/Nx公共的MPI环境:CHIMPEdinburg大学LAM(LocalAreaMulticomputer)Ohio超级计算中心MPICHArgonne国家实验室与Mississippi州立大学MPICH是MPI在各种机器上的可移植实现,可以安装在几乎所有的平台上:PC工作站SMPMPPCOW消息传递模式关于通信模式,用户需要理解的有三个方面:共有多
4、少个进程?进程间如何同步?如何管理通信缓冲区?现在的消息传递系统多使用三种通信模式:同步的消息传递(SynchronousMessagePassing)阻塞的消息传递(BlockingMessagePassing)非阻塞的消息传递(NonblockingMessagePassing)SynchronousMessagePassingBlockingandNonblockingMessagePassingBlockingIthasbeenusedtodescriberoutinesthatdono
5、treturnuntilthetransferiscompleted.Theroutinesare“blocked”fromcontinuing.Inthatsense,thetermssynchronousandblockingweresynonymous.Non-blockingIthasbeenusedtodescriberoutinesthatreturnwhetherornotthemessagehadbeenreceived.Send&ReceivebufferProcessP:M=
6、10;L1:sendMtoQ;L2:M=20;gotoL1;ProcessQ:L1:S=-100;L2:receiveSfromP;X=S+1;Send&ReceivebufferM:sendmessagebuffer,orsendbufferS:receivemessagebuffer,orreceivebufferBlockingBufferedSend/ReceiveForsendroutine,oncethelocalactionshavebeencompletedandthemessa
7、geissafelyonitsway,theprocesscancontinuewithsubsequentwork.Bufferscanonlybeoffinitelengthandapointcouldbereachedwhenthesendroutineisheldupbecausealltheavailablebufferspacehasbeenexhausted.Generally,amessagebufferneededbetweensourceanddestinationtohol
8、dmessage.Non-BlockingMessagePassingItreturnsfromthesendorreceiveoperationbeforeitissemanticllysafe.Theyaregenerallyaccompaniedbyacheck-statusoperation.Onemustbecarefulusingnon-blockingprotocolssinceerrorscanresultfromunsafeaccesstodatathatbeingcommun