EE4700-1 Parallel Programming
Fall 2009
Instructor: Lu Peng
Course
Objectives
As
multithreaded and multi-core processors become the mainstream computing
platform, writing parallel programs to exploit these processors’ computing
potential becomes increasingly important. This class will teach students
concepts and techniques in parallel programming. Many interesting programming
projects will be assigned. Parallel programming tools such as Pthreads, OpenMP, MPI, nVidia / CUDA will be involved.
Topics
·
Concurrent
programming concepts
·
Processes and
Synchronization
o
Producer/Consumer
synchronization
·
Locks and
Barriers
o
Critical sections
·
Semaphores
o
The Dining
philosophers problem
o
Readers and
writers problem
·
Monitors
o
Disk scheduling
problem
·
Message Passing
o
Clients and
servers
o
Interacting peers
·
RPC and
Rendezvous
·
Scientific
Computing
o
Matrix
computations
Foundations of Multithreaded, Parallel, and Distributed Programming,
Author: Gregory R. Andrews
ISBN-10: 0201357526
Publisher: Addison-Wesley, 2000
Grading Policy
Homework and Project (70%)
Final exam (30%)
Bonus (10%): I will randomly give 10 simple quizzes in classes. The major purpose of quizzes is to check your attendance.
Final grades will be given by curve. A: top
55%. B: students meeting the minimal requirements but not in top 55%. C, D or
F: not meeting the minimal requirements.
To
be fair to all students, Homework and Projects should be handed in on time. You
will lose 20 points (based on 100 points for each) for one day late until lose
all points after five days. You must make sure to join the final exam. If you
have any necessary reason to reschedule your exams, let me know and show me
your evidences.