Megbízható elosztott és decentralizált rendszerek
VIMIMA28 | Mérnökinformatikus MSc | Félév: 1 | Kredit: 5 | Hivatalos tantárgyi adatlap
A tantárgy célkitűzése
Kocsis Imre
docens
tárgyfelelős
A tárgy oktatói
Farkas Martin
doktorandusz
Földvári András
tudományos segédmunkatárs
Kocsis Imre
docens
Mondok Milán
doktorandusz
Péter Bertalan Zoltán
doktorandusz
Toldi Balázs
doktorandusz
A tantárgy részletes tematikája
Az előadások részletes tematikája:
- Elosztott rendszerek. Alapvető típusok; architektúrák; alapszolgáltatások.
- A szolgáltatásbiztos (dependable) és helyreállásképes (resilient) számítástechnika alapfogalmai. Hiba, hibás állapot, hibahatás, hibaterjedés; alapvető attribútumok és tipikus metrikáik.
- Szolgáltatásbiztonságra tervezés és hibatűrő működés. A szolgáltatásbiztonság biztosításának eszközei fejlesztési és működtetési időben; a hibatűrő működés életciklus-modelljei; a szolgáltatásbiztonságra tervezés folyamata.
- Hibatűrő rendszerek tervezési mintái. Architekturális minták (pl. egyszerű replikáció, moduláris redundancia, helyreállítási blokkok); a hibadetektálás, -kezelés (pl. checkpoint, rollback, roll forward, failover, túlterhelés-kezelési minták) és -eltávolítás alapvető megoldásai.
- Önmenedzselő rendszerek. Autonóm számítástechnika; a MAPE-K modell; eljárásrend alapú menedzsment; rendszerek rendszerei (System-of-Systems, SoS).
- Skálázható platformok. Virtualizáció és konténerizáció; felhő, edge és fog számítástechnika. Ellenállóképesség biztosítása skálázás alapú platfomokon; chaos engineering.
- Valósidejű kommunikáció alapú integráció. Architekturális paradigma, tipikus követelmények és kihívások; egy modern megoldás szolgáltatásminőségi garanciákkal: az OMG Data Distribution Service (DDS).
- Megbízható csoportkommunikáció és elosztott döntések. Tagsági kép biztosítása elosztott rendszerekben; a multicast kommunikáció megoldásai; kétfázisú, háromfázisú commit és hibakezelésük.
- Hibatűrő konszenzus. Alapvető kihívások és korlátok (a CAP tétel és kiterjesztései); az állapotgép-replikációs megközelítés; a Paxos és a Raft konszenzus protokollok.
- Támadástűrő konszenzus. Hibatűrés nehezen detektálható (bizánci) hibák esetén; hatékony algoritmusok (a Practical Byzantine Fault Tolerance algoritmus és továbbfejlesztései).
- Decentralizált rendszerek. Elosztott főkönyvi rendszerek és típusaik; az elosztott állapotgép probléma blokklánc alapú megoldása; Bitcoin; Proof of Work; Ethereum.
- Konszenzus decentralizált rendszerekben. Decentralizált rendszerek konszenzusának kihívásai és az alapvető trade-offok; meghatározó protokollok, pl. Proof of Stake, Proof of Elapsed Time, delegált delegált bizánci hibatűrés, Proof of Authority konszenzus mechanizmusok és összehasonlításuk.
- Decentralizált architektúrák. Reprezentatív architektúrák: Hyperledger Fabric, R3 Corda és openCBDC. Garancia-modellek és tipikus alkalmazások összehasonlítása. Okosszerződések kezelése az egyes platformokon, decentralizált megoldások integrációja.
- Decentralizált rendszerek privát és auditálható számítási modelljei. Trusted computingmegoldások alkalmazása a decentralizált rendszerekben; biztonságos többszereplős számítás; homomorf titkosítás; tudásmentes bizonyítás alapú megoldások (Zero-Knowledge Proofs).
A gyakorlatok részletes tematikája:
- Elosztott IT rendszerek megfigyelése (monitorozás, eseménygyűjtés, elosztott tranzakciók megfigyelése, active probing)
- Hibabehatárolás logikai következtetéssel - a rendszerszintű diagnosztika alapelvei és alkalmazásuk elosztott IT rendszerek diagnosztikájára
- Cloud kapacitásoptimalizáció: kapacitásigények empirikus módszerekkel támogatott meghatározása és erőforrás-allokáció
- RTI DDS alapú rendszerintegráció
- Bizánci hibatűrő állapotgép-replikáció alkalmazásokban (a BFT-SmaRt könyvtár példáján)
- Okosszerződések, programozási mintáik és elemzésük (Solidity)
- Centralizált alkalmazások decentralizálásának tervezési folyamata
BME-MIT