Cilj je da studenti usvoje opšta i specifična znanja u oblasti paralelnih algoritama. Student će imati osnovna znanja o metodologiji funkcionisanja paralelnih algoritama i konkurentnog procesiranja. Osposobljen je za korištenje osnovnih tehnika paralelnog programiranja, kako onih koje se baziraju na MPI (distribuirana arhitektura), tako i onih koje koriste dijeljenu memoriju.
Šifra predmeta: | Status predmeta: | Semestar: | Fond časova (P+A+L): | ECTS bodova: |
---|---|---|---|---|
RN-PAL | I | VIII | 2+0+3 | 6 |
Uvod u paralelne algoritme. Paralelni modeli računara: lokalna memorija, dijeljena memorija, tok podataka i sistolički nizovi. Topologije mreža uzajamnih veza višeprocesorskih sistema: meš, piramida, meš stabala, hiperkocka. Mjere paralelne kompleksnosti i tehnike za analiziranje algoritama. Dizajn paralelnih algoritama za mašine sa dijeljenom memorijom (PRAM računari). Paralelne strukture podataka; automatska paralelizacija sekvencijalnih programa; komunikacija, sinhronizacija i granularnost. Paralelne strukture podataka; automatska paralelizacija sekvencijalnih programa; komunikacija. Paralelne strukture podataka; automatska paralelizacija sekvencijalnih programa: sinhronizacija i granularnost. Dizajn i analiza paralelnih algoritama za razne probleme u koje spadaju: osnovna aritmetika, izbor m-tog najvećeg elementa, pretraživanje, sortiranje, spajanje, matrične operacije, najkraći put, minimalno pokrivajuće stablo, raspoređivanje opterećenja, rutiranje. Teorija kompleksnosti za paralelne algoritme. Metodi formalne specifikacije za paralelne sisteme. Verifikacija paralelnih i distribuisanih sistema.
Nastava se izvodi u obliku predavanja, auditornih vježbi i vježbi na računaru. Učenje, testovi, domaći radovi, seminarski rad i konsultacije.
- Kolokvijum 1 (0-15 bodova);
- Kolokvijum 2 (0-15 bodova);
- Završni ispit (0-50 bodova);
- Seminar-i (0-10 bodova);
- Aktivnosti na nastavi (0-10 bodova).