EE 382 C Vijay Garg Fall 1998
EE 382C: SOFTWARE FOR HIGHLY AVAILABLE DISTRIBUTED APPLICATIONS
FALL 98
VIJAY K. GARG
Unique No. 15320
Instructor: Prof. Vijay Garg ; Office: ENS 527 ; Phone: 471-9424 ; e-mail: garg@ece.utexas.edu;
Office Hours: MW 3:30-5:00 (or by appointment);
URL:
http://maple.ece.utexas.edu/~vijay
Prerequisites: Programming experience, Graduate standing
Course Contents: This will be an introductory graduate level course in the area
of software for (fault-tolerant) distributed systems.
It will expose students to theoretical
as well as practical aspects of designing distributed systems.
The course assumes that the student has some familiarity with
programming.
The following topics will be covered in the course:
-
Models of Distributed Computation: Causality,
posets, concurrent languages, synchronization, inter-process communication.
-
Time: Logical clocks, vector clocks, direct dependency clocks,
matrix clocks.
-
Distributed Algorithms: Mutual Exclusion, Election, Agreement
-
Network Computing: Java RMI, Distributed Objects, WWW Servers
-
Global Property Evaluation:
Chandy and Lamport's algorithm, termination detection, unstable properties.
-
Ordering of Messages: causal, synchronous, multi-cast protocols.
-
Global Computation: Diffusing computation, supervised computation.
-
Fault-tolerance: Checkpointing, optimistic and pessimistic recovery,
Self-stabilizing algorithms.
-
Distributed Simulation: conservative and optimistic schemes.
-
Protection and Security : RSA encryption scheme, Electronic Commerce
Grading: 25 % Assignments, 20 % Exam 1, 20 % Term paper,
15 % Class presentation, 20 % Exam 2.
Course Material
1. Distributed Operating Systems and Algorithms, by Chow and Johnson,
Addison Wesley, 1997.
2. Lecture Notes by the instructor.
3. Papers from various Journals.