Course Schedule

"JA' indicates readings from Jordan and Alaghband. "G" indicates readings from Gropp. Additional readings will be given occasionally. Links will be added here with additional information about lectures and assignments. All assignment dates are subject to change, and are provided only as a general guideline until the actual assignment is handed out in class.

Date Topic and/or Event Readings
Feb. 6 Introduction and Overview, Homework/Lab 1 Out [HTML] [PDF] JA 1
Feb. 11 Parallel Algorithm Example -
Feb. 13 Multithreading and pthreads Homework/Lab 2 Out [HTML] [PDF] [Palindromic Solution] JA 2.6, 4-2-4.3
Feb. 18 More Multithreading -
Feb. 20 More Multithreading Homework/Lab 3 Out [HTML] [PDF] [Solution] JA 4.4
- Process Synchronization - from Operating Systems Course -
Feb. 25 OpenMP OpenMP Tutorial
Feb. 27 Message Passing Homework/Lab 4 Out [HTML] [PDF] [Jacobi Solution] G1-G3, JA 5
Mar. 4 Message Passing Interface (MPI) -
Mar. 6 MPI Examples G4-G5
Mar. 11 Distributed Data Structures Homework/Lab 5 Out [HTML] [PDF] [Text Question Solution] -
Mar. 13 Parallel Scientific Computing Flaherty, et al. 1998 Applied Numerical Mathematics paper, PMDB Manual
Mar. 18 Partitioning and Dynamic Load Balancing, Term Project Out [HTML] [PDF] Teresco and Ungar, Williams CS TR-03-02, 2003 (skip §5-6), Zoltan User's Guide, Introduction and Load-Balancing Algorithms sections
Mar. 20 Partitioning and Dynamic Load Balancing Hendrickson paper, Campbell, et al., Williams CS TR-03-01, 2003
Spring Break -
Apr. 8 No class -
Apr. 10 Zoltan, and review, Take-home midterm exam (4/11-4/13) -
Apr. 15 Parallel Sorting Algorithms, Term Project proposals due -
Apr. 17 Parallel Algorithms -
Apr. 22 Parallel Graph Algorithms -
Apr. 24 Internet/Grid Computing, Term Project progress reports due -
Apr. 29 Parallel Architectures -
May 1 Architecture-Aware Computing Teresco et al., 2000 Computer Methods in Applied Mechanics and Engineering paper Walshaw and Cross, 2001
May 6 Architecture-Aware Computing -
May 8 Mixed-Mode Programming, More Architecture-Aware Programming, Review Homework/Lab 6 Out [HTML] [PDF] -
May 13 In-class presentations -
May 15 In-class presentations, Term Project due (5/16) -
May 17-25 Final Exam (take home) -

Acknowledgements: Lecture notes include material from

  • Andrews, G., Foundations of Multithreaded, Parallel, and Distributed Programming, Addison Wesley, 2000.
  • Grama, A., Gupta, A., Karypis, G., and Kumar, V., Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003.
  • Gropp, W., Lusk, E., and Skjellum, A., Using MPI: Portable Parallel Programming with the Message-Passing Interface, second edition, The MIT Press, 1999.
  • Jordan, H., and Alaghband, G., Fundamentals of Parallel Processing, Prentice Hall, 2003.
  • Lewis, B., and Berg, D., Multithreaded Programming with Pthreads, Sun Microsystems Press, 1998.
  • Silberschatz, Galvin, and Gagne, Operating System Concepts, 6th ed., Wiley, 2002.
  • Wilkinson, B., and Allen, M., Parallel Programming, Prentice Hall, 1999.
  • OpenMP Tutorial from Lawrence Livermore National Laboratory.