Note from June 29, 2020
Although we do not yet know how long the social distancing related to the Covid-19 pandemic will last, and regardless of the changes that had to be made in the evaluation of the June 2020 session in relation to what is provided for in this learning unit description, new learnig unit evaluation methods may still be adopted by the teachers; details of these methods have been - or will be - communicated to the students by the teachers, as soon as possible.
Although we do not yet know how long the social distancing related to the Covid-19 pandemic will last, and regardless of the changes that had to be made in the evaluation of the June 2020 session in relation to what is provided for in this learning unit description, new learnig unit evaluation methods may still be adopted by the teachers; details of these methods have been - or will be - communicated to the students by the teachers, as soon as possible.
5 credits
30.0 h + 15.0 h
Q1
Teacher(s)
Van Roy Peter;
Language
English
Prerequisites
- Introduction to distributed systems
- Formal models of distributed systems
- Specification and implementation of distributed systems
- Failure detectors
- Reliable broadcast
- Causal broadcast
- Shared memory
- Consensus and its applications
- Large-scale systems (gossip and peer-to-peer)
Main themes
- Study of the theoretical basis of distributed systems, distributed algorithms, and languages for distributed programming.
- Study of the specific issues related to distributed and mobile systems : geographic distribution, management of localized and distributed resources, fault tolerance, security, interoperability, and openness.
- Practical use of several representative and advanced systems and languages for programming collaborative, distributed, and mobile applications.
Aims
At the end of this learning unit, the student is able to : | |
1 |
Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
|
The contribution of this Teaching Unit to the development and command of the skills and learning outcomes of the programme(s) can be accessed at the end of this sheet, in the section entitled “Programmes/courses offering this Teaching Unit”.
Content
- Introduction to distributed systems
- Formal models of distributed systems
- Specification and implementation of distributed systems (including safety and liveness)
- Failure detectors
- Reliable broadcast
- Causal broadcast
- Shared memory
- Consensus
- Applications of consensus
- Large-scale systems (gossip and peer-to-peer)
Teaching methods
- Lectures each week
- Practical sessions in the computer room, every two weeks, to solve simplified problems using concepts explain during the lectures
- Design and programming project to apply these concepts in a more complexe application
Evaluation methods
- Dispensatory test 25% (around week 7)
- Project 25%
- Final exam 50% (or 75% if redoing test part)
Other information
Background :
- LINGI1131 : Mastering of at least one programming system and basics of concurrent programming
Online resources
LSINF2345 on Moodle: https://moodleucl.uclouvain.be/course/view.php?id=1824
Bibliography
Mandatory course material:
- Course slides (on Moodle)
- Rachid Guerraoui and Luis Rodrigues. "Introduction to Reliable Distributed Programming". Springer-Verlag, 2006.
- Hagit Attiya and Jennifer Welch. "Distributed Computing: Fundamentals, Simulations, and Advanced Topics". McGraw-Hill, 1998.
Teaching materials
- Introduction to Reliable Distributed Programming
Faculty or entity
INFO