WHILE THIS PROJECT IS SIMPLE, IT'S ALSO TOP URGENT AND DUE TODAY 19:00GMT
1. To create a C application.
2. To implement a parallel algorithm.
3. To practice the usage of a parallel library.
We consider the collection of information from different processes such that each process gets all available information. We consider p processes and assume that each process has computed the same number of floating- point values. These values should be communicated such that each process gets the values of all other processes. The following diagram depicts the operations:
I attached an illustration for the collection of data in a logical ring structure for p= 4 processes.
In Part 1, we assumed that all data blocks have the same size BlockSize, generalize the program such that each process can contribute a data block of a size different from the data blocks of the other processes. To do so assume that each process have a local variable which specifies the size of its data block.
1. A C++ program with the required functionalities. The program must be well documented.
2. You are free to use either of PVM or MPI for parallelism.
3. A Word/PDF report that describes the basic ideas of the program as well as the results of comparison and your own conclusion.