Preskoči na glavno vsebino

Porazdeljeni sistemi

2023/2024
Program:
Interdisciplinarni univerzitetni študijski program 1. stopnje Računalništvo in matematika
Letnik:
3 letnik
Semester:
prvi
Vrsta:
izbirni
Skupina:
Modul: Računalniški sistemi
ECTS:
6
Jezik:
slovenski
Nosilec predmeta:

Uroš Lotrič

Ure na teden – 1. semester:
Predavanja
3
Seminar
0.67
Vaje
0
Laboratorij
1.33
Vsebina

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)

Temeljni literatura in viri

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.

Cilji in kompetence

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.

Predvideni študijski rezultati

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.

Metode poučevanja in učenja

Predavanja, seminarji, laboratorijske vaje, projektno delo na laboratorijskih vajah, individualne domače naloge.

Načini ocenjevanja

Domače naloge
Projekt
Ustni izpit
(ocene: 5 (negativno), 6-10 (pozitivno), ob upoštevanju Statuta UL)

Reference nosilca

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č: