Raspodijeljeni sustavi

Ishodi učenja

  1. identificirati obilježja raspodijeljenih sustava
  2. objasniti modele raspodijeljene obrade i komunikacije
  3. dizajnirati i razviti složeni raspodijeljeni programski sustav
  4. analizirati raspodijeljene algoritme
  5. ocijeniti obilježja odabranog raspodijeljenog sustava
  6. usporediti centralizirana i decentralizirana raspodijeljena rješenja

Oblici nastave

Predavanja

Nastava na predmetu organizirana je u dva nastavna ciklusa. Prvi nastavni ciklus sastoji se od 7 tjedana nastave i međuispita dok drugi ciklus sadrži 6 tjedana nastave i završni ispit. Nastava se provodi kroz 15 tjedana s tjednim opterećenjem od 3 školska sata.

Samostalni zadaci

Studenti samostalno rješavaju odabrane praktične zadatke kao pripremu za laboratorijske vježbe.

Laboratorij

Laboratorijske vježbe su usmjerene na rješavanje praktičnih programskih zadataka koristeći aktualne tehnologije i alate (Spring, Docker, GRPC, Kafka). Razvoj decentraliziranih rješenja.

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Laboratorijske vježbe 25 % 30 % 25 % 30 %
Sudjelovanje u nastavi 0 % 5 % 0 % 5 %
Međuispit: Pismeni 0 % 25 % 0 %
Završni ispit: Pismeni 0 % 30 %
Završni ispit: Usmeni 10 %
Ispit: Pismeni 0 % 55 %
Ispit: Usmeni 10 %

Tjedni plan nastave

  1. Raspodijeljene arhitekture sustava. Centralizirana i decentralizirana rješenja.
  2. Procesi i komunikacija u raspodijeljenim sustavima. Model klijent-poslužitelj: Socket API, RPC, RMI.
  3. Programski posrednički sloj za raspodijeljene sustave: komunikacija porukama, objavi-pretplati.
  4. Arhitekture web-aplikacija i tehnologije weba, REST, WebSocket.
  5. Mikroservisi i oblikovanje raspodijeljenih sustava.
  6. Formalni modeli raspodijeljenog sustava (sinkroni i asinkroni) i primjeri raspodijeljenih algoritama.
  7. Sinkronizacija procesa u vremenu: fizičko i logičko vrijeme
  8. Međuispit
  9. Replikacija i konzistentnost podataka.
  10. Replikacija i konzistentnost podataka.
  11. Otpornost na neispravnosti u raspodijeljenom okružju.
  12. Računarstvo u oblaku. Docker, Kubernetes.
  13. Sustavi s ravnopravnim sudionicima (engl. peer-to-peer, P2P).
  14. Blok-lanac i tehnologija raspodijeljene glavne knjige.
  15. Završni ispit

Studijski programi

Sveučilišni diplomski
Audiotehnologije i elektroakustika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Automatika i robotika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektroenergetika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektroničko i računalno inženjerstvo (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektronika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektrostrojarstvo i automatizacija (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Informacijsko i komunikacijsko inženjerstvo (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Komunikacijske i svemirske tehnologije (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Programsko inženjerstvo i informacijski sustavi (profil)
Izborni predmet profila (1. semestar) (3. semestar)
Računalno inženjerstvo (profil)
Izborni predmet profila (1. semestar)
Računalno modeliranje u inženjerstvu (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Znanost o mrežama (profil)
(1. semestar)
Znanost o podacima (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)

Predmet je preduvjet za upis predmeta

Literatura

Maarten van Steen, Andrew S. Tanenbaum (2017.), Distributed Systems, Createspace Independent Publishing Platform
George F. Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair (2011.), Distributed Systems, Addison-Wesley Longman
Ajay D. Kshemkalyani, Mukesh Singhal (2011.), Distributed Computing, Cambridge University Press

Za studente

Izvedba

ID 222664
  Zimski semestar
5 ECTS
R1 Engleski jezik
R1 E-učenje
45 Predavanja
12 Laboratorijske vježbe

Ocjenjivanje

85 izvrstan
75 vrlo dobar
65 dobar
55 dovoljan