CSCI 3366 (Introduction to Parallel and Distributed Processing):
Lecture Summaries
(Numbers following topics reference chapter(s) and section(s)
in the textbook.)
- January 15: About the course.
- January 17: "Why parallelism?" (1); basic models of parallel
computation (1).
- January 22: Multicomputer architecture (1); definition of
speedup (1); Amdahl's law (1).
- January 24: Basics of message-passing programming using MPI (2);
simple example programs.
- January 29: Basics of message-passing programming using MPI (2),
continued.
- January 31: Basics of message-passing programming using MPI (2),
continued.
- February 5: "Embarrassingly parallel" computations (3).
- February 7: "Embarrassingly parallel" computations (3),
continued.
- February 12: "Embarrassingly parallel" computations (3),
continued.
- February 14: A little about random number generation;
divide-and-conquer computations (4).
- February 19: Divide-and-conquer computations (4),
continued.
- February 21: Divide-and-conquer computations (4),
continued; pipelined computations (5).
- February 26: Pipelined computations (5), continued.
- February 28: Synchronous computations (6), continued.
- March 5: Exam 1.
- March 7: Load balancing and termination detection (7).
- March 19: No class.
- March 21: Overview of shared-memory programming (8).
- March 26: Synchronization mechanisms for shared memory (8).
- March 28: Shared-memory programming examples
("hello, world" program).
- April 2: Shared-memory programming examples, continued
(program to sum array elements).
- April 4: Shared-memory programming examples, continued
(program to solve 1D heat equation).
- April 9: Shared-memory programming examples, continued
(program to solve 1D heat equation, continued).
- April 11: Shared-memory programming examples, continued
(program to solve 1D heat equation, continued).
- April 16: Shared-memory programming examples, continued
(class for bounded buffer and test program).
- April 18: Shared-memory programming examples, continued
(examples of using condition variables);
libraries versus language extensions, etc.
- April 23: Exam 2.
- April 25: No class (work on projects).
- April 30: Course wrap-up and evaluations.