Question: Consider a program for multiplying two large-scale N N matrices, where N is the matrix size. The sequential multiply time on a single server

Consider a program for multiplying two large-scale N × N matrices, where N is the matrix size. The sequential multiply time on a single server is T1 = cN3 minutes, where c is a constant determined by the server used. An MPI-code parallel program requires Tn = cN3/n + dN2/n0 . 5 minutes to complete execution on an n-server cluster system, where d is a constant determined by the MPI version used. Assume the program has a zero sequential bottleneck (? = 0). The second term in Tn accounts for the total message-passing overhead experienced by n servers. Answer the following questions for a given cluster configuration with n = 64 servers, c = 0.8, and d = 0.1. Parts (a, b) have a fixed workload corresponding to the matrix size N = 15,000. Parts (c, d) have a scaled workload associated with an enlarged matrix size N? = n1/3 N = 641/3 × 15,000 = 4 × 15,000 = 60,000. Assume the same cluster configuration to process both workloads. Thus, the system parameters n, c, and d stay unchanged. Running the scaled workload, the overhead also increases with the enlarged matrix size N?.

Step by Step Solution

3.37 Rating (156 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

include using namespace std int main int n scanfdn int ann int bnn for int i0i for int j0jsca... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!