Uvod: cilji paralelizacije, komunikacija in koordinacija, programerske napake
Dekompozicija problema: podatkovni in funkcijski paralelizem, cevovod, raztegljivost
Komunikacija in koordinacija: večprocesorski sistemi (deljeni pomnilnik, sovisnost predpomnilnika, medsebojno izključevanje, prepreke, pogojne spremenljivke), večračunalniški sistemi (izmenjevanje sporočil, točka-točka in skupinsko, latenca in pasovna širina)
Paralelni algoritmi, analiza in programiranje: koncepti in primeri uporabe (nerodno paralelni algoritmi, deli in vladaj, razprši in združi, gospodar-suženj), analiza (pohitritev in Amdahlov zakon, raztegljivost)
Paralelne arhitekture: Flynnovo označevanje, večprocesorski sistemi (SIMD, UMA, NUMA), večračunalniški sistemi (gruča, grid, oblak), grafične procesne enote in moderni koprocesorji in heterogeni sistemi, povezovanje (vodila, mreže)
Zmogljivost paralelnih sistemov: uravnavanje obremenitve, razporejanje opravil, stroški komunikacije, vpliv predpomnilnika, prostorska in časovna lokalnost, energijska učinkovitost
Teoretični modeli paralelnega računanja: modeli paralelnega računanja (PRAM, BSP), modeli izmenjevanja sporočil (CSP), modeliranje odvisnosti v algoritmu, modeli zagotavljanja skladnosti v sistemih z deljenim pomnilnikom
Porazdeljeni sistemi: napake na mreži in vozliščih, razpoložljivost, kompromisi pri načrtovanju sistemov in servisnih storitev, primeri porazdeljenih algoritmov (volitve, odkrivanje)
Porazdeljeni sistemi
Uroš Lotrič
P.S. Pacheco. An Introduction to Parallel Programming, Morgan Kaufman, 2011.
M. J. Quinn. Parallel Programing in C with MPI and OpenMP. Mc Graw Hill, 2003.
B.R. Gaster et. al. Heterogeneous computing with OpenCL. Morgan Kaufmann, 2013.
G. Couloris et al. Distributed Systems: Concepts and Design. Pearson, 2012.
Pridobiti osnovno teoretično in praktično znanje s področij vzporednih in porazdeljenih sistemov, paralelnega programiranja in procesiranja. Razumeti računalniška omrežja, medprocesorsko komunikacijo in značilnosti snovanja paralelnih algoritmov. Naučiti se programiranja sistemov s knjižnicami pThreads, OpenMP, OpenCL in MPI. Razumeti Grid in koncept računalništva v oblaku. Seznaniti se s trendi razvoja.
Znanje in razumevanje:
Poznavanje pristopov, metod, arhitektur ter instrumentov upravljanja informatike.
Razumevanje strateškega planiranja in izbranih metod upravljanja informatike.
Uporaba:
Uporaba mehanizmov upravljanja informatike pri delu informatika.
Refleksija:
Razumevanje skladnosti med teorijo upravljanja informatike in praktičnim ravnanjem na podlagi konkretnih primerov uporabe v poslovnih sistemih ter najboljših praks.
Prenosljive spretnosti - niso vezane le na en
predmet:
Metode upravljanja informatike povezujejo med seboj različne vidike informatike, predstavljajo celostno obvladovanje informatike in so tako uporabne v okviru vseh področij informatike kot dela poslovnega sistema.
Predavanja, seminarji, laboratorijske vaje, projektno delo na laboratorijskih vajah, individualne domače naloge.
Domače naloge
Projekt
Ustni izpit
(ocene: 5 (negativno), 6-10 (pozitivno), ob upoštevanju Statuta UL)
LOTRIČ, Uroš, DOBNIKAR, Andrej. Parallel implementations of recurrent neural network learning. V: KOLEHMAINEN, Mikko (ur.), TOIVANEN, Pekka (ur.), BELICZYŃSKI, Bartĺomiej (ur.). Adaptive and natural computing algorithms : 9th international conference, ICANNGA 2009, Kuopio, Finland, April 23-25, 2009 : revised selected papers, (Lecture notes in computer science, ISSN 0302-9743, 5495). Berlin, Heidelberg, New York: Springer, cop. 2009, str. 99-108, ilustr. [COBISS-SI-ID 7346004]
SILVA, Catarina, LOTRIČ, Uroš, RIBEIRO, Bernardete, DOBNIKAR, Andrej. Distributed text classification with an ensemble kernel-based learning approach. IEEE transactions on systems, man and cybernetics. Pt. C, Applications and reviews, ISSN 1094-6977. [Print ed.], May 2010, vol. 40, no. 3, str. 287-297. [COBISS-SI-ID 7683668]
LOTRIČ, Uroš, BULIĆ, Patricio. Applicability of approximate multipliers in hardware neural networks. Neurocomputing, ISSN 0925-2312. [Print ed.], Nov. 2012, vol. 96, str. 57-65, ilustr. [COBISS-SI-ID 9160276]
SLUGA, Davor, CURK, Tomaž, ZUPAN, Blaž, LOTRIČ, Uroš. Acceleration of information-theoretic data analysis with graphics processing units. Przeglęad Elektrotechniczny, ISSN 0033-2097, 2012, no. 2, str. 136-139, ilustr. [COBISS-SI-ID 8952148]
CANKAR, Matija, ARTAČ, Matej, ŠTERK, Marjan, LOTRIČ, Uroš, SLIVNIK, Boštjan. Co-allocation with collective requests in grid systems. Journal for universal computer science, ISSN 0948-6968, 2013, vol. 19, no. 3, str. 282-300, ilustr. [COBISS-SI-ID 9797972]
Uroš Lotrič: