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 on

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 Pi = 100ms P2 = 100ms P3 = 100ms P4 = 2000ms S2 = 50ms Ps = 100ms Pe = 500ms Py = 100ms Ps = 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 Pi = 100ms P2 = 100ms P3 = 100ms P4 = 2000ms S2 = 50ms Ps = 100ms Pe = 500ms Py = 100ms Ps = 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
