Module Specification

The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module.
1. Module Title Distributed Systems
2. Module Code COMP212
3. Year Session 2023-24
4. Originating Department Computer Science
5. Faculty Fac of Science & Engineering
6. Semester Second Semester
7. CATS Level Level 5 FHEQ
8. CATS Value 15
9. Member of staff with responsibility for the module
Dr O Michail Computer Science Othon.Michail@liverpool.ac.uk
10. Module Moderator
11. Other Contributing Departments  
12. Other Staff Teaching on this Module
Mrs J Birtall School of Electrical Engineering, Electronics and Computer Science Judith.Birtall@liverpool.ac.uk
13. Board of Studies
14. Mode of Delivery
15. Location Main Liverpool City Campus
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
16. Study Hours 30

    10

    40
17.

Private Study

110
18.

TOTAL HOURS

150
 
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other
19. Timetable (if known)            
 
20. Pre-requisites before taking this module (other modules and/or general educational/academic requirements):

COMP122 Object-Oriented Programming; COMP108 Data Structures and Algorithms
21. Modules for which this module is a pre-requisite:

 
22. Co-requisite modules:

 
23. Linked Modules:

 
24. Programme(s) (including Year of Study) to which this module is available on a mandatory basis:

25. Programme(s) (including Year of Study) to which this module is available on a required basis:

26. Programme(s) (including Year of Study) to which this module is available on an optional basis:

27. Aims
 

This module is intended to provide an understanding of the technical issues involved in the design, analysis and evaluation of modern distributed systems and algorithms. Besides conveying the central principles involved in designing distributed systems, this module also aims to introduce the students to the main principles of distributed computing and of algorithms for distributed tasks.

 
28. Learning Outcomes
 

(LO1) An appreciation of the main principles underlying distributed systems: processes, communication, naming, synchronisation, consistency, fault tolerance, and security.

 

(LO2) Familiarity with some of the main paradigms in distributed systems: object-based systems, file systems, and coordination-based systems.

 

(LO3) Knowledge and understanding of the essential facts, concepts, principles and theories relating to Computer Science in general, and Distributed Computing in particular.

 

(LO4) A sound knowledge of the criteria and mechanisms whereby traditional and distributed systems can be critically evaluated and analysed to determine the extent to which they meet the criteria defined for their current and future development.

 

(LO5) An in depth understanding of the appropriate theory, practices, languages and tools that may be deployed for the specification, design, implementation and evaluation of both traditional and Internet related distributed computer systems.

 

(S1) Numeracy/computational skills - Problem solving

 
29. Teaching and Learning Strategies
 

Teaching Method 1 - Lecture
Description:
Attendance Recorded: Yes

Teaching Method 2 - Laboratory Work
Description:
Attendance Recorded: No

Standard on-campus delivery
Teaching Method 1 - Lecture
Description: Mix of on-campus/on-line synchronous/asynchronous sessions
Teaching Method 2 - Laboratory Work
Description: On-campus synchronous sessions

 
30. Syllabus
   

Introduction to Distributed Systems (2-3 lectures)
Examples of modern and traditional distributed systems and applications
Goals and types of distributed systems
Introduction to models and algorithms for distributed systems

Communication (4 lectures)
Layered protocols
Remote procedure calls & object invocation
Message- & stream-oriented communication

Broadcast (2-3 lectures)
Simple broadcast over a spanning tree
Broadcast from a specified root
Broadcast algorithms and their analysis

Leader Election (2-3 lectures)
In a ring
In general networks
Leader election algorithms and their analysis

Architecture and Processes (1-2 lectures)
Clients & servers
Other Architectures

Naming (1-2 lectures)
Namespaces
The Domain Name System (DNS)

Synchronisation and Concurrency (3-4 lectures)
Logical clocks & clock synchronisation
Mutual exclusion
Distributed transa ctions

Consistency and replication (1-2 lectures)
Overview of consistency models
Distribution protocols
Consistency protocols

Fault tolerance (2-3 lectures)
Failure masking by redundancy
Reliable client-server communication
Distributed Commit protocols
Recovery
Algorithms for consensus with link and processor failures

Security (1-2 lectures)
Security mechanisms
Encryption

Selected Research Topic (1 lecture)

 
31. Recommended Texts
  Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module.
 

Assessment

32. EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (212) Exam There is a resit opportunity. Standard UoL penalty applies for late submission. This is an anonymous assessment. Assessment Schedule (When) :Semester 2 120 70
33. CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (212.1) Assessment 1 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) :Semester 2 0 15
  (212.2) Assessment 2 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) :Semester 2 0 15