SVEUČILIŠTE U RIJECI
ODJEL ZA INFORMATIKU
Ulica Radmile Matejčić 2, Rijeka
Akademska godina 2021./2022.
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
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
- Tanenbaum A. & Steen, M. V. Distributed Systems: Principles and Paradigms (2nd Edition). (Prentice Hall, 2006).
- MPI for Python documentation. Dostupno na: mpi4py.readthedocs.io
- PyZMQ documentation. Dostupno na: pyzmq.readthedocs.io
- Skripte, prezentacije i ostali materijali za učenje dostupni u e-kolegiju.
Popis literature koja se preporučuje kao dopunska
- Coulouris G., Dollimore J. & Tim Kindberg T. Distributed Systems: Concepts and Design (5th Edition). (Addison-Wesley, 2011).
- Tanenbaum A. & Woodhull A. Distributed Operating Systems. (Prentice Hall, 2004).
- Silberschatz A. & Galvin P. B. Operating System Concepts. (Addison Wesley, 1989).
- Open MPI documentation: www.open-mpi.org/doc/
- MPI Documents. Dostupno na: www.mpi-forum.org/docs/
- 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. god. 2021./2022.
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. | 18. 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.