Question: Learning Objectives List sources of parallelization overhead Distinguish between task vs. data parallelism Apply Foster's methodology for parallel program design to produce a design that





Learning Objectives List sources of parallelization overhead Distinguish between task vs. data parallelism Apply Foster's methodology for parallel program design to produce a design that minimizes parallel overhead. Apply Amdalh's law to calculate the maximum speedup given a fraction of serial processing. Calculate parallel performance metrics: speedup and efficiency 1. Two types of parallelism: task parallelism - split program into major tasks and solve as many tasks in parallel as possible data parallelism - partition the data across the processors with each processor doing the same type of calculations on their own chuck of data a) Which of the above approaches is more scalable (can utilize more processors) as the problems get large (i.e., lots of data)? b) How might a combination of the two be used? 2. Let's think about parallelism, but with real-world examples. Here think of each person as a processor. For each example, determine the "majo" sequence of tasks/steps, but also explain what tasks can be "data parallelized" assuming we had many people? a) Building a house Learning Objectives List sources of parallelization overhead Distinguish between task vs. data parallelism Apply Foster's methodology for parallel program design to produce a design that minimizes parallel overhead. Apply Amdalh's law to calculate the maximum speedup given a fraction of serial processing. Calculate parallel performance metrics: speedup and efficiency 1. Two types of parallelism: task parallelism - split program into major tasks and solve as many tasks in parallel as possible data parallelism - partition the data across the processors with each processor doing the same type of calculations on their own chuck of data a) Which of the above approaches is more scalable (can utilize more processors) as the problems get large (i.e., lots of data)? b) How might a combination of the two be used? 2. Let's think about parallelism, but with real-world examples. Here think of each person as a processor. For each example, determine the "majo" sequence of tasks/steps, but also explain what tasks can be "data parallelized" assuming we had many people? a) Building a house
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
