CS 550: Distributed Computing Systems
Zizhong Chen --- Spring 2008
Instructor: Zizhong
Chen
238 Ayers Hall
Phone: 782-8457
Email: zchen@jsu.edu
Text: Foundations
of Multithreaded, Parallel, and Distributed Programming, by Gregory Andrews, Addison-Wesley,
2000 Web link
Other References:
Articles/papers from books/conferences/journals/web-sites
Objectives: Fundamental concepts and
issues related to the design and analysis of concurrent computing which
includes multithreaded, parallel, and distributed computing. Discussion
of programming techniques, applications, implementations, and performance
issues. In addition, selected topics from the following list will also be
covered: load balancing, task scheduling, fault-tolerance, coordination &
agreement, distributed objects & remote invocation, and distributed
transactions & concurrency control.
Prerequisites: CS 450 (Computer Networking) or equivalent
Grading: Homework and Projects 30%
Final Exam 30%
Term Papers 40%
Assignments: Homework problems and projects based on the lecture
topics and related material will be assigned during the semester. All
assignments are due on the date & time specified for them. No
credit will be given to assignments submitted late except for legitimate
reasons.
See the Class Policies note below on legitimate reasons. Also, there will be individual
term papers where each student will pick a topic in parallel and distributed
computing. A written report is required. The instructor will give further
information about this during the semester.
Class Policies:
1. No make-up exam will be given except for those with legitimate reason.
Legitimate
reasons:
a. sickness or emergency (with documented evidence)
b.
participation in a scheduled university event
(with prior notice to instructor)
2.
Any student who receives failing grades during
the course is urged to discuss this
with the instructor. No grades will be given out or discussed either over the phone or email.
3. All requests for accommodations (disabilities, school events, etc.) are welcome.
4.
The academic misconduct policy of the University
will be followed in this course. The policies of academic honesty will be
strictly enforced in this class. You are expected to do your own work. Copying
another student’s work will not be tolerated. Students must adhere to the
University Policy on Academic Honesty as specified in the JSU Student
Handbook.
TENTATIVE COURSE SYLLABUS
Concurrent
Programming concepts: an overview;
Techniques
for parallelizing programs
Concurrent Programming issues: Processes and Synchronization; Locks and
Barriers; Semaphores and Monitors
Parallel and Distributed Programming: Message Passing, Remote Procedure
Call, and Rendezvous; Process Interaction Paradigms; distributed objects &
RMI
MPI and Open MP
Fault-Tolerance in Distributed Systems
Parallel Programming: Scientific Computations, Languages, Libraries,
and Tools