Predmet je členený do nasledujúcich aktivít:
Prezenčná forma štúdia: utorok, 8.00–9.40, miestnosť C–801
Dištančná forma štúdia: utorok, 8.00–9.40, Google meet https://meet.google.com/oot-adcf-xyi
Cvičenia sú v utorok a v stredu:
Iba v prípade dištančnej formy štúdia, v stredu v čase 8:00–9:40 pomocou služby Google meet https://meet.google.com/oot-adcf-xyi. V rámci neho bude realizované aj spoločné cvičenie.
Dohodou (na prednáške/na cvičení/na seminári/na Discorde/mailom/poštou/osobne/na brigáde…).
Obsahom predmetu je analýza rôznych synchronizačných vzorov. Naším cieľom je ponúknuť študentom možnosť oboznámiť sa s rôznymi synchronizačnými problémami spolu s ich riešením. Synchronizačnými problémami rozumieme riešenie koordinácie súbežne (azda aj súčasne) vykonávaných úloh s cieľom zabezpečiť integritu údajov, s ktorými jednotlivé úlohy pracujú; samozrejme zároveň požadujeme dosiahnutie korektného výsledku výpočtu.
V druhej časti semestra zameriavame pozornosť na niektoré moderné oblasti programovania, ktoré sa rýchlo rozvíjajú: paralelné výpočty na grafických kartách a asynchrónne programovanie.
Prednášky sledujú obsah knižky „The Little Book of Semaphores“ od autora menom Allen B. Downey (zdroj napr. na http://greenteapress.com/wp/semaphores/).
Preberané synchronizačné problémy delíme podľa uvedenej literatúry na:
V úvodnej časti semestra sa oboznámime so základnými synchronizačnými primitívami a vzormi ako mutex, semafor, signalizácia, kritická oblasť, rendezvous, multiplex, bariéra… Zároveň s nimi začneme riešiť klasické synchronizačné úlohy ako producent/konzument, čitatelia/zapisovatelia, večerajúci filozofi, problém fajčiarov…
15.2.2022 | 1. prednáška |
22.2.2022 | 2. prednáška |
1.3.2022 | 3a. prednáška
3b. prednáška |
8.3.2022 | 4a. prednáška
4b. prednáška |
15.3.2022 | 5. prednáška |
22.3.2022 | 6. prednáška |
29.3.2022 | konzultácia k zápočtu |
5.4.2022 | 7. prednáška |
12.4.2022 | 8. prednáška |
19.4.2022 | 9. prednáška |
26.4.2022 | — |
3.5.2022 | 10. prednáška |
Skúškové obdobie | Skúška RT a OT |
Úvod do paralelných a distribuovaných výpočtov
Mutex, multiplex, turniket, (znovupoužiteľná) bariéra
Bariéra a Fibonacci revisited
Producent-konzument, čitatelia-zapisovatelia, turniket
Čitatelia / zapisovatelia ešte raz
Večerajúci filozofi
Fajčiari, divosi, scoreboard
Holič, H20, preplavenie cez rieku, húsenková dráha
Iterátor, generátor a korutina v jazyku Python
Async IO v Pythone
Cuda
Cuda pokračovanie
Študijný poriadok STU v článku 5 bod 2 hovorí: „Organizovanými formami vzdelávacích činností sú najmä prednáška, seminár, rôzne typy cvičení (…).“ Následne v bode 5 toho istého článku upozorňuje, že: „Neúčasť študenta na vzdelávacej činnosti môže vo výnimočných prípadoch vyučujúci ospravedlniť z dôvodu práceneschopnosti alebo z dôvodu iných prekážok na strane študenta (…), ktoré študent preukáže príslušnými dokladmi. Vyučujúci môže požadovať od študenta vypracovanie náhradnej úlohy, napr. seminárnej práce, ako náhradu za neúčasť na výučbe. V prípade neospravedlnenej neúčasti študent nemá nárok na zadanie náhradnej úlohy.“