LTAT.06.007 Distributed Systems
- Lectures: Narva mnt 18 - 1037; Monday 10:15-12:00
- Seminar (Group 1): Narva mnt 18 - 1022; Wednesday 10:15-12:00
- Seminar (Group 2): Narva mnt 18 - 1022; Friday 12:15-14:00
- Teaching instructor: Huber Flores
- Teaching assistant(s): Mohan Liyanage, Farooq Dar
A distributed system is comprised by a set of components that are abstracted into a single interface, and gathers the fundamental principles of network communications, coordination and decision making to make components interact between them by passing messages.
Announcements
- Dates for final exam have been announced (19.04) during the lecture. Exam option 1 - June 2, Exam option 2 - June 4. Contact the instructor (huber DOT flores AT ut DOT ee) if you need to get your grade before that for the thesis defence.
- Besides Moodle, we will now use Piazza for posting additional questions. Enroll with the following link piazza.com/ut.ee/spring2021/ltat06007
- Please check the Lectures tab to obtain the Zoom link (and recorded video) for each lecture
- Please keep yourself posted in Moodle (In case you are not enrolled, then use enrollment key: LTAT.06.007_ENG452)
- During Spring 2021, the Distributed Systems course (Lecture and Practice sessions) will be delivered as an hybrid course, meaning that there will be a combination of online and auditorium lectures. Video recordings will be always available, but when the pandemic situation is improved, then lectures will be switched to a classroom environment. If you have any question, please send a message directly to huber.flores AT ut.ee
- Auditorium lectures (if any) will be informed by the instructor via e-mail or Moodle. By default, attendance is online via Zoom.
Learning outcomes
During the course, students learn essential motivations, models and techniques for distribution of systems or services.
Key challenges discussed include:
- management of shared global state and safe distributed storages (e.g. distributed replicas);
- distributed decision-making, e.g., consensus and quorums;
- coordination of parallel and causally ordered processing, and mutual exclusion;
- basics of fault tolerance and system recovery.
On a more detailed level, students learn the basic solutions for these challenges on different levels of abstraction, in hardware, operating systems, middleware, and application-level architectures. The solutions address distributed processing and storage, their algorithms, mutual communication protocols, and failure situations with recovery options. Common solutions are discussed on replica management, data consistency models and management, and agreements between untrusted agents. Distribution benefits and disadvantages and effects of interdependencies of different solutions will be estimated.
Assessment practices and criteria
Grading A-F.
The grade is a weighted combination of the course exam and mandatory course exercises and group tasks.
Activities and teaching methods in support of learning
Lecture course with exercise groups. Lectures open up key concepts and rationale for solutions, in exercises, details of the solutions become more familiar based on the students' own work on related tasks.