Paralelné programovanie a distribuované systémy

Ďalší semester takmer za nami!

Adresa servera Discord https://discord.gg/WGNAE8JrJJ

Prednáška, seminár a cvičenie prebiehajú pomocou služby Google meet na adrese https://meet.google.com/csw-xgai-xan

Organizácia
Prednášky
Cvičenia
Podmienky
Literatúra

Organizácia predmetu


Predmet je členený do nasledujúcich aktivít:

  • Prednášky: 2 hodiny týždenne podľa rozvrhu (utorok 9:00–10:40)
  • Prezenčná forma štúdia: cvičenie 2 hodiny týždenne podľa rozvrhu (utorok 13:00–14:40 a 15:00–16:40)
  • Dištančná forma štúdia:
    • spoločný seminár 1 hodina týždenne v utorok 11:00–11:50
    • cvičenie 1 hodina týždenne podľa rozvrhu (utorok 13:00–13:50 a 15:00–15:50)
  • Samostatné domáce štúdium

Prednáška:

Prezenčná forma štúdia: utorok, 9.00–10.40, miestnosť C–801

Dištančná forma štúdia: utorok, 9.00–10.40, Google meet https://meet.google.com/csw-xgai-xan

Cvičenia:

Všetky cvičenia sú v utorok:

  • V prípade prezenčnej formy štúdia v miestnosti C–801 v časoch
    • 13.00–14.40
    • 15.00–16.40
  • V prípade dištančnej formy štúdia pomocou služby Google meet https://meet.google.com/csw-xgai-xan v časoch
    • 13.00–13.50
    • 15.00–15.50

Seminár:

Iba v prípade dištnančnej formy štúdia, v utorok po prednáške v čase 11:00–11:50 na serveri Discord https://meet.google.com/csw-xgai-xan

Konzultácie:

Dohodou (na prednáške/na cvičení/na seminári/na Discorde/mailom/poštou/…).

Cieľ predmetu

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.

Plán semestra

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:

  1. klasické synchronizačné problémy
  2. menej klasické synchronizačné problémy
  3. nie až tak klasické synchronizačné problémy
  4. ani zďaleka klasické synchronizačné problémy.

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…

16.2.2021 1. prednáška
23.2.2021 2. prednáška
2.3.2021 3a. prednáška

3b. prednáška

9.3.2021 4a. prednáška

4b. prednáška

16.3.2021 5. prednáška
23.3.2021 6. prednáška
30.3.2021 konzultácia k zápočtu
6.4.2021 7. prednáška
13.4.2021 8. prednáška
20.4.2021 9. prednáška
27.4.2021 10. prednáška
4.5.2021 konzultácia k zápočtu
Skúškové obdobie Skúška RT a OT

Prednášky

7. týždeň – konzultácia  k zápočtu č. 1
7. prednáška – koprogramy

Iterátor, generátor a korutina v jazyku Python

8. prednáška – Async IO

Async IO v Pythone

9. prednáška – CUDA

Cuda

10. prednáška – CUDA

Cuda pokračovanie

12. týždeň – konzultácia k zápočtu č. 2

Podmienky absolvovania

  1. Prvá zápočtová písomka 30. marca 2021 o 12:30 formou testu v AIS za 12 bodov. Potrebné získať minimálne 5 bodov
  2. Druhá zápočtová písomka 4. mája 2021 o 12:30 formou testu v AIS za 8 bodov. Potrebné získať minimálne 3 body
  3. Možnosť získať za vypracovanie úloh na každom z cvičení 2 body (10x). Hodnotí sa git repozitár (Github, Gitlab, vlastný server). Vypracovanie musí byť do času začiatku prednášky nasledovného týždňa. Git repozitár musí obsahovať kompletnú históriu projektu. Správy commitov musia byť v štandardnom formáte Conventional Commits a riadne podpísané menom autora. Plagiátorstvo je ohodnotené symbolom NZ (nedostal zápočet) (časť kódu prevzatú od iného autora musíte riadne označiť, inak ide o plagiát; podobne ide o plagiát, ak viacerí študenti zdieľajú preukázateľne podobný kód).
  4. Možnosť získať 10x 1 bod za 2 otázky k zápočtu/skúške z obsahu cvičení (každá otázka za 0.5b). Hodnotí sa originalita otázky, zložitosť otázky (je rozdiel otázka na jeden riadok, na ktorú sa odpovedá áno/nie a otázka, kde treba napísať štruktúrovaný programový kód), počet rôznych odpovedí a samotný formát otázky. Formát otázok sa nachádza tu. Pre získanie hodnotenia je nutné otázky odovzdať do nedele 22:22 v daný týždeň, ktorého sa otázky týkajú (platí pre otázky cvičení aj prednášok).
  5. Možnosť získať 10x 2 body za 4 otázky k zápočtu/skúške z obsahu prednášok (každá otázka za 0.5b). Podmienky získania hodnotenia sú rovnaké ako pri predošlom bode.
  6. Skúška za 30 bodov formou testu v AIS. Potrebné získať minimálne 10 bodov
  7. Hodnotenie jedným písmenkom môže získať iba ten, kto na konci semestra (po skúške!) vyplnení evaluáciu.

Upozornenie

Š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.“