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?