VZPON VISOKOZMOGLJIVEGA RAČUNANJA

V zadnjih letih Evropa vlaga ogromno sredstev v računske centre za visokozmogljivo računanje, saj želi z uporabo teh sistemov na najrazličnejših področjih znanosti in industrije izboljšati konkurenčnost gospodarstva ter ponovno postati velesila na področju razvoja umetne inteligence.

 

Visokozmogljivo računanje odpira obilico zaposlitvenih priložnosti na najrazličnejših področjih, med drugim v naravoslovju, tehniki, medicini, ekonomiji. S poznavanjem področja boste znali hitreje in natančneje izvajati simulacije in obdelave podatkov, prispevali k razvoju boljših programskih rešitev in tako pomagali k rasti raziskovalne organizacije ali podjetja.

 

PREDMETI NA MAGISTRSKEM ŠTUDIJU

Na Fakulteti za računalništvo in informatiko Univerze v Ljubljani na magistrskem študiju izvajamo več predmetov s področja visokozmogljivih računalniških sistemov, kvantnih in biološki računalniških sistemov ter računanja in storitev v oblaku. Ti predmeti so zaradi sodobnosti in interdisciplinarnosti področja zanimivi tako za študente računalništva kot tudi za študente drugih fakultet.

 

Študenti drugih fakultet lahko predmete izberete v okviru splošne izbirnosti. V ta namen izpolnite obrazec v skladu z navodili in ga najkasneje do sredine septembra pošljite po elektronski pošti na naslov studinfo@fri.uni-lj.si. Za kakršnakoli vprašanja, povezana s samo vsebino in izvedbo predmeta, se pogovorite z nosilcem.

 

Banner slik serverjev in komponent

 

Visokozmogljivo računanje

Opis predmeta: Da bi moderne superračunalniške sisteme znali dobro izkoristiti, je treba poznati ustroj teh sistemov in njihove programske vmesnike. V okviru predmeta se bomo spoznali z vzporednim izvajanjem obstoječih programov, s sočasnim programiranjem večjedrnih procesorjev, splošno namenskih grafičnih pospeševalnikov in porazdeljenih sistemov. Na izbranih primerih bomo spoznali pasti vzporednih in porazdeljenih sistemov, jih poskušali razumeti in zaobiti. Programirali bomo v programskem jeziku C in programe zaganjali na eni od slovenskih superračunalniških gruč. Spoznali bomo množico konceptov in programskih vzorcev, ki jih boste lahko prenesli na reševanje problemov s svojega področja v svojem priljubljenem programskem jeziku. Pridobljena znanja bodo uporabna tudi širše, saj se boste preko praktične uporabe superračunalniškega sistema spoznali z vrsto orodij in pristopov, ki so potrebni pri delu na velikih računalniških sistemih.

V okviru predmeta vam bomo uredili dostop do slovenskih superračunalniških gruč v odprtem dostopu, ki jih v okviru študija lahko s pridom izkoristite tudi za reševanje problemov pri drugih predmetih in zaključnih nalogah.

 

Program: Računalništvo in informatika (magistrski študij) in Podatkovne vede (magistrski študij)

Nosilec: izr. prof. dr. Uroš Lotrič

 

Računalniški sistemi

Opis predmeta: Programiranje visokozmogljivih računalniških sistemov je pomembno orodje na različnih področjih znanosti in inženirstva. Vendar pa sisteme lahko res učinkovito uporabljamo, ko dobro poznamo njihovo arhitekturo. Pri predmetu bomo tako obravnavali arhitekture sodobnih visokozmogljivih računalniških sistemov: sisteme s skupnim pomilnikom, sisteme s porazdeljenim pomnilnikom, vektorske procesorje in razširitve SIMD ter grafične procesne enote. Preučevali bomo različne vrste vzporednosti računanja (procesorjev, povezovalnih omrežij in pospeševalnikov) in obravnavali arhitekturne vidike razvoja vzporednih računalnikov in skušali razumeti sodobne trende vzporednih in porazdeljenih arhitektur. Poznavanje arhitekture močno vpliva na učinkovito programsko implementacijo in zmogljivosti izvajanja programov. Dotaknili se bomo tudi razvoja pospeševalnikov za specifične naloge, kot so pospeševalniki za strojno učenje in tenzorska jedra, kjer se bomo srečali z orodji za visokonivojsko sintezo programirljivih vezij FPGA.

V okviru predmeta vam bomo uredili dostop do slovenskih superračunalniških gruč v odprtem dostopu, ki jih v okviru študija lahko s pridom izkoristite tudi za reševanje problemov pri drugih predmetih in zaključnih nalogah.

 

Program: Računalništvo in informatika (magistrski študij)

Nosilec: prof. dr. Branko Šter

 

Nekonvencionalne platforme in metode procesiranja

Opis predmeta: V zadnjih šestih desetletjih se klasični nosilci procesiranja v digitalnih sistemih razvijajo tako v smislu hitrosti delovanja, kot tudi v smislu miniaturizacije osnovnih procesnih entitet. Ob nadaljujočem se tovrstnem trendu bomo v bližnji prihodnosti dosegli nivo miniaturizacije, kjer bo vprašljivo zanesljivo obvladovanje dinamike osnovnih entitet zaradi drugačnih fizikalnih (kvantnih) zakonov, ki veljajo na tem nivoju. Poleg tega so obstoječi digitalni sistemi dragi, energetsko potratni in jih ni mogoče efektivno reciklirati. Posledično se na tem področju iščejo alternativne procesne platforme, ki bi navedene probleme zaobšle.

V okviru predmeta bomo tako pregledali aktualne alternativne platforme procesiranja in pomnjenja, kot so kvantni celični avtomati, biološko računalništvo, nanocevi, optične nosilce procesiranja in pa tudi alternativne metode procesiranja, ki jih tovrstne platforme omogočajo, kot so reverzibilnost logičnih funkcij ter kvantno, večstanjsko in amorfno procesiranje.

 

Program: Računalništvo in informatika (magistrski študij)

Nosilec: prof. dr. Miha Mraz

 

Računalniške storitve v oblaku

Opis predmeta: Pri predmetu boste pridobili znanja za razvoj inovativnih računalniških storitev in aplikacij, ki se izvajajo v računalniškem oblaku. Računalništvo v oblaku pomembno spreminja načine razvoja aplikacij in pri predmetu se bomo spoznali s koncepti, arhitekturami in tehnologijami za oblak. Poleg tega, da bomo osvojili poglobljeno znanje in poznavanje področja računalništva v oblaku in vseh nivojev storitvene usmerjenosti (Iaas, PaaS in SaaS), bomo podrobno spoznali arhitekturni model, vzorce in najboljše prakse za razvoj aplikacij v oblaku. Cilj bo razumeti in razviti oblačne aplikacije, ki se izvajajo na odporni in elastični oblačni infrastrukturi in spoznati, kako te aplikacije delujejo in kako jih nameščamo na različne oblake. Spoznali bomo koncepte zasebnih, javnih in hibridnih oblakov. Obenem se bomo spoznali s praksami DevOps, ki so nujne za razvoj oblačnih rešitev ter spoznali koncepte in projekte Cloud Native Computing Foundation.

Predmet je praktično orientiran. V okviru vaj študenti v skupinah razvijajo inovativne oblačne rešitve z uporabo ogrodij, kot so Spring Boot, KumuluzEE, Node.js, Docker, Kubernetes, Prometheus, v oblakih Amazon AWS, Google Cloud, Microsoft Azure in drugih.

 

Program: Računalništvo in informatika (magistrski študij)

Nosilec: prof. dr. Branko Matjaž Jurič