[Solved] CS633 Assignment 2 a program to send and receive D units of data between all pairs of nodes in the set S

$25

File Name: CS633_Assignment_2__a_program_to_send_and_receive_D_units_of_data_between_all_pairs_of_nodes_in_the_set_S.zip
File Size: 989.1 KB

SKU: [Solved] CS633 Assignment 2 – a program to send and receive D units of data between all pairs of nodes in the set S Category: Tag:
5/5 - (1 vote)

Write a program to send and receive D units of data between all pairs of nodes in the set S. S is a set of any 30 nodes from set S, see below what nodes are in S, this is based on your username. Use ppn=1. You must try to implement the data transfers in a way such that there can be multiple concurrent transfers between pairs of nodes. The objective is to time the communications for 3 data sizes, D = {64 KB, 512 KB, 2 MB} and measure the effective bandwidth observed between each pair of nodes. Note that you must not time all the pairwise communications at one go, but you have to time each individual communication. Repeat the runs at least 10 times (preferably at different times and/or different days, its completely up to you). You may use a different set of 30 nodes during each run, i.e. your S need not be fixed but S S. Plot the effective bandwidth (median) for each pair of nodes for each data size (3 plots) as a heatmap. An example plot script (plot.py) is uploaded, modify it as required or you can use your own script as well. Your plot should be named plot-D.jpg or plot-D.png.

Pseudocode:

Repeat >=10 times

For d in D {

For all pairs of nodes (a,b) in S

send and recv d bytes between (a,b)

}

2.2 Write a program to implement broadcast as a combination of MPI_Scatter and MPI_Allgather (ring). You may use MPI_Scatter, however you must implement Allgather (ring). You are free to use blocking / non-blocking P2P or any other optimizations for implementing Allgather (ring). Compare performance between your broadcast (New_Bcast) and the default MPI_Bcast. Initialize the data at root process (0) with random floats, do not time this data initialization part. Plot (box plot) the execution times for both MPI_Bcast and New_Bcast in the same plot for D={64 KB, 256 KB, 512 KB, 2 MB, 4 MB}. MBps (y-axis) and MB (x-axis). Run this on 3 different process sizes P = {8, 16, 32} and 3 different ppn, ppn={2, 4, 8}. Repeat each run for 10 times. You must have 3 plot files per process size, P. Each plot file will contain 6 graphs (3 ppn for 2 algos). Name your plot files plot-P.png/jpg. Use nodes from your set S. Describe your code (New_Bcast) along with other observations in the readme.

Psuedocode

Start Time

MPI_Bcast ()

End Time

Reduce get the max time

Barrier()

Start Time

New_Bcast()

End Time

Reduce get the max time

General execution instructions

Suggestion: Its preferable to have a script which generates machinefile/hostfile on-the-fly based on the node status so that your jobs never fail. If at any point, you are unable to get the requisite number of nodes for 2 consecutive days, you must inform me and the TAs.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] CS633 Assignment 2  a program to send and receive D units of data between all pairs of nodes in the set S[Solved] CS633 Assignment 2 a program to send and receive D units of data between all pairs of nodes in the set S
$25