Difference between Parallel Virtual Machine (PVM) and Message Passing Interface (MPI)

1. Parallel Virtual Machine (PVM) :
PVM is a type of software tool which is designed for heterogeneous distributed computing. This software was created at the Oak Ridge National Laboratory in 1989 and it was rewritten in 1991 at the university of Tennessee. In this system, it allows a heterogeneous network which can be made from a collection of distributed processors which is viewed as a single parallel virtual machine. It permits a collection of heterogeneous UNIX and/or Windows machines which can be used a single large parallel computer. It uses simple languages like C/C++, FORTRAN to implement parallel computing.

2. Message Passing Interface (MPI) :
MPI is a type of message passing library standard. It is library not a programming language and this library is used by the compilers. It is the method which is commonly used for programming distributed memory systems. It is used to define routines. It is useful on distributed memory machines. It supports programming languages like C, C++, FORTRAN and JAVA. It supports the communication modes i.e., standards, synchronous, buffered and ready.


Difference between Parallel Virtual Machine (PVM) and Message Passing Interface (MPI) :

Sr. No. Basis PVM MPI
1. Standard It is the standard used for heterogeneous distributed computing. It is the standard used for the message passing.
2. Concept It is the concept of virtual machine. It does not have such kind of abstraction.
3. Heterogeneity It supports heterogeneity in the terms of machines, networks, and applications. It supports heterogeneity in the terms of communication of heterogeneous messages.
4. Operating system It is distributed operating system. It is not a distributed operating system, it is the library for writing application program.
5. Message support It supports simple message. It supports rich message.
6. Topology In this no topology is used. It supports logical communication topology.
7. Portability It is portable over performance. It is portable over flexibility.
8. Category It is a programming language. it is the library which is used by compilers.
9. Control It holds it’s control over process and resources. It is only concerned about the message passing.
10. Fault Tolerance It has a strong fault tolerance. It is more susceptible to faults.
11. Nature It is dynamically reconfigurable. It is a static model.


Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :