Section 2.9

Sequential, Parallel & Distributed Computing

Learning Goals


Objectives and General Description

Parallel and distributed computing leverage multiple computers to more quickly solve complex problems or process large data sets. (CSN -2)

In this lesson, students will participate in a small group activity to illustrate the efficiency of solving problems with large sets of data.  This activity will be used to illustrate the differences between sequential, parallel and distributed computing.  Then the students will learn how to calculate the speed up of a parallel solution.  Finally, students will be asked to develop scenarios in which the types of computing would be most efficient.

Key vocabulary:  Sequential computing, Parallel Computing, Distributed Computing, speed up, Fault tolerant, redundant, scalable, Citizen Science


Activities

Activity 2.9.1 Introduction to Parallel Computing  (Budget 30-45 minutes)

Write a list of tasks on the board or display for students.  Examples:  Clean cafeteria tables, sweep the halls, take down old posters in the school, pick up trash in the bleachers, etc.  Ask students to give you an estimate of how much time it would take an individual student to complete all tasks.  Then ask how the process could be sped up.  Students will generally quickly say that they need more people to help.  Divide students into groups.  Give each group a designated number of "workers" and they must quickly decided to how to manage their workers to most efficiently get the tasks completed.  Assign a variety of worker amounts (50, 100, 1000, 10000, etc.).  Make sure that one of your groups has an extremely large number.

Discussion questions:

Explain that we have choices about how to best allocate our computers' processing power.  Introduce the vocabulary terms:

Ask students to give you examples of each of the three types of processing in their task allocation example.

Emphasize that much like the examples that you just discussed, more is not always better.  There are advantages and challenges to the different approaches.

Activity 2.9.2 Video reflection (Budget 10 minutes)


Activity 2.9.3 Sorting Activity (Budget 45 minutes)

Complete the sorting activities in this Code.org lesson.  Summarize and reflect on the process.  Use the time from the first activity and the second activity to calculate the "speedup" of the parallel solution.  Speedup  of a parallel solution = time of sequential solution / time of parallel solution.


Activity 2.9.4 Impacts of Distributed Computing (Budget 10 minutes)

The World Community Grid is a distributed computing network created in  2004 by philanthropic initiative of IBM.

World Community Grid enables anyone with a computer, smartphone or tablet to donate their unused computing power to advance cutting-edge scientific research on topics related to health, poverty and sustainability. Through the contributions of volunteers all over the globe, World Community Grid has supported 31 research projects to date, including searches for more effective treatments for cancer, HIV/AIDS and neglected tropical diseases. Other projects are looking for low-cost water filtration systems and new materials for capturing solar energy efficiently. 

Show this video on how the World Community Grid has helped provide better access to clean water around the world.  Introduce the concept of Citizen Science.

Here is the associated webpage for teacher's to reference as background information.