Paralelizam i konkurentnost

Prikazani su podaci za akademsku godinu: 2023./2024.

Predavanja

Laboratorijske vježbe

Opis predmeta

Predmet upoznaje studente s osnovnim konceptima paralelnih računalnih sustava, konkurentnosti i paralelizma. Predmet objašnjava vrste paralelizma na nižim i višim razinama: instrukcijski, funkcionalni (zadatkovni), podatkovni, protočni. Zatim objašnjava modele izvršavanja u paralelnim sustavima, osnove konkurentnosti, sinkronizacije, koherentnosti i memorijskih modela. Naučeni koncepti se primjenjuju u oblikovanju i optimizaciji performansi programa za paralelne računalne sustave.

Studijski programi

Sveučilišni preddiplomski
Izborni predmeti (5. semestar)
Izborni predmeti (5. semestar)
Sveučilišni diplomski
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Jezgreni predmeti profila (1. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (1. semestar) (3. semestar)

Ishodi učenja

  1. Razumijevanje tipova paralelizma u računalnim sustavima
  2. Razumijevanje modela izvršavanja u paralelnim sustavima
  3. Razumijevanje koncepta konkurentnosti i razlikovanje od koncepta paralelizma.
  4. Razumijevanje koncepata koherentnosti, sinkronizacije i memorijskih modela u paralelnim sustavima.
  5. Primjena naučenih koncepata u dekompoziciji jednostavnih problema s ciljem paralelnog izvođenja.
  6. Primjena naučenih koncepata u optimizaciji performansi.

Oblici nastave

Predavanja

Predavanja, nastavni materijali dostupni, teorijski i praktični aspekti tematske cjeline.

Samostalni zadaci

Projektni zadatak koji obuhvaća gradivo predmeta.

Laboratorij

Praktični dio predmeta fokusiran na pojedine stavke iz gradiva.

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Laboratorijske vježbe 50 % 25 % 50 % 25 %
Sudjelovanje u nastavi 0 % 5 % 0 % 5 %
Seminar/Projekt 50 % 30 % 50 % 30 %
Završni ispit: Pismeni 50 % 30 %
Završni ispit: Usmeni 10 %
Ispit: Pismeni 50 % 30 %
Ispit: Usmeni 10 %

Tjedni plan nastave

  1. Višestruka simultana računanja, Ciljevi paralelizma (npr. propusna moć) naspram višeprocesnosti (npr. kontroliranje pristupa zajedničkim resursima)
  2. Paralelizam, komunikacija i koordinacija, Ciljevi i osnovni modeli paralelizma
  3. Dijeljena memorija, Valentnost, Simetrični multiprocesor (SMP)
  4. Višejezgreni procesori, Dijeljena memorija u odnosu na distribuiranu memoriju
  5. SIMD, vektorsko procesiranje, GPU (grafičke procesorske jedinice), koprocesori
  6. Programski konstrukti za paralelizam
  7. Podjela bazirana na zadacima
  8. Međuispit
  9. Podjela bazirana na podatkovnom paralelizmu
  10. Pogreške u programiranju kojih nema u sekvencijalnom programiranju
  11. Modeli za paralelno izvođenje programa
  12. Procjenjivanje troška komunikacije
  13. Balansiranje opterećenja
  14. Akteri i reaktivni procesi (npr. rukovoditelji zahtjeva)
  15. Završni ispit

Literatura

John L. Hennessy, David A. Patterson (2017.), Computer Architecture, Morgan Kaufmann
Peter Pacheco (2011.), An Introduction to Parallel Programming, Elsevier
Ruud van der Pas, Eric Stotzer, Christian Terboven (2017.), Using OpenMP -- The Next Step, MIT Press
David R. Kaeli, Perhaad Mistry, Dana Schaa, Dong Ping Zhang (2015.), Heterogeneous Computing with OpenCL 2.0, Morgan Kaufmann

Za studente

Izvedba

ID 183376
  Zimski semestar
5 ECTS
R0 Engleski jezik
R1 E-učenje
45 Predavanja
0 Seminar
0 Auditorne vježbe
15 Laboratorijske vježbe
0 Konstrukcijske vježbe
0 Vježbe tjelesnog odgoja

Ocjenjivanje

90 izvrstan
75 vrlo dobar
65 dobar
50 dovoljan