5.00 credits
30.0 h + 15.0 h
Q1
Teacher(s)
Van Roy Peter;
Language
English
> French-friendly
> French-friendly
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.
Learning outcomes
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:
|
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 and its applications
- Large-scale systems based on gossip and peer-to-peer
- Examples of large-scale systems taken from the course professor's research (for example, Internet of things, ΔQSD approach for system design, convergent systems based on CRDTs, and so forth).
Teaching methods
- Weekly lecture (in auditorium or online, according to university requirements)
- 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 :
- Mastery of at least one programming system and experience in concurrent programming are a requirement for this course. One possible way to achieve this is by the course LINFO1131, but having followed this course is not imperative.
Online resources
LINFO2345 on Moodle: https://moodle.uclouvain.be/course/view.php?id=4947
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
- Rachid Guerraoui and Luis Rodrigues, Introduction to Reliable Distributed Programming
Faculty or entity
INFO