1. Úvod do problematiky paralelních a distribuovaných systémů. Paralelismus a pseudoparalelismus, procesy a vlákna.
2. Technická klasifikace paralelních a distribuovaných systémů. Flynnova taxonomie. Architektury s distribuovanou a sdílenou pamětí.
3. Specifika programování pro architektury se sdílenou pamětí. OpenMP, C++11, Thread Building Blocks.
4. Další aktuální modely paralelního zpracování pro architektury se sdílenou pamětí. Jazyky Go, Rust a další. Paralelismus v jazyce Python.
5. Systémy s distribuovanou pamětí. Význam propojovacích subsystémů a jejich vlastnosti.
6. Model předávání zpráv. Komunikace dvoustranná a skupinová. Message Passing Interface (MPI).
7. Task/channel model paralelního výpočtu. Fronty zpráv, Message Oriented Middleware (MOM). Posixové fronty.
8. Distribuovaná sdílená paměť, výpočetní model Partitioned Global Adress Space (PGAS). Jazyky Unified Parallel C (UPC) a UPC++.
9. Grafické karty jako prostředek pro paralelizaci / akceleraci výpočtů. Vývojové prostředí CUDA. Hybridní výpočty.
10. Počítání v Cloudu. Model Map-Reduce, aplikační rámce Hadoop, Spark a Flink. Scénáře jejich využití.
11. Webové služby a jejich využití pro distribuované výpočty. Volání vzdálených procedur. Architektonický styl Representational State Transfer (REST).
12. Knihovna Tensor Flow a její použití, aplikační rámec Caffe2.
13. Paralelní a distribuované metody pro zpracování velkých dat.
2. Technická klasifikace paralelních a distribuovaných systémů. Flynnova taxonomie. Architektury s distribuovanou a sdílenou pamětí.
3. Specifika programování pro architektury se sdílenou pamětí. OpenMP, C++11, Thread Building Blocks.
4. Další aktuální modely paralelního zpracování pro architektury se sdílenou pamětí. Jazyky Go, Rust a další. Paralelismus v jazyce Python.
5. Systémy s distribuovanou pamětí. Význam propojovacích subsystémů a jejich vlastnosti.
6. Model předávání zpráv. Komunikace dvoustranná a skupinová. Message Passing Interface (MPI).
7. Task/channel model paralelního výpočtu. Fronty zpráv, Message Oriented Middleware (MOM). Posixové fronty.
8. Distribuovaná sdílená paměť, výpočetní model Partitioned Global Adress Space (PGAS). Jazyky Unified Parallel C (UPC) a UPC++.
9. Grafické karty jako prostředek pro paralelizaci / akceleraci výpočtů. Vývojové prostředí CUDA. Hybridní výpočty.
10. Počítání v Cloudu. Model Map-Reduce, aplikační rámce Hadoop, Spark a Flink. Scénáře jejich využití.
11. Webové služby a jejich využití pro distribuované výpočty. Volání vzdálených procedur. Architektonický styl Representational State Transfer (REST).
12. Knihovna Tensor Flow a její použití, aplikační rámec Caffe2.
13. Paralelní a distribuované metody pro zpracování velkých dat.