Message board is just available from Monday to Friday
Online meeting (every Wednesday, Group 1 and Friday, Group 2) (Zoom link) (ID:940 7485 1936 Passcode: 635035).
The deadline for Quiz and Practical Work Assignment is the following week Wednesday, 23:59:00.
- Seminar 1 (08.02/10.02)
- Summary: During the lecture, computing networking through gRPC was explained. In this seminar, you will complement that concept with a practical exercise in Python.
- Seminar 1 (Video)
- Link to Quiz 1 (Moodle)
- Seminar 2 (15.02/17.02)
- Summary: Distributed systems rely on RPC and threads to create concurrent connections between multiple components (simultaneously). Every programming language provides basic primitives to achieve this. In this seminar, we will explore these primitives in the context of Python.
- Seminar 2 (Video)
- Link to Quiz 2 (Moodle)
- Seminar 3 (22.02/24.02)No session on 24.02 Friday due to Estonian Independence day
- Summary: System models capture behaviors in the system as it is influenced by failures. To improve reliability, multiple mechanisms are in placed to avoid the system to halt completely in the presence of failures. In this seminar, you will explore exponential back-off as a default way to handle failures when clients connect to a server in Python
- Seminar 3 (Video)
- Link to Quiz 3 (Moodle)
- Seminar 4 (01.03/03.03)
- Summary: Time is used in a distributed system for a variety of reasons ranging from monitoring data validity to regulate access time to resources. In this seminar, we will explore the physical clock synchronization methods that can be used to synchronize clocks between processes/nodes
- Seminar 4 (Video)
- Link to Quiz 4 (Moodle)
- Seminar 5 (08.03/10.03)
- Summary: Distributed applications do not look at when things happened, but instead, in what order they happened (happens-before relation). Thus, a logical clock is required to allow a reliable way of ordering events. In this seminar, we will explore the Lamport clocks and Vector clocks to calculate the timestamps of events.
- Seminar 5 (Video)
- Link to Quiz 5 (Moodle)
- Seminar 6 (15.03/17.03)
- Summary: Sometimes a single process in the system needs to have special powers, e.g., grant access of a shared resource and assign work to others. Thus, a coordinator is required to performs functions needed by other processes in distributed systems. In this seminar, we will explore the Ring Algorithm to select a special process as a coordinator.
- Seminar 6 (Video)
- Link to Quiz 6 (Moodle)
- Seminar 7 (22.03/24.03)
- Summary: Replication in distributed systems involves duplication of functionality of nodes/processes to improve the scalability, fault-tolerance and performance of the system. However, by doing this, data management of replicas becomes a complex problem to solve because of inconsistency. In this seminar, we will explore the concept of quorum for consistency in distributed systems.
- Seminar 7 (Video)
- Link to Quiz 7 (Moodle)
- Running Score
AGAIN, SUBMISSION OF SEMINAR TASKS HAVE A DEADLINE OF THE FOLLOWING WEDNESDAY 23.59 FOR BOTH GROUPS
- [OPTIONAL] Missing a seminar? or would like to present an alternative seminar task? or simply would like to learn more?
- Valid to replace two seminars, meaning two quizzes and two practical exercises.
- How to participate: We are testing an online course for Trustworthy AI. Please register and test the course. By testing this alpha course version, it is possible then to replace two seminar tasks with it
- Register and test
NOTE: if you have some issues about the submission, please inform us before the deadline.