MPI和PVM关键特性比较.docVIP

  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文档。上传文档
查看更多
MPI和PVM关键特性比较

MPI和PVM关键特性比较鸿贤 摘要 在科学计算和其他要求苛刻计算能力的领域,大规模并行处理机(MPP)和其他分布式机群系统发挥了至关重要的作用。由于机群结构过于庞大,消息传递机制成为并行系统处理器通信的唯一选择。Message Passing Interface(MPI)和Parallel Virtual Machine(PVM)两种API为这一机制提供了支持。本文从异构性支持,通信上下文,搜集创建进程所需资源信息的方式与容错技术四个方面对这两种解决方案做了初步比较,指出MPI比较是开发对动态性和容错能力要求不高的普通系统的高效工具。虽然MPI有成为消息传递模型的事实标准的趋势,但目前而言,对于对动态性和容错性要求很高的系统,PVM仍然是最理想的选择。 关键词 MPI PVM 异构性 上下文 资源信息 容错能力 简介 PVM是由美国Oak Ridge National Laboratory ,University of Tennessee 和 Emory University 合作开发的。它的核心是虚拟机概念。即从用户角度,由网络连接的一系列异构主机表现为一个统一的并行机。相对于性能方面的考虑,PVM的设计更加注重可移植性。这主要出于两个原因: 相对于节点处理机和局部存储的连接速度,网络的速度非常之慢,这本身就极大限制了系统可能达到的性能。 PVM自始至终都在注重于节点的异构性,容错性,可扩展性。为在这些方面有满意的表现,不得不在性能上有所牺牲。 然而,MPI标准是MPI论坛的产物。该论坛的参与者是一些高性能计算的专家,包括具体实现者,终端用户等。MPI标准的目的是要统一各厂商的消息传递接口,使得并行程序能够在不同厂商的系统之间不需更改地移植。MPI的设计目标之一就是高性能,但是据一些研究表明,MPI的性能并没有比PVM有较大的提高。MPI的主要特点有: 提供了丰富的点对点通信函数集。这极大减轻了程序员的负担。 对PU组间的通信,提供了大量的聚集函数的支持。 引入通信上下文及通信器(Communicator)的概念,使得并行编程更加安全。 可以设定通信网拓扑结构。 提供派生数据类型和处理物理不连续数据的能力 考虑到科学计算领域的实际需要,我们从异构性(heterogeneity)支持,通信上下文(Context),进程创建所需资源信息(Dynamic Resource Information)以及容错能力(Fault Tolerance)四个角度对两者进行比较。 异构性支持 由于单一类型的节点机组成的集群有时候不适应问题的需要,为达到更高性能,必须依赖异构机器组成的系统。典型的,如著名的伯克利分布式计算平台(Berkeley Open Infrastructure for Network Computing),就是由成千上万从大型机到桌面机器组成的功能超强的计算网络。 PVM的实现具体考虑了节点间的异构性,即PVM可以在不同结构节点组成的并行系统上流畅运行。比如一些节点是IBM的机器,另外一些是NEC的机器,他们体系结构约定不同(比如机器字长或大小端约定不同),PVM仍然可以通过给pvm_send/recv提供数据类型参数和pvm_pack/unpack函数参数来达到通信目的。 长久以来人们对MPI异构性支持能力的认识不够准确。很多人认为,MPI编写的程序只是在同种规格节点的集群上可以无缝移植。比如,在IBM并行系统上运行的MPI程序在NEC的系统上可以顺利运行。但是,这个程序在IBM和NEC节点的混合系统上无法执行。这一观念其实是错误的。MPI论坛给定的MPI设计目标之一就是鼓励实现异构系统。然而部分硬件制造商为了自己的商业利益考虑,其MPI实现只支持自己的产品。人们在使用他们的产品时,就形成了上述错误观念。其实MPI的很多实现,包括MPICH和LAM,是完全支持PVM式的异构系统的。 通信上下文 MPI最重要的贡献在于引入了通信器的概念。通信器可以被看作是context对一组进程的绑定。Context划分通信空间,使得一个context间发送的信息不可能被另一个context的进程所获得。这使进程间点对点通信和进程组间通信更加安全。考虑下面的情形: 两个完全相同的进程都在使用同一个库函数进行消息传递。用户代码和库选择用来标记消息的标签也是完全一样的。如果没有Context,那么信息接收的时序就是错的。这要求操作系统提供除了senderID, message tag之外的第三个标签,用来区分库函数消息和用户消息。 受MPI-1的启发,PVM3.4中也添加了上下文概念。这里有两个问题:第三个标签该如何产生?如何分发到各个处理单元? PVM和MPI采取了不尽相同的策略。 本质上MPI的交互

文档评论(0)

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

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

1亿VIP精品文档

相关文档