Popis předmětu - B2M32DSVA
B2M32DSVA | Distribuované systémy a výpočty | ||
---|---|---|---|
Role: | PS, PV | Rozsah výuky: | 2P + 2C |
Katedra: | 13132 | Jazyk výuky: | CS |
Garanti: | Macejko P. | Zakončení: | Z,ZK |
Přednášející: | Macejko P. | Kreditů: | 6 |
Cvičící: | Macejko P., Vondrouš O., Votava O. | 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 9.10.2024 17:50:46, semestry: L/2024-5, L/2023-4, Z/2025-6, Z/2024-5, 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) |