Distribuirani procesi

Repozitorij

Repozitorij je prazan

Anketa

Na ovoj stranici trenutno nije odabrana niti jedna anketa!

Distribuirani procesi

Šifra: 284235
ECTS: 5.0
Nositelji: prof. dr. sc. Robert Manger
Izvođači: prof. dr. sc. Robert Manger - Auditorne vježbe
Prijava ispita: Studomat
Opterećenje:

1. komponenta

Vrsta nastaveUkupno
Predavanja 30
Auditorne vježbe 15
* Opterećenje je izraženo u školskim satima (1 školski sat = 45 minuta)
Opis predmeta:
CILJ KOLEGIJA:
Studente osposobiti za:
- prepoznavanje temeljnih problema vezanih uz rad distribuiranih procesa;
- oblikovanje distribuiranih algoritama koji rješavaju navedene temeljne probleme;
- korištenje barem jednog programskog jezika ili alata za razvoj distribuiranih aplikacija;
- izradu vlastite distribuirane aplikacije.

NASTAVNI SADRŽAJI:
1. Uvod. Paralelni i distribuirani sustavi. Programi, procesi i dretve. Programski jezik Java. Podrška za dretve u Javi.
2. Distribuirano programiranje. IP adrese i imena računala. Utičnice zasnovane na UDP protokolu. Primjer slanja i primanja datagrama. Utičnice zasnovane na TCP protokolu. Primjer jednostavnog poslužitelja imena. Primjer povezivanja skupa procesa.
3. Modeli i satovi. Model distribuiranog sustava. Modeli distribuiranog računanja. Jednostavni logički satovi. Vektorski satovi. Satovi neposredne ovisnosti. Matrični satovi.
4. Međusobno isključivanje. Specifikacija problema. Centralizirani algoritam. Lamportov algoritam. Algoritam Ricarta i Agrawale. Algoritam sa žetonom koji kruži.
5. Globalna snimka. Globalna snimka i modeli računanja. Algoritam Chandy-a i Lamporta. Snimanje kanala na strani pošiljatelja. Studijski primjer - snimka žetona koji kruži.
6. Otkrivanje završetka rada. Difuzijsko računanje i njegov završetak. Studijski primjer - traženje najkraćeg puta u mreži. Algoritam Dijkstre i Scholtena. Algoritam zasnovan na žetonu.
7. Uređivanje redoslijeda poruka. Uređajne relacije za poruke. Algoritam za osiguravanje kauzalnog uređaja. Studijski primjer - chat. Algoritam za osiguravanje sinkronog uređaja.
8. Izbor vođe i još ponešto. Izbor vođe u prstenu. Izbor vođe u općenitoj mreži. Konstrukcija razapinjućeg stabla. Računanje globalne funkcije.
9. Sinkronizacija. Sinkrone i asinkrone mreže. Jednostavni sinkronizator. Studijski primjer - konstrukcija BFS stabla. Sinkronizatori alfa i beta.
10. Usuglašavanje. Konsenzus u asinkronoj mreži, uz mogućnost prestanka rada procesa. Konsenzus u sinkronoj mreži, uz mogućnost prestanka rada procesa. Konsenzus u sinkronoj mreži, u uvjetima "bizantinskih" grešaka.
Literatura:
  1. Distribuirani procesi - nastavni materijali, http://web.studenti.math.pmf.unizg.hr/~manger/dp/, R. Manger.
  2. Distributed Algorithms: An Intuitive Approach, Fakkink W., The MIT Press, 2013.
  3. Distributed Computing: Principles, Algorithms and Systems, Kshemkalyani A.D., Singal M., Cambridge University Press, 2011.
  4. Distributed Algorithms for Message-Passing Systems, Raynal M., Springer, Berlin Heidelberg, 2013.
  5. Fault-Tolerant Message-Passing Distributed Systems: An Algorithmic Approach, Raynal M., Springer, Berlin Heidelberg, 2018.
  6. Concurrent and Distributed Computing, Garg V.K., Wiley - IEEE Press, New Jersey, 2004.
1. semestar Ne predaje se
Izborni modul A - Softversko inženjerstvo - Redovni Studij - Računarstvo i matematika
Izborni modul B - Teorijsko računarstvo - Redovni Studij - Računarstvo i matematika
Ostali izborni predmeti - Redovni Studij - Računarstvo i matematika

2. semestar
Izborni modul A - Softversko inženjerstvo - Redovni Studij - Računarstvo i matematika
Izborni modul B - Teorijsko računarstvo - Redovni Studij - Računarstvo i matematika
Ostali izborni predmeti - Redovni Studij - Računarstvo i matematika
Termini konzultacija:

Obavijesti