Výpočet globálního stavu

Podobné dokumenty
Vzájemné vyloučení procesů

Čas a kauzalita v DS

PDV /2018 Detekce selhání

Návrh softwarových systémů - mobilita. Jiří Šebek (B6B36NSS)

Dijkstrův algoritmus

Distribuované algoritmy - přehled. Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.

ČVUT FEL Katedra telekomunikační techniky, K prosince Radek Mařík Ověřování modelů II 6. prosince / 39

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

Úvod do distribuovaných systémů

ČVUT FEL, K December 12, Radek Mařík Ověřování modelů II December 12, / 30

IV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat

Správa paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016

Konsensus a Algoritmu Raft

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

Principy operačních systémů. Lekce 7: Obrana proti deadlocku

Unbounded Model Checking

Teorie systémů TES 5. Znalostní systémy KMS

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML

Paralelní programování

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

Dynamické programování

IV113 Validace a verifikace. Detekce akceptujícího cyklu. Jiří Barnat

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Základní datové struktury III: Stromy, haldy

Numerická stabilita algoritmů

bfs, dfs, fronta, zásobník

Matematická indukce a správnost programů. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 13

Příprava na zk. z KIV/DS

Výroková a predikátová logika - III

Stromy, haldy, prioritní fronty

Distribuované algoritmy

Distribuované systémy a výpočty

odlehlých hodnot pomocí algoritmu k-means

SLUŽBY SLA. Služby SLA

Paralelní programování

Usuzování za neurčitosti

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

TGH05 - aplikace DFS, průchod do šířky

TGH05 - aplikace DFS, průchod do šířky

Lineární algebra : Násobení matic a inverzní matice

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Synchronizace. Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.

Platnost ČSN EN končí dne

Výroková a predikátová logika - IX

bfs, dfs, fronta, zásobník, prioritní fronta, halda

TOPOLOGIE DATOVÝCH SÍTÍ

PŘÍLOHA C Požadavky na Dokumentaci

Výroková a predikátová logika - II

10. Techniky formální verifikace a validace

Popis aukčního prostředí PROEBIZ v 3.4g (dále jen Popis )

Principy indukce a rekursivní algoritmy

TÉMATICKÝ OKRUH TZD, DIS a TIS

Typ aktiv Aktivum Hrozba Zranitelnost Riziko

KONTAKT Autor: Tomáš. Kohout Vedoucí: : Ing. Pavel Burget, Ph.D. .D. fel.cvut.cz) Kohout

ARCHIVNÍ PLATFORMA PRO DŮVĚRYHODNÉ UKLÁDÁNÍ DOKUMENTŮ. Mgr. Tereza Skládanková

Konzistentnost. Přednášky z distribuovaných systémů

Základní rozdělení aplikací

Výroková a predikátová logika - IV

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

Všeobecné obchodní podmínky obchodní podmínky webové rozhraní Ivetou Richterovou prodávajícím kupujícím 1. ÚVODNÍ USTANOVENÍ cena

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Nimbus Data All Flash Systems

V kompletním grafu nenastává problém. Každý uzel je soused se zbytkem vrcholů a může s nimi kdykoliv komunikovat.

Matematická indukce, sumy a produkty, matematická logika

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Komunikace. Úrovová architektura protokol. Úrovová architektura protokol (2) Pednášky z distribuovaných systém

14. Složitější konstrukce

Výroková a predikátová logika - II

NOVÉ METODY HODNOCENÍ OBRAZOVÉ KVALITY

11. Tabu prohledávání

Knihovna WebGraphLib

GIS ANALÝZA VLIVU DÁLNIČNÍ SÍTĚ NA OKOLNÍ KRAJINU. Veronika Berková 1

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S.

AS-Interface. AS-Interface. = Jednoduché systémové řešení

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

VŠEOBECNÁ PRAVIDLA SOUTĚŽÍ #JIHOCESKYVENKOV

Výroková a predikátová logika - V

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

, 4. skupina (16:15-17:45) Jméno: se. Postup je třeba odůvodnit (okomentovat) nebo uvést výpočet. Výsledek bez uvedení jakéhokoliv

Poslední nenulová číslice faktoriálu

Matematická logika. Rostislav Horčík. horcik

Routování směrovač. směrovač


POLITIKA ZPRACOVÁNÍ A OCHRANY OSOBNÍCH ÚDAJŮ

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Forex Edge 31. srpna 2016

Reranking založený na metadatech

bfs, dfs, fronta, zásobník, prioritní fronta, halda

COMPATEL Provozní podmínky poskytování veřejně dostupné služby elektronických komunikací

