Message Passing Model (MPM):
In a message-passing model, parallel processes exchange data through
passing messages to one another. These communications can be
asynchronous, where a message can be sent before the receiver is ready,
or synchronous, where the receiver must be ready.
Message passing model allows multiple processes to read and write data
to the message queue without being connected to each other.
Messages are stored on the queue until their recipient retrieves them.
Messages queues are quite useful for inter-process communication and
are used by most operating systems.
Massage Passing interface (MPI)
MPI is specification design for parallel applications.
The goal of MPI is to provide widely used standard for writing message
passing programs.
The interface attempt to be:
Practical
Portable
Efficient
Flexible
Message passing library specification is:
Message passing model
Not a compiler specification
Not a specific product
Reasons for Using MPI
The main reasons of using MPI are:
Standardization
Portability
Performance opportunities
Functionality
Availability
Parallel Virtual Machine (PVM)
It is an S/W package that allows heterogeneous collection of
workstations to functions as a single high performance parallel machine
(virtual). This software was created at the Oak Ridge National
Laboratory in 1989 and it was rewritten in 1991 at the University of
Tennessee.
PVM Programming Model:
PVM application consist of collection of cooperating tasks
Each of which is responsible for some workload of bid problem
PVM is inherently dynamic in nature, and it has rich set of resources
control functions.
Host can be added or deleted
It was simple language like C/C++, FORTRAN to implement parallel computing.
Main features of PVM includes
Load balance
Task migration
Fault tolerance
Efficiency
Difference B/W PVM & MPI
PVM MPI
It is Standard used for It is the Standard used for the
heterogeneous distributed message passing.
computing. It supports heterogeneous in the term
It supports heterogeneous in the of communication of heterogeneous
term of machines, network and messages.
applications. It is library for writing application
It is distributed operating program.
system. It support ridge message.
It support simple message. It supports logical communication
In this no topology is used. topology.
It is portable over performance. It is portable over flexibility.
It is dynamically reconfigurable It is a static mode.