Lecture 2

Learning objectives

After this class, you should be able to:

  1. Define the time taken by a parallel program.
  2. Define the communication cost model that we will be using in this course.
  3. Derive the time complexity of different reduction implementations using our communication cost model.
  4. Given a simple parallel algorithm, derive its time complexity.
  5. Explain the difference between data parallelism and task parallelism.
  6. Explain the differences between shared memory and distributed memory programming.
  7. Explain the differences between concurrent, distributed, and parallel programming.

Reading assignment

  1. Lec-2 slides.
  2. Chapter 1.
  3. Review the basic idea behind caches from your computer organization course.

Exercises and review questions


Last modified: 12 Oct 2017