Preskočite na sadržaj

Sveučilište u Rijeci
ODJEL ZA INFORMATIKU
Ulica Radmile Matejčić 2, Rijeka
Akademska 2021/2022. godina

DISTRIBUIRANI SUSTAVI

Studij: Diplomski studij informatike, smjer informacijski i komunikacijski sustavi (obvezni) i smjer poslovna informatika (izborni)
Godina i semestar: 1. godina, 1. semestar

Studij: Diplomski studij informatike, smjer nastavnički
Godina i semestar: 1. godina, 3. semestar

Web stranice predmeta: group.miletic.net/hr/nastava/kolegiji/DS/ moodle.srce.hr/2021-2022/

ECTS bodovi: 6 (5)

Nastavno opterećenje: 2 + 2

Nositelj predmeta:

izv. prof. dr. sc. Božidar Kovačić

E-mail: bkovacic@inf.uniri.hr
Web stranica: portal.uniri.hr/portfelj/1506
Ured: Ulica Radmile Matejčić 2, O-414
Vrijeme konzultacija: utorkom od 10 do 12 sati ili po dogovoru e-mailom

Asistent:

Milan Petrović

E-mail: milan.petrovic@inf.uniri.hr
Web stranica: portal.uniri.hr/portfelj/4166 Ured: Ulica Radmile Matejčić 2, O-522
Vrijeme konzultacija: utorkom od 14 do 16 sati ili po dogovoru e-mailom

DISTRIBUIRANI SUSTAVI

Razvijanje općih i specifičnih kompetencija (znanja i vještina)

  • upoznavanje studenata sa distribuiranim sustavima i usvajanje osnovnih pojmova distribuiranih operacijskih sustava: komunikacija i sinkronizacija, upravljanje podacima, sigurnost i zaštita

Korespodentnost i korelativnost programa

Sadržaj predmeta naslanja se na kolegij Operacijski sustavi 2 preddiplomskog studija informatike te na kolegije koji se odnose na građu računala i računalne mreže. Formalnih preduvjeta za upis predmeta nema.

Okvirni sadržaj predmeta

Distribuirani sustavi: definicija, sotverski i hardverski koncepti. Klijent-server modeli.

Komunikacija u distribuiranim sustavima: poziv procedure na daljinu, objekti, komunikacija porukama.

Procesi: izvođenje na klijentu i serveru, migracija koda, softverski agenti.

Imenovanje: imenovanje entiteta, lociranje mobilnih entiteta.

Sinkronizacija: sinkronizacija sata, algoritmi za odabir, mutual exclusion, distribuirane transakcije.

Konzistentnost i replike: distribuirani protokoli, protokoli konzistentnosti.

Opravak u slučaju grešaka: pouzdanost klijent-server komunikacije, pouzdanost komunikacije u grupi, oporavak.

Oblici provođenja nastave i način provjere znanja

Predavanja, vježbe, samostalni zadaci, konzultacije.

Popis literature potrebne za studij i polaganje ispita

  1. Tanenbaum A. & Steen, M. V. Distributed Systems: Principles and Paradigms (2nd Edition). (Prentice Hall, 2006).
  2. MPI for Python documentation. Dostupno na: mpi4py.readthedocs.io
  3. PyZMQ documentation. Dostupno na: pyzmq.readthedocs.io
  4. Skripte, prezentacije i ostali materijali za učenje dostupni u e-kolegiju.

Popis literature koja se preporučuje kao dopunska

  1. Coulouris G., Dollimore J. & Tim Kindberg T. Distributed Systems: Concepts and Design (5th Edition). (Addison-Wesley, 2011).
  2. Tanenbaum A. & Woodhull A. Distributed Operating Systems. (Prentice Hall, 2004).
  3. Silberschatz A. & Galvin P. B. Operating System Concepts. (Addison Wesley, 1989).
  4. Open MPI documentation: www.open-mpi.org/doc/
  5. MPI Documents. Dostupno na: www.mpi-forum.org/docs/
  6. ZeroMQ - The Guide. Dostupno na: zguide.zeromq.org

Način praćenja kvalitete i uspješnosti izvedbe predmeta

Kroz ustrojeni sustav osiguranja kvalitete Odjela za informatiku.

Mogućnost izvođenja na stranom jeziku

Nema.

R. BR. OČEKIVANI ISHODI
1. definirati pojam distribuiranih sustava u kontekstu klijent server modela
2. opisati izvođenje poziva procedure na daljinu, uporabu objekata i poruka za potrebe komunikacije u distribuiranim sustavima
3. objasniti izvođenje procesa u distribuiranim sustavima
4. argumentirano opisati izvođenje sinkronizacije u distribuiranim sustavima: sinkronizacije sata, algoritmi za odabir, mutual exclusion, distribuirane transakcije
5. argumentirano analizirati problematiku primjene replika i konzistentnosti podataka u distribuiranim sustavima
6. opisati implementaciju pouzdanosti i oporavka distribuiranih sustava u slučaju pogreške
7. definirati pojam i načine implementacije sigurnosti u distribuiranim sustavima

