COMP3008J Distributed Systems

Academic Year 2021/2022

The goal of this module is to convey insight into the principles and practice underlying the design of distributed systems. The emphasis will be on the techniques for creating functional, usable, and high-performance distributed systems.
This module will introduce students to the principles on which modern distributed systems are based, their architecture, algorithms and design. The module will begin with a study of the goals and characteristics of distributed systems and the challenges that must be addressed in their design. This will be followed by an in-depth examination of the communication mechanisms deployed in distributed systems as well as middleware, operating system support and naming. Next, the topics of synchronisation, group communication, data replication, grid computing and web services will be addressed in the context of modern distributed systems. Finally, we will analyse and discuss two of the most well-known distributed systems nowadays: Google and Baidu.

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

This module introduces students to distributed systems that will equip them with the knowledge underlying the design of large-scale software systems distributed on multiple computers. We will teach students how to design appropriate software architectures in accordance with enumerated requirements and constraints. First, we will help students to gain an understanding of the fundamental principles and techniques behind the design of distributed systems, such as locking, concurrency, scheduling, and communication across the network. Additionally, the students will be given the opportunities to develop their problem solving, programming and written communication skills by designing solutions to distributed system programming problems, and implementing those solutions as fully networked distributed systems.

Indicative Module Content:

General concepts in distributed system designs: client-server model, peer-to-peer systems, overlay networks, data/process replication, caching, scaling techniques - hierarchical architectures. Process synchronization: physical clock synchronization, notion of logical clocks, event ordering, causality of events, and vector clocks. Mutual exclusion protocols in distributed systems; Inter-process communication and coordination models - request-reply model, remote procedure call, group communication and broadcast models, reliable broadcast protocols; Data replication management protocols; Peer-to-peer systems; Distributed file systems; Security and protection -- authentication protocols and Kerberos design; Grid Computing and Web Services. Additionally a case study on designing a distributed system (exemple: Google distributed system) is discussed.

Student Effort Hours: 
Student Effort Type Hours
Lectures

28

Practical

24

Autonomous Student Learning

80

Total

132

Approaches to Teaching and Learning:
Key teaching and learning approaches used in this module: active/task-based learning; peer and group work; lectures; reflective learning; lab/studio work; student presentations. 
Requirements, Exclusions and Recommendations

Not applicable to this module.


Module Requisites and Incompatibles
Pre-requisite:
COMP2001J - Computer Networks, COMP2006J - Operating Systems


 
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Continuous Assessment: Testing the overall knowledge and understanding of distributed system concepts. Possible assignments: practical assignment, final exam, and case study analysis.
Varies over the Trimester n/a Standard conversion grade scale 40% No

100


Carry forward of passed components
Yes
 
Remediation Type Remediation Timing
In-Module Resit Prior to relevant Programme Exam Board
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, on an activity or draft prior to summative assessment
• Feedback individually to students, post-assessment
• Group/class feedback, post-assessment
• Peer review activities

How will my Feedback be Delivered?

The grading scheme used will be Standard Conversion Grade Scale* 40% Pass (70% = A-)

“Distributed Systems: Concepts and Designs”, by G. Coulouris, J. Dollimore, T. Kindberg and G. Blair, 5th Edition, May 2011, Pearson, ISBN 13: 978-0132143011

In addition, the lecturer will provide more bibliography and research papers in the lecture notes.

Name Role
Dr Anca Delia Jurcut Lecturer / Co-Lecturer
Pasika Ranaweera Tutor
Furqan Rustam Tutor