Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

COMP20032: Distributed Computing (2008-2009)

This is an archived syllabus from 2008-2009

Distributed Computing
Level: 2
Credit rating: 10
Pre-requisites: COMP10092 (COMP20051 desirable)
Co-requisites: No Co-requisites
Duration: 11 weeks in second semester
Lectures: 22 in total, 2 per week
Examples classes: 6 in total, 1 per fortnight
Labs: 10 hours in total, 5 2-hour sessions, partly credited to COMP20910/COMP20920
Lecturers: Chris Kirkham
Course lecturer: Chris Kirkham

Additional staff: view all staff
Timetable
SemesterEventLocationDayTimeGroup
Sem 2 w19-26,30-33 Lecture CHEM G.51 Mon 10:00 - 11:00 -
Sem 2 w19-26,30-33 Lecture 1.1 Tue 12:00 - 13:00 -
Sem 2 w20,22,24,26,31,33 Lab LAMB LambLab Tue 09:00 - 11:00 G
Sem 2 w20,22,24,26,31,33 Lab LAMB LambLab Wed 09:00 - 11:00 H
Sem 2 w20,22,24,26,31,33 Lab LAMB LambLab Fri 09:00 - 11:00 F
Sem 2 w21,23,25,30,32 Examples LF15 Tue 10:00 - 11:00 G
Sem 2 w21,23,25,30,32 Examples LF15 Fri 10:00 - 11:00 F
Assessment Breakdown
Exam: 80%
Coursework: 0%
Lab: 20%
Degrees for which this unit is optional
  • Artificial Intelligence BSc (Hons)

Aims

Many of the most important and visible uses of computer technology rely on distributed computing. This course unit aims to introduce students to the principles, techniques and methods of distributed computing in sufficient breadth and depth for it to act as a foundation for the exploration of specific topics in more advanced course units. The course unit assumes that students have already a solid understanding of the main principles of computing within a single machine, and that they have a rudimentary understanding of the issues related to machine communication and networking.

Learning Outcomes

On completing the course, a student should:

Have knowledge and understanding of the main principles, techniques and methods involved when dealing with distributed systems.
Have detailed knowledge and understanding of major issues related to the design of a distributed system, such as:
- how to communicate between distributed objects by means of remote invocation
- the absence of global physical time in distributed systems
- how processes can coordinate their actions in a distributed setting distributed transactions.
Have the ability to design and implement prototypical distributed computing applications using different technologies.
Be aware how the fundamental techniques above are applied in practical systems.

Assessment of Learning outcomes

1) and 2) assessed by examination. 3) assessed via laboratory exercises. 4) not formally assessed unless used to illustrate answers to examination questions.

Contribution to Programme Learning Outcomes

A3, C1, C5 strongly. A2, B1, B2, B3 moderately. D1, D4, D5 slightly.

Syllabus

Introduction


Characteristics of distributed systems. Challenges. Architectural models.

Remote Invocation and Distributed Objects



Java RMI, CORBA, Web Services.

Message-Oriented middleware



Synchronous vs asynchronous messaging. Point-to-point messaging. Publish-subscribe.

Concurrency, co-ordination and distributed transactions


Ordering of events. Two-phase commit protocol. Consensus.

Caching and Replication



Security



Service-Oriented Architectures, REST and Web Services

Reading List

Core Text
Title: Distributed systems: concepts and design (5th edition)
Author: Coulouris, George et al.
ISBN: 9780273760597
Publisher: Addison-Wesley
Edition: 5th
Year: 2011


Core Text
Title: Distributed systems (3rd edition)
Author: van Steen, Maarten and Andrew S. Tanenbaum
ISBN: 9781543057386
Publisher: CreateSpace Independent Publishing Platform
Edition: 3rd
Year: 2017