Parallel Processing ~ Performance Examples

advertisement
Parallel Processing ~ Performance Examples
Homework DUE Monday, February 29 – beginning of class
Late homework will not be accepted.
Keep a copy for reference because some of you will be going to the board to discuss the answers.
NOTATION:
Sp - Speedup using P processors
T1 - Time to complete using 1 processor
Tp – Time to complete using P processors
E – Efficiency
W – Work (total number of operations completed)
Sp = T1 / Tp
E = Sp / P = T1/(P * Tp)
Let us assume 1 passed message = Read & Write to shared memory.
M = messages or R/W
Consider the problem of processing the elements of an array of size N using P processors using an associative
binary operation.
Time Complexity sequential = O(N)
Time Complexity parallel = O(N/P + log P)
Example 1: Assume N = 1,000,000.
a) What is T1?
b) What is actual “time” for P = 2? P = 2000? P = 200,000?
c) What is Speedup for P = 2? P = 2000? P = 200,000?
d) What is Efficiency for P = 2? P = 2000? P = 200,000?
e) Discuss the values for Efficiency. What do they imply?
f) How many total CPU cycles are available for the problem when P = 16? How many are utilized & how
many are idle? Show the totals for EACH step.
g) How many idle cycles are there for P = 2? P = 2000? P = 200,000?
h) In terms of N and P, how many cycles are idle?
i) What is the optimal number of processors for this problem?
Download