AKTIVNOSTI I OCJENJIVANJE STUDENATA

VRSTA AKTIVNOSTI ECTS ISHODI UČENJA SPECIFIČNA AKTIVNOST METODA PROCJENJIVANJA BODOVI MAX.
Pohađanje nastave 1 1--7 Prisutnost studenata Popisivanje (evidencija) 0
Pisani ispit 2 1--7 Dva kolokvija do 20 bodova za svaki kolokvij, ovisno o stupnju točnosti i potpunosti 40
Kontinuirana provjera znanja 1 2--4 Dvije kontrolne zadaće do 20 bodova za prvu kontrolnu zadaću i do 10 bodova za drugu kontrolnu zadaću, ovisno o stupnju točnosti i potpunosti 30
Završni ispit 2 (1) 2--4 Dizajn, implementacija i prezentacija distribuiranog algoritma 30 bodova prema definiranim kriterijima 30
UKUPNO 6 (5) 100

Obveze i vrednovanje studenata

Pohađanje nastave

Nastava se odvija prema mješovitom modelu u kombinaciji klasične nastave u učionici i online nastave uz pomoć sustava za e-učenje Merlin (moodle.srce.hr/2021-2022/).

Pisani ispit

Tijekom semestra pisat će se dva kolokvija koji će uključivati pitanja iz gradiva predavanja i na svakom od njih student će moći skupiti maksimalno 20 bodova.

Kontinuirana provjera znanja

Tijekom semestra pisat će se dvije kontrolne zadaće koje će uključivati praktične zadatke iz gradiva vježbi i na prvoj od njih student će moći skupiti maksimalno 20 bodova, a na drugoj maksimalno 10 bodova.

Završni ispit

Tijekom semestra studenti će u grupama po dvoje ili troje odabrati projekt koji će izraditi i predati neposredno prije ispitnog roka, a zatim na završnom ispitu obraniti usmenim putem. Projekt se sastoji se od izrade programskog koda koji rješava određeni problem korištenjem distribuiranog algoritma i pripadne dokumentacije. Vrednovat će se točnost i potpunost predanog programskog koda i pripadne dokumentacije te opis načina rješavanja danog problema. Da bi student mogao pristupiti usmenoj obrani projekta, mora barem jednom doći na konzultacije s djelomično izrađenim projektom.

Završni ispit nosi udio od maksimalno 30 ocjenskih bodova, a smatra se položenim samo ako na njemu student postigne minimalno 50%-ni uspjeh (ispitni prag je 50% uspješno riješenih zadataka).

Ocjena iz kolegija

Kontinuiranim radom tijekom semestra na prethodno opisani način studenti mogu ostvariti najviše 70 ocjenskih bodova, a da bi mogli pristupiti završnom ispitu moraju ostvarili 50% i više bodova (minimalno 35).

Studenti koji su skupili najmanje 35 ocjenskih bodova, mogu pristupiti završnom ispitu.

Ukoliko je završni ispit prolazan, skupljeni bodovi će se pribrojati prethodnima i prema ukupnom rezultatu formirati će se pripadajuća ocjena. U suprotnom, student ima pravo pristupa završnom ispitu još 2 puta (ukupno do 3 puta).

Konačna ocjena

Donosi se na osnovu zbroja svih bodova prikupljenih tijekom izvođenja nastave prema sljedećoj skali:

  • A -- 90%--100% (ekvivalent: izvrstan 5)
  • B -- 75%--89,9% (ekvivalent: vrlo dobar 4)
  • C -- 60%--74,9% (ekvivalent: dobar 3)
  • D -- 50%--59,9% (ekvivalent: dovoljan 2)
  • F -- 0%--49,9% (ekvivalent: nedovoljan 1)

Ispitni rokovi

Redoviti:

  • 1. veljače 2022.
  • 15. veljače 2022.

Izvanredni:

  • 22. ožujka 2022.
  • 13. rujna 2022.

RASPORED NASTAVE -- zimski (I) semestar ak. 2021./2022. godine

Nastava će se na predmetu odvijati u zimskom semestru prema sljedećem rasporedu:

  • predavanja: utorak 8:30--10:00, prostorija O-358
  • vježbe: utorak 10:00--11:30, prostorija O-350
