Popis předmětu - B2M32DSVA
| B2M32DSVA | Distribuované systémy a výpočty | ||
|---|---|---|---|
| Role: | PS, P, PV | Rozsah výuky: | 2P + 2C |
| Katedra: | 13132 | Jazyk výuky: | CS |
| Garanti: | Zakončení: | Z,ZK | |
| Přednášející: | Kreditů: | 6 | |
| Cvičící: | Semestr: | Z | |
Webová stránka:
https://moodle.fel.cvut.cz/courses/B2M32DSVAAnotace:
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. | Modely distribuovaného výpočtu - client-server, peer-to-peer, subscribe-publish, cloud computing | |
| 5. | Podpora distribuovaných aplikací - Java RMI, JMS, Jini; SOAP, REST | |
| 6. | Čas v distribuovaných systémech - synchronizace fyzických hodin, skalární a vektorové logické hodiny | |
| 7. | Sdílení prostředků, distribuované algoritmy výlučného přístupu | |
| 8. | Algoritmy rozbití symetrie | |
| 9. | Detekce ukončení výpočtu, zablokování - předcházení a detekce | |
| 10. | Replikace dat a procesů, zajištění konzistence | |
| 11. | Velké distribuované systémy: architektura a výpočty (DHT, CDN, ...) | |
| 12. | Mobilita v distribuovaných systémech - rozkládání zátěže, mobilní agenti, kooperující ad-hoc systémy | |
| 13. | Bezpečnost v distribuovaných systémech - Kerberos, PKI, PGP | |
| 14. | Distribuovaná decentralizovaná databáze - blockchain |
Osnovy cvičení:
| 1. | Úvod do předmětu | |
| 2. | Procedurální komunikace - Java RMI | |
| 3. | Fronty zpráv - Java JMS | |
| 4. | Komunikace pomocí REST | |
| 5. | Využití technologie gRPC | |
| 6. | Využití technologie RabbitMQ | |
| 7. | Distribuovaná aplikace - ukázka - návrh | |
| 8. | Distribuovaná aplikace - ukázka - implementace, zadání projektu | |
| 9. | Práce na projektu, konzultace | |
| 10. | Práce na projektu, konzultace | |
| 11. | Práce na projektu, konzultace | |
| 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. Santoro N.: Design and Analysis of Distributed Algorithms, Wiley-Interscience, 2006, ISBN: 978-0471719977Požadavky:
Základní znalosti v oboru počítačových sítí a komunikací. Základy programování v jazyce Java.Klíčová slova:
distribuovaný výpočet, distribuované systémy, koordinace procesůPředmět je zahrnut do těchto studijních plánů:
| Stránka vytvořena 16.2.2026 17:51:13, semestry: L/2025-6, L/2027-8, L/2026-7, Z/2027-8, Z/2026-7, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: I. Halaška (K336), J. Novák (K336) |