Navigacija

13E113KDP - Konkurentno i distribuirano programiranje

Specifikacija predmeta
Naziv Konkurentno i distribuirano programiranje
Akronim 13E113KDP
Studijski program Elektrotehnika i računarstvo
Modul modul Računarska tehnika i informatika
Tip studija osnovne akademske studije
Nastavnik (predavač)
Nastavnik/saradnik (vežbe)
Nastavnik/saradnik (DON)
Broj ESPB 6.0 Status predmeta obavezan
Uslovljnost drugim predmetima Programiranje 1 i Objektno orijentisano programiranje 2
Ciljevi izučavanja predmeta Upoznavanje studenata sa osnovnim konceptima konkurentnog i distribuiranog programiranja. Uvođenje pojma različitih nivoa apstrakcije u konkurentnom i distribuiranom programiranju. Osposobljavanje studenata za pisanje konkurentnih i distribuiranih programa za najčešće probleme u različitim programskim jezicima.
Ishodi učenja (stečena znanja) Posedovanje osnovnih znanja o konceptima, algoritmima, principima, problemima i rešenjima vezanim za konkurentno i distribuirano programiranja. Prepoznavanje različitih nivoa apstrakcije u konkurentnom i distribuiranom programiranju. Osposobljenost studenta da u jeziku Java samostalno pišu jednostavne konkurentne i distribuirane aplikacije i da samostalno rešava najčešće probleme sinhronizacije.
Sadržaj predmeta
Link ka stranici predmeta https://rti.etf.bg.ac.rs/rti/ir3kdp/index.html
Sadržaj teorijske nastave Koncepti procesa i sinhronizacije. Locks i barijere, Tie Breaker, Ticket i Bakery algoritmi. Različiti načini implementacije barijera. Semafori. Raspodeljeni binarni semafori, tehnike prosleđivanja štafete, alokacija resursa. Monitori. Uslovne promenljive, discipline za signal, analiza dijagrama stanja monitora. Prosleđivanje poruka. Asinhrono i sinhrono prosleđivanje poruka. Udaljeni pozivi procedura.
Sadržaj praktične nastave Korišćenje semafora, monitora, regiona i prosleđivanja poruka za rešavanje tipskih problema: Čitaoci i pisci, Proizvođači i potrošači, Most sa jednom kolovoznom trakom, Filozofi za ručkom, Nervozni pušači, Berberin koji spava, Vožnja toboganom i drugi. Distribuirano programiranje (CSP i Linda). Realizacija semafora, uslovnih regiona, monitora, prosleđivanja poruka i udaljenog poziva metoda u Javi.
Literatura
  1. Zaharije Radivojević, Igor Ikodinović, Zoran Jovanović, Konkurentno i distribuirano programiranje, Akademska misao, 2008.
  2. Gregory Andrews, Foundation of Multithreaded, Parallel and Distributed Programming, Addison Wesley, 2000
  3. Zoran Jovanović, Folije za predavanja, http://rti.etf.bg.ac.rs/rti/ri4drs/literatura/
  4. Zaharije Radivojević, Zadaci za vežbu, http://rti.etf.bg.ac.rs/rti/ri4drs/literatura/
Broj časova aktivne nastave nedeljno tokom semestra/trimestra/godine
Predavanja Vežbe DON Studijski i istraživački rad Ostali časovi
2 2 1
Metode izvođenja nastave Predavanja, auditorne vežbe, laboratorijske vežbe, projekti
Ocena znanja (maksimalni broj poena 100)
Predispitne obaveze Poena Završni ispit Poena
Aktivnosti u toku predavanja 0 Pismeni ispit 40
Praktična nastava 0 Usmeni ispit 0
Projekti
Kolokvijumi 40
Seminari 20