Paralelní a distribuované systémy
2026/2027, ZS
Kurz se zabývá základními aspekty paralelních a distribuovaných systémů. Od základů paralelismu, klasických problémů a přístupů k synchronizaci sdílenou pamětí, přes úvod do distribuovaných systému a výběr algoritmů pro řešení jejich základních problémů, až po přehled některých zajímavých moderních distribuovaných systémů.
Zdroje
Seznam zdrojů bude během semestru rozšiřován, zejména o reference ke konkrétním zmínkám z přednášek/cvičení. Podívejte se i k jednotlivým přednáškám a do zdrojů uvedených ve slidech.
- Stránka předmětu ve STAGu
- Distributed systems, Maarten van Steen, Andrew S. Tanenbaum, 2023 | Knihovna | Online
- Principles of concurrent and distributed programming, M. Ben-Ari, Addison-Wesley, 2006 | Knihovna
- Foundations of multithreaded, parallel, and distributed programming, Gregory R. Andrews, 2000 | Knihovna
- Grokking Concurrency, Kirill Bobrov, 2023
- The art of multiprocessor programming, Maurice Herlihy, Nir Shavit, Elsevier, 2008 | Knihovna
- The Little Book of Semaphores, Allen B. Downey, Green Tea Press, 2016 | Online
Zápočet
Na zápočet musíte splnit dvě podmínky:
- získat minimálně 30 bodů z průběžných úkolů
- bodované úkoly vždy budou zvěřejněny zde a na cvičení i s termínem
- úkoly musíte předvést osobně (budu se doptávat) a odeslat na mail
- celkově budou zadány úkoly za minimálně 60 bodů
- ve dvojicií či trojici seznámit kolegy na cvičení ve 30-40 minutách s nějakým zajímavým tématem, technologíí či výsledkem z oblasti paralelních a distribuovaných systémů
- skupinky si domluvte během prvního týdne, na druhéím cvičení je rozdělíme
- téma si volíte sami, ale musím jej schválit
- témata si nachystejte po vytvoření skupinek
- v případě kolize témat, téma dostane ten, kdo si řekl dříve (mailem či osobně)
- termíny pro skupinky vylosujeme po jejich určení (7-9 posledních cvičení)
- součástí povídání či ukázky musí být i krátky text pro kolegy k rozdání (cca 1x A4, tisk zařídím při odevzdání předem)
Zkouška
Zkouška se skládá ze dvou částí:
- Písemná část
- hromadně,
- náhodné otázky,
- 45 minut.
- Ústní část
- po jednom,
- projdeme spolu písemnou část
- a náhodný průřez kurzem,
- cca 15-20 minut
Přednášky
- Přednášky jsou ve středu v 16:00-17:30 v místnosti 1.029.
- Obsah bude doplňován během semestru.
- Úvod
- Paralelní systémy, kritická sekce
- Synchronizační primitiva
- slidy
- Ben-Ari, kapitoly 6 a 7 (více informací k semaforům a monitorům)
- Herlihy, Shavit, kapitola 17 (bariéry)
- Dokumentace vašeho oblíbeného jazyka (atomické akce, mutex, lock, semafor, monitor, podmíněná proměnná, bariéra, ThreadPool, …)
- Další ve slidech
- Klasické synchronizační problémy, Návrh paralelního systému