Paralelno programiranje

Opis predmeta

Predmet ukazuje na potrebu za razvojem algoritama koji su u stanju iskoristiti sve veći potencijal dostupne računalne moći u obliku velikog broja raspoloživih računala. Upoznaju se principi razvoja paralelnih algoritama. Predstavalju se odgovarajući modeli paralelnih računala i paradigme paralelnih programa. Opisano je korištenje tehnologija razvoja paralelih algoritama u raznim računalnim okruženjima. Posebna pažnja se posvećuje mogućnosti razvoja modularnih paralelnih programa namijenjenih za rad u složenijem paralelnom sustavu.

Ishodi učenja

  1. opisati modele paralelnih računala i paralelnog programiranja
  2. opisati model PRAM računala
  3. primijeniti model PRAM računala u paralelnom programiranju
  4. primijeniti MPI tehnologiju za razvoj paralelnih programa
  5. prepoznati faze oblikovanja paralelnog algoritma
  6. kombinirati elemente razvoja paralelnog algoritma
  7. ocijeniti učinkovitost i prilagodljivost paralelnog algoritma

Oblici nastave

Predavanja

Auditorne vježbe

Samostalni zadaci

Tjedni plan nastave

  1. (en) Flynn’s taxonomy
  2. (en) Parallel algorithm development models
  3. Komunikacija porukama, Dijeljena memorija u odnosu na distribuiranu memoriju
  4. Komunikacija porukama
  5. (en) Formal models of parallel computation, including the Parallel Random Access Machine (PRAM/APRAM) and alternatives such as Bulk Synchronous Parallel (BSP)
  6. (en) Formal models of parallel computation, including the Parallel Random Access Machine (PRAM/APRAM) and alternatives such as Bulk Synchronous Parallel (BSP)
  7. (en) Parallel algorithmic patterns (divide-and-conquer, map and reduce, master-workers, others)
  8. Međuispit
  9. (en) Parallel algorithmic patterns (divide-and-conquer, map and reduce, master-workers, others)
  10. (en) Analysis methods for parallel algoritmhs
  11. (en) Speed-up and scalability
  12. (en) Performance measurement and model evaluation
  13. (en) Modular parallel algorithms
  14. Neuniformne memorijske arhitekture. GPGPU (grafičke procesorske jedinice opće namjene)
  15. Završni ispit

Studijski programi

Sveučilišni diplomski
Programsko inženjerstvo i informacijski sustavi (profil)
Izborni predmet (2. semestar) Jezgreni predmeti profila (2. semestar)
Računalno inženjerstvo (profil)
Izborni predmet profila (2. semestar)
Računarska znanost (profil)
(2. semestar)

Literatura

(.), Paralelno programiranje - skripta,
(.), Naziv Designing and Building Parallel Programs,
(.), Autori I. Foster,
(.), Izdavač Addison-Wesley,

Za studente

Izvedba

ID 222648
  Ljetni semestar
5 ECTS
R3 Engleski jezik
R1 E-učenje
30 Predavanja
15 Auditorne vježbe
4 Laboratorijske vježbe