|Week||Homeworks||Class Materials||Textbook Reading||Tests|
Class exercise 2
|Pool of Tasks|
Queue of Tasks
Introduction to MPI
|Chapter 3.3||Quiz 7
Midterm: Thursday, October 15
|6.||Homework 6||Parallel Prefix Computation|
Divide and Conquer
Parallel Genetic Algorithm
|Chapters 3.5, 3.6||Quiz 6|
|5.||Homework 5||Divide and conquer||Chapter 6.1.3||Quiz 5|
Readers and writers
|Chapters 2, 3.3, 6.1.4, 22.214.171.124, 6.1.12||Quiz 4|
|3.||Homework 3||Shared Memory Models
The Pthread Library
|Chapters 1, 2.1 to 2.3, 4.1, 4.2||Quiz 3|
|2.||Homework 2||Shared Memory Models Introduction||Chapters 1, 2.1 to 2.3, 4.1, 4.2||Quiz 2|
|1.||Homework 1||Introduction||Chapters 1, 2.1 to 2.3, 4.1, 4.2||Quiz 1|
Overview of parallel computers, shared memory, message passing, MIMD and SIMD classifications. Understanding and use of message passing and synchronization facilities such as MPI. Study of parallel programming models such as master-slave, client-server, tast-farming, divide-and-conquer and pipelining. Performance analysis of parallel systems, execution time, time complexity, load balancing and scalability.
B524 involves a project. Credit not given for both B424 and B524.
Prerequisites: C243, M301.
Textbook: T. Rauber, G. Runger (2013): Parallel Programming for Multicore and Cluster Systems, 2nd edition, Springer.
Some ideas of projects for the graduate students.
Guidelines for assignments:
Parallel Knoppix distribution 6.0
P. Pacheco (2011): Parallel Programming, Mrgan Kaufman.
B. Wilkinson, M. Allen (1999): Parallel Programming, Prentice-Hall.
G. R. Andrews (2000): Foundations of Multithreaded, Parallel and Distributed Programming, Addison-Wesley.
W. Gropp, E. Lusk, A. Skjellum (1999): Using MPI, second edition, MIT Press.
W. Gropp, M. Snir, B. Nitzberg, E. Lusk (1998): MPI--the complete reference, MIT Press.
P. S. Pacheco (1997): Parallel programming with MPI, Morgan Kaufmann.
S. H. Roosta (2000): Parallel processing and parallel algorithms : theory and computation, Springer.