Course: Distributed Algorithms

» List of faculties » FBI » UAI
Course title Distributed Algorithms
Course code UAI/503
Organizational form of instruction Lecture + Lesson
Level of course unspecified
Year of study not specified
Frequency of the course In each academic year, in the winter semester.
Semester Winter
Number of ECTS credits 4
Language of instruction English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Janeček Jan, doc. Ing. CSc.
  • Fesl Jan, Ing. Ph.D.
  • Bukovský Ivo, doc. Ing. Ph.D.
  • Budík Ondřej, Ing.
  • Vohnoutová Marta, Ing.
  • Mukherjee Amrit, Dr. Ph.D.
  • Kulish Vladimír, Ing. DrSc.
Course content
1. Structure of distributed systems and applications, communication methods. 2. Procedural communication - gRPC, SOAP, REST. 3. Model of distributed computation, asynchrony/synchrony. 4. Snapshots in distributed computation, logical time. 5. Election mechanisms in distributed systems. 6. Explicit access mechanisms. 7. Deadlock detection - device sharing, communication. 8. Termination detection in distributed algorithms. 9. Distributed shared memory - data sharing and replication. 10. Support and use of P2P, DHT technologies. 11. Agent based applications, mobility. 12. Cloud technologies, application methods. The content of seminar follow content of the lectures.

Learning activities and teaching methods
Monologic (reading, lecture, briefing)
  • Preparation for exam - 30 hours per semester
  • Class attendance - 52 hours per semester
  • Preparation for classes - 18 hours per semester
Learning outcomes
The primary aim of the course is to introduce the students to the area of distributed algorithms. The students meet the principles contained in the large-scale distributed systems, messaging systems and the basics of inter-procedural communication.
Theoretical overview of distributed computing and the ability to apply theoretical knowledge to real problems.
Prerequisites
Basic knowledge of algorithms and distributed technologies

Assessment methods and criteria
Written examination, Test

Written/oral examination, evaluation of activities obtained during seminars. The student must create and defend a practically-oriented project, in which the topic is selected from the list of the introduced distributed algorithms.
Recommended literature
  • A.D. KSHEMKALYANI, M. SINGHAL. Distributed Computing: Principles, Algorithms, and Systems, Cambridge University Press 2011, ISBN: 978-0521189842.
  • G. TEL. Introduction to Distributed Algorithms, Cambridge University Press; 2nd edition 2002, ISBN: 978-0521794831.
  • N.A. LYNCH. Introduction to Distributed Algorithms, Cambridge University Press; 2nd edition 2002, ISBN: 978-0521794831.
  • W. FOKKINK. Distributed Algorithms, 2nd edition: An Intuitive Approach, MIT Press 2018, ISBN: 978-0262037662.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester