Question: 9. Assume we have the following task graph. A task can be thought of as function procedure. Every task is labeled with its run time

9. Assume we have the following task graph. A task can be thought of as function procedure. Every task is labeled with its run time on a core. An arrow from a task to another means that the first task generates data needed by the second one. Assume all data are of the same size. Si = 50ms P = 100ms P4 = 2000ms 100m S2 = 50ms P = 500ms P = 100ms PE 100ms S2 = 50ms a. [2] How will you parallelize that program (i.e. what is the smallest number of processes needed to execute in parallel to get the best performance)? Justify your choice. b. [3] What will be the speedup if we have 2 processes? 4 processes? 8 processes? c. [2] What is the span for the above graph? what is the work? d. [2] What is the parallelism in this DAG? 9. Assume we have the following task graph. A task can be thought of as function procedure. Every task is labeled with its run time on a core. An arrow from a task to another means that the first task generates data needed by the second one. Assume all data are of the same size. Si = 50ms P = 100ms P4 = 2000ms 100m S2 = 50ms P = 500ms P = 100ms PE 100ms S2 = 50ms a. [2] How will you parallelize that program (i.e. what is the smallest number of processes needed to execute in parallel to get the best performance)? Justify your choice. b. [3] What will be the speedup if we have 2 processes? 4 processes? 8 processes? c. [2] What is the span for the above graph? what is the work? d. [2] What is the parallelism in this DAG
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
