Question: Suppose a program must execute 10 12 instructions in order to solve a problem. Suppose a single processor can execute 10 6 instructions per second.

Suppose a program must execute 1012 instructions in order to solve a problem. Suppose a single processor can execute 106 instructions per second.

How many days will it take the single processor to solve the problem?

Now suppose we modify the program to run on a distributed-memory system with p = 1000 processors in such a way that each processor will execute 1012/p instructions and send 109 (p 1) messages.

How long will it take to solve the problem if messages take 109 s to send?

How about if messages take 103 s to send?

Assume the program completes as soon as it has executed its instructions and sent its messages and that any other overhead is negligible.

How does the result change if we now assume a single processor can execute 109 operations per second?

What does this tell you about the tradeoff between computation and communication costs?

Give three examples of what might be considered as overhead.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock 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 Databases Questions!