ÚVOD / Studijní obory / Sylaby / Analýza dat a jejich vizualizace

Paralelní a distribuované programování

Efektivitu mnoha algoritmů lze výrazně vylepšit paralelním zpracování a to zvlaště v oblasti big data s případnou podporou cloudových služeb. Předmět proto představí jednotlivé architektury paralelních a distribuovaných výpočetních procesů s odpovídajícími modely a nástroji na jejich aplikaci. K tomuto se studenti naučí využívat jednotlivé návrhové vzory pro paralelní či distribuované programování.

Sylabus předmětu

  1. Architektury systémů pro paralelní a distribuované výpočty 
  2. Paralelní primitiva jako procesy, vlákna a vzájemná komunikace
  3. Synchronizační prostředky pro komunikaci
  4. Paralelní a distribuované modely výpočtů.
  5. Měření výkonnosti paralelních výpočtů a vyvažování zátěže
  6. Jazyky pro realizaci distribuovaných a paralelních výpočtů 
  7. Členění úloh pro paralelní a distribuované programování a odpovídající návrhové vzory 
  8. Cloudové technologie pro paralelní a distribuované výpočty se zaměřením na zpracování velkých dat.
  9. Použití MapReduce v datově náročných cloudových výpočtech
  10. Ukázkové řešení úlohy pomocí MapReduce v prostředí Hadoop
  11. Strategie rozděl a panuj s příklady algoritmů
  12. Příklady paralelní maticových a grafových algoritmů.

Organizace výuky

Prezenční forma

Výuka probíhá ve 12 přednáškách po 3 hodinách a 12 seminářích po 1,5 hodině.

Doporučená literatura

Základní učební texty a pomůcky

Základní:
  • Mattson, T.G., Sanders, B.A., Massingill, B.L.: Patterns for Parallel Programming. Addison-Wesley Professional. 2004
  • Andrews, G.R.: Foundations of Multithreaded, Parallel, and Distributed Programming. Addison Wesley, 2000.
  • Magoules, F., Pan, J., Teng, F. Cloud Computing: Data-Intensive Computing and Scheduling. Chapman and Hall/CRC, 2016 
  • White, T. Hadoop: The Definitive Guide. O'Reilly Media. 4th edition, 2015. 
Doporučená:
  • Mattson, T.G., Sanders, B.A., Massingill, B.L. Patterns for Parallel Programming. Addison-Wesley Professional, 2004. 
  • Chapple, S.R., Troup, E., Forster, T., Sloan, T. Mastering Parallel Programming with R.  Packt Publishing, 2016. 
  • Fokkink, W. Distributed Algorithms: An Intuitive Approach. MIT Press, 2013.