Programming based on message passing, Computer Networking

Assignment Help:

Programming Based on Message Passing

As we know, the programming model based on message passing uses high level programming languages like C/C++ along with a number of message passing libraries like PVM and MPI. Here, given an example program of message passing.

Example 1: Addition of array elements using two processors.

In this problem, we have to search the sum of all the elements of an array A of size n. We shall separate n elements into two groups of roughly equal size. The first [n/2] elements are added by the first processor, P0, and last [n/2] elements the by second processor, P1. The two sums then are added to get the final result. The program is given below:

Program for P0

#include

#define n 100

int main(int argc, char **argv) {

int A[n];

int sum0 =0, sum1=0,sum; MPI_Init(&argc, &argv);

for( int i=0;i

scanf("%d", &A[i]);

MPI_Send( &n/2, n/2, MPI_INT,1, 0, MPI_COMM_WORLD);

for(i=1; i

sum0+=A[i];

sum1=MPI_Recv(&n/2, n/2, MPI_INT,1, 0, MPI_COMM_WORLD);

sum=sum0+sum1; printf("%d",sum); MPI_Finalize();

}

Program for P1,

int func( int B[int n])

{

MPI_Recv(&n/2, n/2, MPI_INT,0, 0, MPI_COMM_WORLD);

int sum1=0 ;

for (i=0; i

sum1+=B[i];

MPI_Send( 0, n/2, MPI_INT,0, 0, MPI_COMM_WORLD);

}


Related Discussions:- Programming based on message passing

What is redirector in networking, What is redirector in Networking? Red...

What is redirector in Networking? Redirector is software that intercepts file or prints I/O requests and changes them into network requests. This comes under presentation layer

Binary addition, using binary adition, what is the result of 1010 + 10? Usi...

using binary adition, what is the result of 1010 + 10? Using binary addition, how would you repeatedly increment a number by 2?

What is oltp, What is OLTP? In the transaction server, the client compo...

What is OLTP? In the transaction server, the client component usually contains GUI and the server components usually having of SQL transactions against a database. These applic

Types of parallel programming, TYPES OF PARALLEL PROGRAMMING There are ...

TYPES OF PARALLEL PROGRAMMING There are several parallel programming models in common use. Some of these are: Message Passing; Data Parallel programming; Shared

Factor causing parallel overheads, Factor Causing Parallel Overheads F...

Factor Causing Parallel Overheads Figure clearly explains that the performance metrics are not able to achieve a linear curve in comparison to the enhance in number of process

Bens network, Bens Network  Ben's network is a non-blocking network. ...

Bens Network  Ben's network is a non-blocking network.  It is a different  type of Clos network where initial and final stage consists of  2×2 switches (for n input  and m ou

Telecommunication switching system, if the signal input to an amplifier is ...

if the signal input to an amplifier is 0 dBm what is the power output in mW if the gain of the amplifier is 20 dB ?

Network analyzers, NETWORK ANALYZERS: A network analyzer also known ne...

NETWORK ANALYZERS: A network analyzer also known network monitor or a network sniffer is used to calculate the performance of or debug a network. It may report statistics s

Network Topology, What are the different types of network topologies

What are the different types of network topologies

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd