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

 

Prerequisites

·        C/C++ programming CSC 1254 or equivalent

·        Computer organization EE 3755 or equivalent

      In general, you should have basic C/C++ programming skills and concepts such as threads, cache, etc.

 

 

Required Textbook

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.