AS-Interface. AS-Interface = Jednoduché systémové řešení. Představení technologie AS-Interface

Disková pole (RAID) 1

Katalog egon služeb verze: 0.01

Čl. I ÚVODNÍ USTANOVENÍ

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Transkript:

PDV 09 2017/2018 Výpočet globálního stavu Michal Jakob michal.jakob@fel.cvut.cz Centrum umělé inteligence, katedra počítačů, FEL ČVUT

Globální Stav

Globální stav: množina lokální stavů procesů v DS a stavů všech komunikačních kanálů v jednom okamžiku*. Globální snapshot: záznam globální stavu.

Příklady Garbage collection: nutnost identifikovat objekty, na které není globálně žádná reference. Detekce uváznutí (deadlock): nutnost identifikovat cykly globálním wait-for grafu. Detekce ukončení výpočtu: nutnost zajistit, že všechny procesy jsou pasivní a v žádném kanálu přenosu není žádná potenciálně aktivační zpráva. Checkpointing za účelem obnovení globálního stavu systému.

Globální stav Pokud bychom měli globální hodiny, tak zaznamenat globální stav jednoduché: všechny procesy by zaznamenaly stav v dohodnutý čas, tj. v jednom fyzickém okamžiku. Jak zaznamenat globální stav bez globálních hodin? logický okamžik

Řez distribuovaného výpočtu Řez: časová hranice v každém procesu a v každém kanálu. události, které nastanou před řezem, jsou v řezu události, které nastanou po něm, jsou mimo řez.

Řez: Příklad p 1 A B C D E p 2 F G H p 3 J I K

Konzistentní řez Konzistentní řez R splňuje kauzalitu, tj. pro každý pár událostí e, f v systému platí: f R e f f R tj. pokud řez obsahuje nějakou událost, obsahuje i všechny, které ji předcházejí dle relace stalo se před (tj. nelze, aby v řezu byl důsledek a nebyla tam příčina.) Konzistentní globální stav odpovídá konzistentní řezu. Globální stav je konzistentní, pokud by mohl byt pozorován externím pozorovatelem.

Řez: Příklad p 1 A B C D E p 2 F G H p 3 J I K konzistentní řez nekonzistentní řez

Výpočet konzistentního globálního stavu

Problém výpočtu globálního stavu Cíl: Zaznamenat globální snapshot, tj. stav pro každý proces a každý komunikační kanál. Požadavek: Zaznamenání snapshotu by neměla interferovat s během distribuované aplikace a neměla by vyžadovat po aplikaci zastavení posílání aplikačních zpráv. Model (Existují i algoritmy se slabšími předpoklady) skupina N procesů FIFO perfektní komunikační kanál mezi každým párem procesů, tj. zprávy se neduplikují, nevznikají, neztrácejí a jsou doručovány v pořadí odeslání asynchronní systém: neznáma, ale konečná latence Předpoklad: Každý proces je schopen zaznamenat svůj vlastní aplikační stav (případně low-level systémový stav).

Chandy-Lamport algoritmus pro distribuovaný globální shapshot (Vytváření snapshotu je distribuované.) Speciální zpráva: ZNAČKA Každý proces vykonává dvě pravidla: Každý proces může iniciovat vytvoření snapshotu pravidlo pro příjem ZNAČKY pravidlo pro odeslání ZNAČKY

Chandy-Lamport algoritmus pro globální shapshot Pravidlo pro příjem ZNAČKY pro proces p i Jakmile proces p i přijme ZNAČKU poslanou kanálem C m,i IF (p i dosud nezaznamenal svůj stav) THEN p i zaznamená svůj stav (a vykoná pravidlo pro odeslání ZNAČKY); p i zaznamená stav kanálu C m,i jako prázdnou množinu; p i zapne zaznamenávání zpráv doručených skrze všechny ostatní příchozí kanály C j,i kromě C m,i ELSE p i zaznamená stav kanálu C m,i jako množinu všech zpráv, které p i obdržel skrze C m,i od doby, kdy uložil svůj stav END IF Pravidlo pro odeslání ZNAČKY pro proces p i Poté, co proces p i zaznamenal svůj stav, tak pro každý odchozí kanál C i,j : p i odešle jednu ZNAČKU skrze C i,j (předtím než skrze C i,j pošle jakoukoliv jinou zprávu)

Ukončení Algoritmus končí jamile: všechny procesy přijaly Značku (aby zaznamenaly svůj stav) a všechny procesy přijaly Značku na všech N 1 svých příchozích kanálech (aby zaznamenaly stav na všech kanálech) Následně (je-li potřeba) mohou být jednotlivé fragmenty globální stavu posbírány centrálním servery a poskládán plný globální snaphot.

