Toto je tzv. shluknutý kurz. Skládá se z několika samostatných předmětů, které sdílejí výukové materiály, úkoly, testy apod. Níže si můžete zobrazit informace o jednotlivých předmětech tvořících tento shluk.

Distribuované systémy a výpočty - B2M32DSV

Hlavní kurz
Kredity 5
Semestry zimní
Zakončení zápočet a zkouška
Jazyk výuky čeština
Rozsah výuky 2P + 2C
Anotace
Předmět je zaměřen na technologie podporující distribuovaný výpočet: na mechanismy zajišťující spolehlivé, efektivní a bezpečné propojení aplikačních procesů, programová rozhraní komunikačních kanálů a současné middleware technologie. Podstatná část přednášek je věnována typickým technikám distribuovaného výpočtu: zabezpečení kauzality výpočtu, zajištění výlučného přístupu, zvládnutí zablokování, ochraně proti výpadkům, mobilitě výpočtu a bezpečnosti.
Cíle studia
Absolvent předmětu získá přehled v oboru distribuovaných systémů. Bude si vědom omezení i výhod při nasazování takovýchto systémů. Absolvent bude také schopen navrhnout a implementovat jednoduchý distribuovaný systém.
Osnovy přednášek
1. Distribuovaný výpočet, grafové algoritmy (Dijkstra), synchronní a asynchronní model
2. Komunikační systém - potvrzovací protokoly, směrování
3. Synchronní a asynchronní výměna zpráv, multicasting
4. Procedurální komunikace - IDL rozhraní, sémantika volání, asynchronní mechanismy
5. Modely distribuovaného výpočtu - client-server, peer-to-peer, subscribe-publish, cloud computing
6. Podpora distribuovaných aplikací - Java RMI, JMS, Jini; SOAP, REST
7. Čas v distribuovaných systémech - synchronizace fyzických hodin, skalární a vektorové logické hodiny
8. Sdílení prostředků, distribuované algoritmy výlučného přístupu
9. Algoritmy rozbití symetrie
10. Detekce ukončení výpočtu, zablokování - předcházení a detekce
11. Replikace dat a procesů, zajištění konzistence
12. Velké distribuované systémy: architektura a výpočty (DHT, CDN, MapReduce, PageRank, social networks)
13. Mobilita v distribuovaných systémech - rozkládání zátěže, mobilní agenti, kooperující ad-hoc systémy
14. Bezpečnost v distribuovaných systémech - Kerberos, PKI, PGP
Osnovy cvičení
1. Úvod do předmětu
2. Prostředí RPC, messaging queue
3. Prostředí SOAP
4. Prostředí REST
5. Práce na malých úlohách, konzultace
6. Práce na malých úlohách, konzultace
7. Distribuovaná aplikace - ukázka implementace
8. Distribuovaná aplikace - ukázka implementace, zadání projektu
9. Práce na projektu, konzultace
10. Práce na projektu, konzultace
11. Distribuované ukládání dat
12. Práce na projektu, konzultace
13. Vyhodnocení projektu
14. Vyhodnocení projektu, zápočet
Literatura
Janeček J.: Distribuované systémy, ES ČVUT 2001, ISBN: 8001023079.
Coulouris G., Dollimore J., Kindberg T., Blair G.: Distributed Systems: Concepts and Design (5th Edition), Addison-Wesley 2011, ISBN: 0132143011.
Tel G.: Introduction to Distributed Algorithms, Cambridge University Press 2000, ISBN: 0521794838.
Attiya H., Welch J.: Distributed Computing: Fundamentals, Simulations, and Advanced Topics, John Wiley and Sons, Inc., 2004. Second Edition, ISBN: 978-0-471-45324-6.
Požadavky
Základní znalosti v oboru počítačových sítí a komunikací. Základy programování v jazyce Java.

Distribuované systémy a výpočty - B6B32DSV

