PVM and MPI 比较

PVM和MPI都提供基于消息传递的并行编程模型,它们本质是一样的。
MPI和PVM其实都都支持所谓的异构计算,无非就是消息传递过程中的数据格式统一问题。他们的差别我认为主要在于:
(1)MPI提供了远比PVM丰富的通信函数,尤其是MPI的群集通信函数要比PVM强很多,而且通信效率也要比PVM高。PVM的最大优点则是它的动态性,比如PVM虚拟机的动态配置,PVM任务的动态创建,以及PVM组的动态增加和离开成员。不过MPI在其最新版本中加入了动态创建进程的功能。
(2)MPI提供了对C,C++,Fortan77以及Fortran90等多种编程语言的支持,这也是MPI相对于PVM的一种优势。特别是现在越来越多的科学工程计算希望使用Fortran 90语言。
(3)对于IO密集的应用来说,MPI-2提供了对并行IO的支持,而PVM则没有这个功能。
(4)MPI是一种消息传递标准,而PVM不是,因此PVM可获得的实现版本比较少,而MPI则有很多,包括MPICH, LAM等等。而且MPI的版本更新很快。
(5)随着网格的技术发展,MPI已经提出了对网格的支持,这就是MPICH-G,而PVM则没有这个功能。从网格目前如此风红的局面看来,以后会有更多的人使用MPI,而不是PVM。从网格的角度看,其实MPI比PVM更能有效的支持异构计算,因为网格是一个典型的异构环境。

猜你喜欢

转载自litongbupt.iteye.com/blog/1207690
mpi