Příklad Odeslání ZNAČKY S 1, Record C 2,1, C 3,1 p 1 A B C D E p 2 F G H p 3 J I S 3, C 1,3 = {}, Record C 2,3 K

p 1 A B S 1, Record C 2,1, C 3,1 C Duplikát C 3,1 = {} D E p 2 F G H p 3 J I S 3, C 1,3 = {}, Record C 2,3 K

p 1 A B S 1, Record C 2,1, C 3,1 C Duplikát C 3,1 = {} D E p 2 F G H p 3 J I S 3, C 1,3 = {}, Record C 2,3 S 2, C 3,2 = {}, Record C 1,2 K

p 1 A Duplikát S 1, Record C 2,1, C 3,1 Duplikát C 2,1 = {H D} B C C 3,1 = {} D E p 2 F G H p 3 J I S 3, C 1,3 = {}, Record C 2,3 S 2, C 3,2 = {}, Record C 1,2 Duplikát C 2,3 = {} K Duplikát C 1,2 = {}

Finální Snapshot C 2,1 = {H D} p 1 A B C C 3,1 = {} D E S 1 p 2 F G H S 2, C 3,2 = {} p 3 J I S 3, C 1,3 = {} C 2,3 = {} K C 1,2 = {} konzistentní řez

Vlastnosti

Vlastnosti Chandy-Lamport Výsledkem Chandy-Lamport algoritmu pro výpočet globální snapshotu je konzistentní řez. Důkaz: nechť R je výsledný řez a e i a e j jsou události v procesech P i a P j tak, že e i e j pro konzistencni třeba dokázat implikaci: e j R e i R tj. pokud e j < P j zaznamená svůj stav > pak e i < P i zaznamená svůj stav > Přepokládejme, že tato implikace neplatí, tj. e j < P j zaznamená svůj stav > a < P i zaznamená svůj stav > e i Uvažujme cestu aplikačních zpráv z e i do e j (přes další procesy) Vzhledem k FIFO kanálu musí ZNAČKY na všech spojích výše uvedené cesty předcházet aplikační zprávy Tedy, protože < P i zaznamená svůj stav > e i, tak musí platit, že P j obdržel svoji značku před e j A tedy e j R spor

Korektnost v DS Živost (Liveness) Garance, že v DS časem dojde k něčemu dobrému (bude dosažen žádoucí stav). Příklady: Distribuovaný výpočet: výpočet skončí. Konsensus: všechny proces se shodnou na výstupní hodnotě. Úplnost při detekci selhání: každé selhání je nakonec detekováno. Bezpečnost (Safety) Garance, že v DS nikdy nedojde k něčemu špatnému (nebude dosažen nežádoucí stav). Příklady: Nedojde k uváznutí (deadlocku) Žádný objekt se nestane sirotkem Přesnost při detekci selhání Konsensus: Žádné dva procesy nevyprodukují různý výstup.

V kontextu globálních stavů Uvažujme vlastnost φ definovanou nad globálními stavy distribuovaného výpočtu. Živost vzhledem k φ v globálním stavu S S je splněno v φ nebo existuje kauzální cesta mezi S a nějakým stavem S, ve kterém je φ splněno. Bezpečnost vzhledem k φ v globálním stavu S φ je splněno v S a ve všech stavech S dosažitelných z S je φ taky splněno.

Vyhodnocení stabilních vlastností Stabilní vlastnost je taková vlastnost, že jakmile je ve výpočtu jednou splněna, zůstává splněna navždy. příklad stabilní vlastnost živosti: výpočet skončil příklad stabilní vlastnosti porušující bezpečnost: nastalo uváznutí, objekt je sirotek (neukazuje na něj žádná reference) Chandy-Lamport algoritmus lze použít pro detekci stabilních globálních vlastností. (Lze ukázat, že pokud nějaká stabilní vlastnost splněna v globálním snapshotů zachyceným snapshot algoritmem, bude splněna i ve finálním stavu běhu algoritmu. Naopak, pokud v snapshotu nějaká stabilní vlastnost splněna není, nemohla být splněna ani ve stavu při zahájení algoritmu)

Souhrn Schopnost zachytit globální stav distribuovaného výpočtu je důležitá. Vytvoření snapshotů by nemělo nijak omezovat probíhající výpočet. Chandy-Lamportův algoritmus vypočte globální snapshot. Vypočtený globální snapshot odpovídá konzistentnímu řezu. Globální snapshot může být využit k detekci stabilních vlastností výpočtu.