Kredity 5
Semestry zimní
Zakončení zápočet a zkouška
Jazyk výuky neurčen
Rozsah výuky 2P + 2L + 4D
Anotace
Předmět je zaměřen na technologie podporující distribuovaný výpočet: na mechanismy zajišťující spolehlivé, efektivní a bezpečné propojení aplikačních procesů, programová rozhraní komunikačních kanálů a současné middleware technologie. Podstatná část přednášek je věnována typickým technikám distribuovaného výpočtu: zabezpečení kauzality výpočtu, zajištění výlučného přístupu, zvládnutí zablokování, ochraně proti výpadkům, mobilitě výpočtu a bezpečnosti.
Cíle studia
Absolvent předmětu získá přehled v oboru distribuovaných systémů. Bude si vědom omezení i výhod při nasazování takovýchto systémů. Absolvent bude také schopen navrhnout a implementovat jednoduchý distribuovaný systém.
Osnovy přednášek
1. Distribuovaný výpočet, grafové algoritmy (Dijkstra), synchronní a asynchronní model
2. Komunikační systém - potvrzovací protokoly, směrování
3. Synchronní a asynchronní výměna zpráv, multicasting
4. Procedurální komunikace - IDL rozhraní, sémantika volání, asynchronní mechanismy
5. Modely distribuovaného výpočtu - client-server, peer-to-peer, subscribe-publish, cloud computing
6. Podpora distribuovaných aplikací - Java RMI, JMS, Jini; SOAP, REST
7. Čas v distribuovaných systémech - synchronizace fyzických hodin, skalární a vektorové logické hodiny
8. Sdílení prostředků, distribuované algoritmy výlučného přístupu
9. Algoritmy rozbití symetrie
10. Detekce ukončení výpočtu, zablokování - předcházení a detekce
11. Replikace dat a procesů, zajištění konzistence
12. Velké distribuované systémy: architektura a výpočty (DHT, CDN, MapReduce, PageRank, social networks)
13. Mobilita v distribuovaných systémech - rozkládání zátěže, mobilní agenti, kooperující ad-hoc systémy
14. Bezpečnost v distribuovaných systémech - Kerberos, PKI, PGP
Osnovy cvičení
1. Úvod do předmětu
2. Prostředí RPC, messaging queue
3. Prostředí SOAP
4. Prostředí REST
5. Práce na malých úlohách, konzultace
6. Práce na malých úlohách, konzultace
7. Distribuovaná aplikace - ukázka implementace
8. Distribuovaná aplikace - ukázka implementace, zadání projektu
9. Práce na projektu, konzultace
10. Práce na projektu, konzultace
11. Distribuované ukládání dat
12. Práce na projektu, konzultace
13. Vyhodnocení projektu
14. Vyhodnocení projektu, zápočet
Literatura
Janeček J.: Distribuované systémy, ES ČVUT 2001, ISBN: 8001023079.
Coulouris G., Dollimore J., Kindberg T., Blair G.: Distributed Systems: Concepts and Design (5th Edition), Addison-Wesley 2011, ISBN: 0132143011.
Tel G.: Introduction to Distributed Algorithms, Cambridge University Press 2000, ISBN: 0521794838.
Attiya H., Welch J.: Distributed Computing: Fundamentals, Simulations, and Advanced Topics, John Wiley and Sons, Inc., 2004. Second Edition, ISBN: 978-0-471-45324-6.
Požadavky
Absolvovaný předmět: Počítačové sítě
Základní znalosti v oboru počítačových sítí a komunikací. Základy programování v jazyce Java.

Algoritmy pro distribuované a paralelní systémy - A8M01ADP

Kredity 5
Semestry zimní
Zakončení zápočet a zkouška
Jazyk výuky čeština
Rozsah výuky 3P+1S
Anotace
Předmět slouží jako teoretická průprava pro pokročilou algoritmizaci, paralelní a distribuovanou implementaci algoritmů
v oblasti zpracování signálů, optimalizačních úlohách a algoritmech komunikačních sítí. \\Výsledek studentské ankety předmětu je zde: http://www.fel.cvut.cz/anketa/aktualni/courses/A8M01ADP
Cíle studia
Žádná data.
Osnovy přednášek
1. Asymptotická složitost algoritmů, třídy složitosti P, NP a NPC
2. Polynomiálně řešitelné grafové úlohy: minimalní kostra, nejkratší cesta
3. NP úplné grafové úlohy: problém barevnosti grafu, distribuované algoritmy pro barvení grafu
4. Modely a representace pro paralelní a distribuované algoritmy, topologie, komunikace, synchronizace.
Paralelizovatelné úlohy.
5. Paralelní algoritmy na síťové architektruře, třídění, rekurze, směrování.
6. Paralelní algoritmy na dalších arthitekturách - hypercube, hvězda, kruh.
7. Sdílení paměti, pipeline, scheduling, masivně paralelní úlohy.
8. Aplikace paralelních algoritmů v numerických úlohách, zpracování signálu, optimalizace a komunikacích.
9. Programovací jazyky pro paralelní výpočty.
10. Distribuované algoritmy - komunikace, koordinace, symetrie, lokálnost
11. Volba koordinátora.
12. Distribuovaný konsensus (problém byzantských generálů).
13. Synchronizace.
14. Aplikace distribuovaných algoritmů v komunikačních a rozhodovacích sítích.
Osnovy cvičení
Žádná data.
Literatura
1. F. T. Leighton, Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan
Kaufmann, 1992.
2. N. Lynch, Distributed Algorithms. Morgan Kaufmann, 1996.
3. G. Tel: Introduction to distributed algorithms, Cambridge 1994
4. D. P. Bertsekas, J. N. Tsitsiklis: Parallel and distributed computation: numerical methods
Požadavky
Žádná data.