Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Paralelno programiranje
Parallel Progamming
2025/2026
4 ECTSa
Informacijski i poslovni sustavi 1.2 (IPS)
Katedra za teorijske i primijenjene osnove informacijskih znanosti
M3
6. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Studij Studijski program Semestar Obavezan
Informacijski i poslovni sustavi 1.2 (IPS) Analiza i dizajn poslovnih sustava 6 izborni
Informacijski i poslovni sustavi 1.2 (IPS) Umjetna inteligencija u poslovanju 6 izborni
Informacijski i poslovni sustavi 1.2 (IPS) Umreženi sustavi i računalne igre 6 izborni
Informacijski i poslovni sustavi 1.2 (IPS) Razvoj programskih sustava 6 izborni
Cilj kolegija
Upoznati studente s temeljima paralelnog programiranja u višejezgrenim i višeprocesorskim sustavima te grodzovima računala, metoda paralelizacije algoritama, komuniciranja između jezgri, procesor ili računala u grozdu. Upoznati studente s mogućnostima izgradnje paralelnih računalnih programa u standardnim programskim jezicima.
Preduvjeti
Norma kolegija
Predavanja
30 sati
Vježbe u praktikumu
15 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Lovrenčić Alen Nositelj Predavanja
Vježbe u praktikumu
0
0
2
1
1
1
Sadržaj predavanja
  • Uvod. (2 sata)
    Platforme za paralelno programiranje. Vrste paralelizma. Pipelining. Višedretvenost. Paralelizacija memorije. Procesna paralelizacija.
  • Principi izgradnje paralelnih algoritama. (2 sata)
    Tehnike dekompozicije. Karakteristike zadaća i interakcija. Mapiranje i balansiranje opterećenja. Modeli paralelnih algoritama
  • Temelji komunikacije među procesima. (2 sata)
    Objavljivanje „jedan za sve“ i redukcija „svi za jednoga“. Objavljivanje „svi za sve“ i personalizacija.
  • Analiza paralelnih programa. (4 sata)
    Mjere složenosti paralelnih sustava. Granularnost. Skalabilnost. Asimptotska analiza paralelnih programa.
  • Programiranje pomoću paradigme prosljeđivanja poruka. (2 sata)
    Sučelje za prenošenje poruka. Kartezijeve topologije.
  • Programiranje za sustave s dijeljenim adresnim prostorom. (2 sata)
    Sustavi dretvi i sinkronizacija. Asinkroni programi. Prevencija i otkrivanje međusobnog zaključavanja.
  • Paralelno sortiranje. (4 sata)
    Paralelno sortiranje temeljeno na prenošenju poruka. Mreže za sortiranje. Paralelno Shellovo sortiranje. Paralelni quicksort. Paralelno sortiranje prebrojavanjem. Paralelni radix sort.
  • Paralelni matrični algoritmi. (4 sata)
    Strassenovo množenje matrica. Cannonovo množenje matrica. Množenje matrice vektorom.DNS algoritam.
  • Paralelni algoritmi pretraživanja. (2 sata)
    Paralelno pretraživanje polja. Paralelno pretraživanje i ophodnja stabala i grafova.
  • Paralelni algoritmi na grafovima. (4 sata)
    Traženje najkraćeg puta. Dijkstrin algoritam. Floyd-Warshalow algoritam. Algoritmi za minimalno razapinjuće stablo. Algoritam za tranzitivno zatvorenje. Algoritam za traženje maksimalnog nezavisnog skupa.
  • Paralelno dinamičko programiranje. (4 sata)
    Floydov algoritam za traženje svih najkraćih puteva. Problem najduže zajedničke sekvence. 0/1 ranac. Dinamički algoritmi za traženje najkraćeg puta.
Sadržaj seminara/vježbi
Ishodi učenja kolegija
  • Objasniti konkurentnost rada s memorijom kod računalnih programa s paralelnim procesima te strategije rješavanja konflikata rada sa zajedničkom memorijom.
  • Definirati različite konfiguracije računalnih mreža sa stajališta izgradnje paralelnih algoritama.
  • Organizirati sustav poruka u višeprocesorskom sustavu pri izradi paralelenog algoritma.
  • Izgraditi paralelni algoritam, za zadani problem, temeljen na metodi rekurzivne paralelizacije, dekompozicije ulaznih podataka i dekompozicije prostora pretraživanja.
  • Ocijeniti vremensku i prostornu složenost izgrađenog paralelnog algoritma.
  • Izgraditi paralelni algoritam iz važnih područja paralelizacije (rijetke matrice, sortiranje, algoritmi na grafovima, optimizacijski algoritmi, dinamičko programiranje) u skladu s teorijom paralelnih algoritama.
  • Odabrati adekvatnu strategiju dijeljenja memorijskog prostora u višejezgrenom paralelnom algoritmu na temelju prednosti i nedostataka različitih strategija dijeljenja memorije i potreba algoritma.
Ishodi učenja programa
  • razumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja
  • razumjeti i primijeniti suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)
  • razumjeti i primijeniti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
Osnovna literatura
  • Casanova, H; Legrand, A; Robert, Y: Parallel Algorithms, CRC Press, boca Ratin, 2014.
  • Grama, A et. al. Introduction to Parallel Computing, Addison-Wesley, Harlow, 2003.
Dopunska literatura
Slični kolegiji
Redoviti studenti Izvanredni studenti
izvanredni rok
Datum: 20.04.2026.
Vrijeme: 16:00
Opis: Na Fakultetu
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2025 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda