CS 3211 - Parallel and Concurrent Programming
(Sem 2, 2012-13)
Brief Description A concurrent system consists of a set of processes that
executes simultaneously and that may collaborate by communicating and
synchronising with one another. Examples of concurrent systems are parallel
programs that describe sets of collaborating processes. This module introduces
the design, development and debugging of parallel programs. It will build on the
concurrency concepts gained from the Operating Systems module. It covers
concepts and modelling tools for specifying and reasoning (about the properties
of) concurrent systems and parallel programs. It also covers principles of
performance analysis, asynchronous and asynchronous parallel programming, and
engineering concurrent systems and parallel programs.
Course Outline and Lesson Plan The following is a tentative outline.
Detailed Course Schedule appear in Lesson Plan.
- Lesson 1:
Introductory Lecture- Concurrency Basics
- Lesson 2:
Concurrency to Concurrent Programming
- Lesson 3: Basic exposure to
- Lesson 4: Threads and concurrent
- Lesson 5: Managing concurrency via locks
and shared objects
- Semester break
- Lesson 6: Monitors as a concurrency
- Lesson 7: Midterm Examination (1 hour) +
discussion on deadlocks (1 hour)
- Lesson 8: Safety and Liveness issues in
- Lesson 9: Message passing, and execution
models for parallel programming
- Lesson 10: Parallel programming using MPI - 1
- Lesson 11: Parallel programming using MPI - 2
- Lesson 12: Parallel programming using MPI - 3
(management of communicators)
- Lesson 13: Revision of all materials.
Concurrency: State Models and Java Programming
by Jeff Magee and Jeff Kramer, Wiley Second Edition.
Parallel Programming by Lin and Snyder, Pearson International Edition.
Lot of online material on MPI is also available
Lecture Notes (Click for accessing
Midterm : 20%
(posted here with sample solutions)
participation : 5%
Assignment on Concurrency and modeling - 10%
Multi-threaded Java programming with shared objects and locks -
Assignment 3: Parallel Programming Assignment using MPI -
Other Course Information
Abhik Roychoudhury, Office : COM2
Dawei Qi, Jooyong Yi.
Thursday 2:00 PM - 4:00 PM, LT 15
Whenever you want to meet me, send me e-mail by proposing a meeting time.