Takaisin kaikki kurssit

Distributed systems

Yksittäinen kurssi

Max amount of FITech students: 10

Persons without a valid study right to a Finnish university have preference to this course.

Course contents

  • Basic principles of distributed systems
  • Models of communication from interprocess communication to various forms of remote communication, group communication for different application types
  • Coordination algorithms, including distributed consensus
  • Time management in distributed or independent systems: logical clocks, partial ordering of events, causal ordering
  • Mutual exclusion and shared use of resources
  • Fault tolerant systems, including replica management (for data, for processing)
  • Formal models and verification as design tools for distributed solutions
  • Advanced topics, such as edge computing and blockchain

Learning outcomes

During the course, students learn essential motivations and techniques for distributed systems.

Key challenges discussed include

  • The key principles of distributed system development.
  • Applying the principles in evaluating major design paradigms used in implementing distributed systems.
  • Distributed decision-making.
  • Distributed systems related problems, including coordination, consistency and replication, fault tolerance.
  • Design and implement a small distributed system.

On a more detailed level, students learn the basic distributed system techniques, including architectures, processes, communication, naming, modelling, synchronization, consistency and replication, and fault tolerance. In addition, the course covers advanced topics such as edge computing and blockchain. We propose 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 inter-dependencies of different solutions will be estimated.

Learning material

The course is based on the course books, including Maarten van Steen and Andrew S Tanenbaum Distributed Systems – Principles and Paradigms, Third Edition, 2017, Sukumar Ghosh: Distributed systems an algorithmic approach, 2nd edition, Chapman&Hall/CRC, 2015. Any other distributed systems textbook covering the topics of the course is also possible to use.

Supplementary material will be provided during the course as needed.

Completion methods

Lecture course, with weekly lectures and exercise sessions. No exam. Please note that the teaching method might still be updated depending on university guidelines.

  • The lectures are held on Tuesdays at 12-14 and Thursdays at 10-12 (material will be available after the lectures)
  • The exercises are held on Wednesdays at 14-16

During the weekly exercises students solve problems, implement small distributed systems, and write short essays on given topics.

More information of the University of Helsinki course page.

You can get a digital badge after completing this course.

Vastuuopettaja

Helsingin yliopisto
Tiina Nikander

Hakua koskevat kysymykset

FITech-verkostoyliopisto
Fanny Qvickström, Opintoasioiden suunnittelija
Hakuaika on päättynyt
Hakuaika on päättynyt
Kategoria:
ICT-opinnot
Teemat:
5G-teknologia,
Internet-teknologia
Kurssikoodi:
CSM13001
Opintopisteet
5 ECTS
Hinta:
0 €
Kurssin taso:
Opetusaika:
1.11.–15.12.2022
Viimeinen hakupäivä:
Hakuaika on päättynyt
Järjestävä yliopisto:
Helsingin yliopisto
Kuka voi hakea:
Aikuisopiskelija,
Tutkinto-opiskelija
Opetustapa:
Lähiopetus
Paikkakunta:
Helsinki
Opetuskieli:
Englanti
Esitietovaatimukset:
Students should have a Bachelors degree in computer science or a related field. More specifically students must have programming skills, knowledge about operating systems, networking and computer organisation/architectures including some basic understanding of concurrency issues in one computer.
Oletko kiinnostunut tästä kurssista? Tilaa ilmoitus kurssin tietojen muutoksista suoraan sähköpostiisi! Voit peruuttaa tilauksen koska tahansa.