FID3021 Advanced Course in Distributed Algorithms 7.5 credits

Avancerad kurs i distribuerade algoritmer

This course is a graduate reading course that will cover the foundational theory and algorithms for designing reliable and secure distributed systems and services. The goal is to enable the PhD students to read, understand and critically analyze the latest research results in the topics.

Show course information based on the chosen semester and course offering:

Offering and execution

No offering selected

Select the semester and course offering above to get information from the correct course syllabus and course offering.

Course information

Content and learning outcomes

Course contents *

This course is a foundational course on the theory and algorithms of reliable distributed systems. The course covers the following topics.
* Formal modeling of distributed systems using input/output automata.
* Failure detectors theory and safety and liveness properties
* Specifications of distributed abstractions, and failure models
* Broadcast abstractions
* Shared memory abstractions and consistency models
* The consensus problem and computability results for different distributed systems models.
* The Paxos algorithm for consensus
* Replicated state machine algorithms and dynamic reconfigurations
* Timed distributed system models and the use of physical clocks
* Relaxed consistency models and associated algorithms
* Byzantine failures and associated consensus algorithms   

Intended learning outcomes *

After the course the student will be able to discuss, analyze, present, and critically review the very latest research advancements in the area of reliable distributed algorithms and associate theory, and make connections to knowledge in related fields. The student will also be able to assess and evaluate new emerging trends as well as to identify the need for further knowledge in the field.

Course Disposition

No information inserted

Literature and preparations

Specific prerequisites *

Enrolled as a doctoral student.

Recommended prerequisites

This course requires basic knowledge in programming and algorithm theory, and discrete mathematics including reasoning about correctness of algorithms. It is an extended version of ID2203 course on advanced distributed systems.


No information inserted


No information inserted

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale *

P, F

Examination *

  • EXA1 - Examination, 7.5 credits, Grading scale: P, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.


Other requirements for final grade *

To get Pass, the student has to do the graded quizzes, the programming excercises, and presentations of assigned research papers in local seminars. 

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Seif Haridi

Ethical approach *

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web FID3021

Offered by

EECS/Software and Computer Systems

Main field of study *

No information inserted

Education cycle *

Third cycle

Add-on studies

No information inserted

Postgraduate course

Postgraduate courses at EECS/Software and Computer Systems