INMNPDIS Distribuované systémy

Obchodně podnikatelská fakulta v Karviné
léto 2017
Rozsah
2/1/0. 4 kr. Ukončení: zk.
Vyučující
doc. Mgr. Petr Suchánek, Ph.D. (přednášející)
doc. Mgr. Petr Suchánek, Ph.D. (cvičící)
Garance
doc. Mgr. Petr Suchánek, Ph.D.
Katedra informatiky a matematiky – Obchodně podnikatelská fakulta v Karviné
Kontaktní osoba: doc. Mgr. Petr Suchánek, Ph.D.
Předpoklady
K absolvování předmětu nejsou vyžadovány žádné podmínky a předmět může být zapsán nezávisle na jiných předmětech.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Cílem předmětu je seznámit studenty se základními pojmy a architekturami distribuovaných systémů, jejich provozem a správou, distribuovanými databázemi, distribuovanými protokoly a typickými technikami distribuovaných výpočtů, kterými jsou zabezpečení kauzality výpočtu, zajištění výlučného přístupu a řešení zablokování, ochrana proti výpadkům, mobilita výpočtu a bezpečnost.
Osnova
  • 1. Definice a funkce distribuovaných systémů.
    2. Distribuované technologie pro oblast WWW.
    3. Meziprocesová komunikace.
    4. Skupinová komunikace (unicast, broadcast, multicast).
    5. Synchronizace v distribuovaném systému.
    6. Topologické úlohy.
    7. Směrování toku zpráv.
    8. Transakční zpracování.
    9. Distribuované databázové systémy.
    10. Identifikace objektů v distribuovaném systému
    11. Distribuovaná sdílená paměť.
    12. Vzdálené spouštění procesů.
    13. Správa prostředků.
    1. Definice a funkce distribuovaných systémů (základní charakteristika distribuovaných systémů - výhody, nevýhody). Požadavky na hardware. Architektury a modely distribuovaných systémů. Spolehlivost DS.
    2. Meziprocesová komunikace. Model klient/server, Request/reply protokol. Struktura zpráv, synchronní a asynchronní komunikace, zasílání zpráv. Java RMI. WWW technologie - applety, servlety, JSP, AJAX.
    3. Skupinová komunikace (unicast, broadcast, multicast). Synchronní a asynchronní model výpočtu, algoritmy pro komunikaci. Pracovní skupiny, atomicita. Uspořádání zpráv, doručovací protokoly.
    4. Synchronizace v distribuovaném systému. Uspořádání událostí, logické hodiny, synchronizace fyzických hodin. Vzájemné vyloučení procesů. Distribuované semafory. Globální stav systému. Distribuovaná dohoda. Detekce a prevence uváznutí výpočtu (deadlock), ukončení výpočtu.
    5. Topologické úlohy. Topologie v distribuovaném prostředí. Topologické struktury (virtuální) kruh, kořenový strom, kostra grafu, t-kostry podsítí.
    6. Směrování toku zpráv. Směrování nejkratší cestou (centralizovaný Bellman-Fordův algoritmus, distribuovaný asynchronní Bellman-Fordův algoritmus). Šíření směrovacích informací.
    7. Transakční zpracování. Distribuované transakce. Vlastnosti transakcí, implementace transakcí (stabilní paměť, lokální pracovní prostor, intenční seznam). Transakční komunikační primitiva. Kontrola konkurence (zámky, dvoufázové uzamykání, optimistická kontrola konkurence, časové značky). Transakční servery na Internetu.
    8. Distribuované databázové systémy. Základní struktura DDBS, přístupy k DDBS, potvrzovací protokoly. Rozvrhy.
    9. Identifikace objektů v distribuovaném systému. Identifikační systém (struktura jmen, cesty, adresy a mapování). Systémová jména. Kapability (s podpisem, s redundancí). Uživatelská jména.
    10. Distribuovaná sdílená paměť. Konzistenční modely (striktní, sekvenční, kauzální, PRAM, slabá, uvolňovací, přístupová konzistence). Distribuované stránkování. Distribuované sdílené proměnné. Distribuované objekty.
    11. Vzdálené spouštění procesů, alokace volného procesoru. Klasifikace a implementace alokačních algoritmů. Migrace procesů. Mechanismus migrace procesů, reziduální dependence, doručování zpráv.
    12. Správa prostředků. Správci prostředků (centralizovaná a distribuovaná správa prostředků, správa prostředků pomocí agentů). Zablokování (deadlock). Ochrana prostředků. Správa souborů. Diskové služby, souborové služby, adresářové služby, replikace, trendy.
    13. Konkrétní příklady využití distribuovaných systémů v praxi. Trendy vývoje distribuovaných systémů.
Literatura
    povinná literatura
  • COULOURIS, G., DOLLIMORE, J., KINDBERG, T., BLAIR, G. Distributed Systems: Concepts and Design (5th Edition). Boston: Addison Wesley, 2011. ISBN 978-0132143011. info
  • TANENBAUM, A., STEEN, M. Distributed Systems: Principles and Paradigms. New Jersey: Prentice Hall, 2006. ISBN 978-0132392273. info
  • JANEČEK, J. Distribuované systémy. Praha: ČVUT, 2001. info
  • MOTYČKOVÁ, L. Distribuované systémy - výpočty v sítích. SCIENCE, 1997. ISBN 80-901475-8-5. info
    doporučená literatura
  • VARELA, C.,. AGHA, G. Programming Distributed Computing Systems: A Foundational Approach. London: The MIT Press, 2013. ISBN 978-0262018982. info
  • JOSUTTIS, N.M. SOA in Practice: The Art of Distributed System Design (Theory in Practice). Sebastopol: O'Reilly Media, 2007. ISBN 978-0596529550. info
  • BIRMAN, K. Reliable Distributed Systems: Technologies, Web Services, and Applications. New York: Springer, 2005. ISBN 978-0387215099. info
  • JANECEK, J., KUBR, J., CERVENY, M. Distribuované systémy: (cvičení). ČVUT Praha, 2000. ISBN 80-01-02099-1. info
  • ANDREWS G.A. Foundations of Multithreaded, Parallel, and Distributed Programming. Boston: Addison Wesley, 2000. ISBN 0-201-35752-6-2. info
  • SIMON E. Distributed Information Systems (From client/server to Multimedia). McGraw Hill, 1996. ISBN 0-07-709076-4. info
  • SOKOLOWSKY, P., POKORNY, J., PETERKA, J. Distribuované databázové systémy. Praha, 1992. ISBN 80-200-0442-4. info
Výukové metody
Demonstrace dovedností
Seminární výuka
Metody hodnocení
Známkou
Informace učitele
https://elearning.opf.slu.cz/course/view.php?id=303
Průběžný test, seminární práce, zkouška, minimálně 50% účast na seminářích.
Ostatní studijní zátěž: vyhledávání a zpracování zdrojů na Internetu.

AktivityNáročnost [h]
Ostatní studijní zátěž40
Přednáška26
Seminář13
Zkouška40
Celkem119
Další komentáře
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 2014, léto 2015, zima 2015, léto 2016, zima 2016, zima 2017, léto 2018, zima 2018, léto 2019.