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更能有效的支持异构计算,因为网格是一个典型的异构环境。
分享到:
相关推荐
- **编程模型**:PVM基于消息传递接口(Message Passing Interface, MPI)标准开发,提供了一套类似于C语言的API供开发者调用。这使得程序员可以通过简单的函数调用来发送和接收消息,从而实现进程间通信。 - **...
#### 六、PVM 与 MPI 的比较 - **PVM** 出现的时间比 MPI 早,且是一个自包含系统,而 MPI 不是自包含的。 - **MPI** (Message Passing Interface) 是一个标准接口,用于编写高性能并行应用程序。 - **PVM 和 MPI**...
1. **消息传递接口(MPI)**:PVM采用了类似于MPI的消息传递机制,使得用户能够轻松地在不同机器之间发送消息。 2. **异构性支持**:PVM能够在不同类型的硬件和操作系统上运行,这种灵活性使得用户能够在现有资源基础...
例如,Linux 内核支持多线程和并行计算,通过PVM、MPI、OpenMP等技术实现进程间通信和并行运算。此外,编译器和工具链(如gcc、binutils、gdb等)需要针对多核进行优化,以生成能够充分利用多核优势的代码。 在多核...
LAM(Lightweight Authentication and Messaging)/MPI(Message Passing Interface)是一种广泛使用的并行计算软件,尤其适合在Linux环境中构建机群。LAM提供了高效的进程管理和通信机制,使得分布在不同节点上的...
- **并行处理框架**:如PVM、MPI、OpenMP等,用于实现多核间的协同工作和分布式计算。 - **中间件**:可能包含编程环境、编译器工具链(如gcc、binutils、gdb)以及用于网络服务的中间件,以支持复杂的服务功能和...
4. **高性能计算框架**:包括High Performance Fortran(HPF)、PVM(Parallel Virtual Machine)、MPI(Message Passing Interface)等。 5. **并行编程语言和技术**:涉及C++、PLAPACK、ZPL等多种编程语言和技术。...
6. **并行计算中的同步和通信**:锁、信号量、条件变量等同步机制,以及MPI(消息传递接口)和PVM(并行虚拟机)等并行编程模型的通信方式。 通过对这些高级课题和并行算法的学习,读者可以增强解决复杂计算问题的...