Tj. Datum Vrijeme Prostor Tema Nastava Izvođač
1. 5. 10. 2021. 12:15--13:45 O-358 Distribuirani sustavi: definicija, softverski i hardverski koncepti P izv. prof. dr. sc. Božidar Kovačić
1. 5. 10. 2021. 16:15--17:45 O-350 Postavljanje okoline za razvoj softvera. Modularizacija, dokumentiranje, testiranje i mjerenje vremena izvođenja programskog koda V Milan Petrović
2. 12. 10. 2021. 12:15--13:45 O-358 Klijent-server modeli P izv. prof. dr. sc. Božidar Kovačić
2. 12. 10. 2021. 16:15--17:45 O-350 Python moduli numpy i scipy V Milan Petrović
3. 19. 10. 2021. 12:15--13:45 O-358 Komunikacija u distribuiranim sustavima: OSI model, ATM model, klijent-server model P izv. prof. dr. sc. Božidar Kovačić
3. 19. 10. 2021. 16:15--17:45 O-350 Python modul mpi4py: komunikacija točka-do-točke V Milan Petrović
4. 26. 10. 2021. 12:15--13:45 O-358 Komunikacija u distribuiranim sustavima: poziv procedure na daljinu, objekti, komunikacija porukama P izv. prof. dr. sc. Božidar Kovačić
4. 26. 10. 2021. 16:15--17:45 O-350 Python modul mpi4py: kolektivna komunikacija V Milan Petrović
5. 2. 11. 2021. 12:15--13:45 O-358 Sinkronizacija: sinkronizacija sata, algoritmi za odabir P izv. prof. dr. sc. Božidar Kovačić
5. 2. 11. 2021. 16:15--17:45 O-350 Primjene komunikacije točka-do-točke i kolektivne komunikacije V Milan Petrović
6. 9. 11. 2021. 12:15--13:45 O-358 Sinkronizacija: mutual exclusion, distribuirane transakcije P izv. prof. dr. sc. Božidar Kovačić
6. 9. 11. 2021. 16:15--17:45 O-350 Python modul mpi4py: komunikatori i grupe, dinamičko upravljanje procesima V Milan Petrović
7. 16. 11. 2021. 12:15--13:45 O-358 Procesi: izvođenje na klijentu i serveru P izv. prof. dr. sc. Božidar Kovačić
7. 16. 11. 2021. 16:15--17:45 O-350 Python modul mpi4py: jednostrana komunikacija, paralelni ulaz/izlaz i upravljanje okolinom V Milan Petrović
8. 23. 11. 2021. 12:15--13:45 O-358 Procesi: migracija koda, softverski agenti P izv. prof. dr. sc. Božidar Kovačić
8. 23. 11. 2021. 16:15--17:45 O-350 1. kontrolna zadaća I Milan Petrović
9. 30. 11. 2021. 12:15--13:45 O-358 1. kolokvij I izv. prof. dr. sc. Božidar Kovačić
9. 30. 11. 2021. 16:15--17:45 O-350 Python modul zmq: osnove asinkrone komunikacije V Milan Petrović
10. 7. 12. 2021. 12:15--13:45 O-358 Konzistentnost i replike: distribuirani protokoli, protokoli konzistentnosti P izv. prof. dr. sc. Božidar Kovačić
10. 7. 12. 2021. 16:15--17:45 O-350 Python modul zmq: utičnice i uzorci poručivanja. Objava ponuđenih tema projekata V Milan Petrović
11. 14. 12. 2021. 12:15--13:45 O-358 Oporavak u slučaju grešaka: pouzdanost klijent-server komunikacije, pouzdanost komunikacije u grupi, oporavak P izv. prof. dr. sc. Božidar Kovačić
11. 14. 12. 2021. 16:15--17:45 O-350 Python modul zmq: utičnice i uzorci poručivanja V Milan Petrović
12. 21. 12. 2021. 12:15--13:45 O-358 Sigurnost: sigurnosni kanali, kontrola pristupa, upravljanje sigurnošću P izv. prof. dr. sc. Božidar Kovačić
12. 21. 12. 2021. 16:15--17:45 O-350 Rok za odabir teme projekta. Python modul zmq: složeniji uzorci poručivanja tipa zahtjev-odgovor V Milan Petrović
13. 11. 1. 2022. 12:15--13:45 O-358 Primjeri izvođenja algoritama na distribuiranim sustavima P izv. prof. dr. sc. Božidar Kovačić
13. 11. 1. 2022. 16:15--17:45 O-350 Python modul zmq: složeniji uzorci poručivanja tipa zahtjev-odgovor V Milan Petrović
14. 18. 1. 2022. 12:15--13:45 O-358 Primjeri izvođenja algoritama na distribuiranim sustavima P izv. prof. dr. sc. Božidar Kovačić
14. 28. 1. 2022. 16:15--17:45 O-350 2. kontrolna zadaća I Milan Petrović
15. 25. 1. 2022. 12:15--13:45 O-358 2. kolokvij I izv. prof. dr. sc. Božidar Kovačić
15. 25. 1. 2022. 16:15--17:45 O-350 Izvođenje distribuiranih programa na superračunalu V Milan Petrović

P -- predavanja
V -- vježbe
I -- pisani ili usmeni ispit, kontinuirana provjera znanja
Z -- samostalni zadaci (esej, praktični rad, projekt)

Napomena: Moguće su izmjene rasporeda nastave. Za nove verzije rasporeda potrebno je pratiti obavijesti u e‑kolegiju.