CS6223 Distributed Systems

Course Aims & Objectives:
This course aims at developing evaluation and design skills of distributed computer systems. On completion of the course, the student should be able to:

(i) understand the structure and design issues of distributed operation and system services;
(ii) understand the characteristics and constraints of distributed algorithms;
(iii) design multicast, synchronization and distributed coordination protocols;
(iv) understand the design and performance issues of distributed file systems;
(v) understand the main features of concurrent and distributed programming languages;
(vi) understand how to build reliability and performance with distributed system approach.

Units: 3

Level: P6

Medium of Instruction:  English 

Keyword Syllabus:
Distributed systems architectures; Interprocess communications, PRC; Distributed operating systems, microkernel, multitreaded processes, client-server communication, server structures, multiple servers, concurrent and distributed programming languages;  distributed file services, caching, coherence protocols, name service, fault tolerance; Hardware redundancies, reliability and availability; Software reliability approaches, preventive approaches, recovery techniques, distribution and duplication; Fault management; Distributed algorithms, multicast protocols, time synchronization protocols, distributed coordination, Lamport's timestamp, distributed mutual exclusion, election algorithms, distributed voting, commitment protocols.

Teaching Pattern:
Duration of course: 1 semester
Suggested lecture/tutorial/laboratory, other: 2 hrs. lecture; 1 hr. tutorial.

Assessment Pattern:
Examination duration: 2 hours
Percentage of  coursework, examination, other: 30%CW; 70% Exam
Grading pattern: Standard (A+AA-...F)
For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.

Pre-requisite(s):
CS5222 Computer Networks and Internets or
CS5275 High Speed Multimeida Networks or
EE5412 Telecommunication Networks or equivalent

Pre-cursor(s): Nil

Equivalent Course(s): Nil

Related Links
Department of Computer Science