UINA331 Non-Sequential Computations

Filozoficko-přírodovědecká fakulta v Opavě
léto 2020
Rozsah
3/0/0. 5 kr. Ukončení: zk.
Vyučující
doc. Ing. Petr Sosík, Dr. (přednášející)
Garance
doc. Ing. Petr Sosík, Dr.
Ústav informatiky – Filozoficko-přírodovědecká fakulta v Opavě
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
The course introduces elementary concepts of parallel programming, the parallel computing model PRAM and a basic set of techniques of parallel algorithm development. Another part of the course is devoted to multi-thread programming, including practical projects.
Osnova
  • 1. Zopakování základních pojmů z teorie složitosti (notace O).
    2. Paradigma nesekvenčních výpočtů. PRAM a jeho varianty (EREW, CRCW, CREW). Složitostní míry paralelních algoritmů.
    3. Věta o zrychlení, Brentovo lemma. Teze o paralelní vyčíslitelnosti.
    4. Paralelizace pomocí vyvážených stromů.
    5. Paralelizace metodou "rozděl a opanuj".
    6. Paralelizace metodou segmentace.
    7. Paralelizace metodou řetězení.
    8. Paralelizace metodou urychlení kaskádou.
    9. Vícevláknové programování v jazyce Java.
    10. Samostatný projekt.
Literatura
    povinná literatura
  • Oracle Inc. JavaTutorials. Lesson: Concurrency. URL info
  • JAJA, J. An Introduction to Parallel Algorithms. Addison-Wesley, Reading, Mass., 1992. info
    doporučená literatura
  • TEL, G. Introduction to Distributed Algorithms. Cambridge University Press, Cambridge, 2000. info
Výukové metody
Přednáška s aktivizací
Přednáška s analýzou videozáznamu
Metody hodnocení
Zkouška
Vyučovací jazyk
Angličtina
Informace učitele
1. Mikroprojekty (6x5 bodů) + finální programátorský projekt Java/C# (30 bodů)
Minimum k absolvování: 50% z každého (mikro)projektu
2. Nejméně 50% bodů ze závěrečné písemky (max. 40 bodů) pokrývající celý obsah kursu.
Další komentáře
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích léto 2018, léto 2019, léto 2021.