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

Slides:



Advertisements
Podobné prezentace
Grafové algoritmy.
Advertisements

J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
NEJKRATŠÍ CESTY MEZI VŠEMI UZLY
Dualita úloh lineárního programování a analýza citlivosti
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Autor:Ing. Bronislav Sedláček Předmět/vzdělávací oblast:Telekomunikace Tematická oblast:Datová komunikace Téma:OSI - spojová vrstva II. Ročník:4. Datum.
Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
Systémy hromadné obsluhy
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
ADT Strom.
FORMALIZACE PROJEKTU DO SÍŤOVÉHO GRAFU
1IT S ÍŤOVÝ DATOVÝ MODEL Ing. Jiří Šilhán. S ÍŤOVÝ DATOVÝ MODEL Je historicky nejstarším datovým modelem. Jeho základem jsou vzájemně propojené množiny.
13AMP 6. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Synchronizace procesů Synchronizace procesů Producent-Konzument Producent-Konzument.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
VLAN Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc.
Algoritmizace a základy programování
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Modely konzistentnosti Ladislav Kotal PDS 2008Ladislav Kotal2 Konzistentnost Konzistentní = soudržný, neporušený, pevný Konzistenční model = dohoda.
Systémy hromadné obsluhy
Algoritmy vyhledávání a řazení
Databázové systémy Architektury DBS.
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Petriho sítě.
STROMY Datová struktura sestávající z uzlů
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Asynchronous Transfer Mode Projektování distribuovaných systémů Lekce 1 Ing. Jiří ledvina, CSc.
Jedno-indexový model a určení podílů cenných papírů v portfoliu
Synchronizace Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
TECHNICKÝ AUDIT 8. přednáška. Snížení rizika a bezpečnostní opatření 1)Snížení rizika použitím konstrukčních metod či nahrazení méně rizikovými materiály.
Databázové modelování
Zablokování (deadlock, smrtelné objetí, uváznutí)
Distribuované systémy cvičení 3
Směrování - OSPF.
Distribuovaná sdílená paměť Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
3. konzultace (5 hodin) Studijní materiály najdete na adrese:
Vnitřní (operační paměť)
Distribuovaný deadlock - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Distribuované algoritmy - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
ŘÍZENÍ DOPRAVY POMOCÍ SW AGENTŮ Richard Lipka, DSS
Distribuovaná simulace pomocí OOPN Ivan Schwarz. Motivace Význam distribuovaných aplikací Nutnost nástroje pro modelování, simulaci a prototypování distribuovaných.
Protokoly úrovně 3 nad ATM Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc.
Kendalova klasifikace SHO
Směrování -RIP. 2 Základy směrování  Předpoklady:  Mějme směrovač X  Směrovač nemůže znát topologii celé sítě  X potřebuje určit směrovač pro přístup.
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Základy operačních systémů Meziprocesová komunikace a synchronizace Jakub Yaghob.
Linková úroveň Úvod do počítačových sítí. 2 Problémy při návrhu linkové úrovně Služby poskytované síťové úrovni Zpracování rámců Kontrola chyb Řízení.
Internet Key Exchange Projektování distribuovaných systémů Ing. Jiří ledvina, CSc.
© Institut biostatistiky a analýz ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
IEC 61850: Soubor norem pro komunikaci v energetice
Vrstvy ISO/OSI  Dvě skupiny vrstev  orientované na přenos  fyzická vrstva  linková vrstva  síťová  orientované na aplikace  relační vrstva  prezentační.
Řízení přenosů TCP Počítačové sítě Ing. Jiří Ledvina, CSc.
Databáze ● úložiště dat s definovaným přístupem ● typy struktury – strom, sekvence, tabulka ● sestává z uspořádaných záznamů ● databáze – struktura – záznam.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6.
Topologie počítačových sítí
Znázornění dopravní sítě grafem a kostra grafu Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
1. ročník oboru Mechanik opravář motorových vozidel
Strukturace učiva Příprava učitelova.
Operační systémy 9. Spolupráce mezi procesy
PROLOG strategie vyhodnocení dotazu
Správa paměti.
Zablokování Současně běží více procesů požadujících přidělení určitých prostředků výpočetního systému a převedených do stavu blokovaných procesů – tj.
Úroveň přístupu ke komunikačnímu médiu
Přednášky z distribuovaných systémů
Algoritmizace a datové struktury (14ASD)
Paměť.
ZAL – 7. cvičení 2016.
Přednášky z distribuovaných systémů
Přednášky z Distribuovaných systémů
Transkript prezentace:

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

Distribuované algoritmy2 Distribuované vzájemné vyloučení Základní rozdělení Centralizované metody (sequencer) Decentralizované metody Založené na soupeření Založené na předávání pověření

Distribuované algoritmy3 Distribuované vzájemné vyloučení Existuje pevný počet procesů, které sdílí jeden zdroj. Zdroj může používat v jednu chvíli pouze jeden proces. Podmínky Proces, kterému bylo povoleno užívat zdroj jej musí uvolnit dříve, než jej začne používat jiný proces. Požadavky procesů musí být zpracovány v pořadí, ve kterém vznikly. Jestliže platí, že zdroj je procesy v konečném čase uvolněn, pak musí být také každý požadavek v konečném čase zpracován.

Distribuované algoritmy4 Distribuované vzájemné vyloučení Centralizované řešení

Distribuované algoritmy5 Distribuované vzájemné vyloučení Decentralizované metody založené na soupeření Lamportův algoritmus – libovolná topologie, časové značky (3 fáze) Ricart a Agrawala – libovolná topologie, časové značky (2 fáze) Maekawa – vytváření hlasovacího quora Decentralizované metody založené na předávání pověření Suzuki a Kasami – broadcast LeLann – logický kruh Reymond – stromová struktura, rozšíření pro sdílení K identických zdrojů

Distribuované algoritmy6 Lamportův algoritmus Decentralizovaný algoritmus vzájemného vyloučení Předpokládá obousměrné FIFO kanály mezi procesy Každý proces udržuje vlastní frontu požadavků Používá časových značek k uspořádání požadavků Vyžaduje 3(n-1) zpráv Probíhá ve třech fázích Požadavek (req) Potvrzení (ack) Uvolnění (rel)

Distribuované algoritmy7 Lamportův algoritmus Příklad (req: časová značka :proces)

Distribuované algoritmy8 Lamportův algoritmus Algoritmus Proces P požaduje zdroj posláním požadavku do všech procesů zasláním zprávy req Při příjmu požadavku je požadavek zařazen do fronty požadavků uspořádané dle časových značek, poslání zprávy ack Ukončení zpracování požadavku – odstranění požadavku z fronty a poslání zprávy rel ostatním procesům Přijetí zprávy rel od procesu P – odstranění požadavku procesu P z fronty Povolení zpracování požadavku – požadavek je na prvním místě ve frontě a je potvrzen ostatními procesy

Distribuované algoritmy9 Algoritmus vzájemného vyloučení Ricard - Agrawala Optimalizace Lamportova algoritmu snížením počtu zpráv na 2(n-1)

Distribuované algoritmy10 Algoritmus vzájemného vyloučení Ricard - Agrawala Algoritmus Proces P požaduje zdroj posláním požadavku do všech procesů zasláním zprávy req Při příjmu požadavku je požadavek potvrzen zprávou ack pouze tehdy, jestliže přijímající proces zdroj neužívá nebo o něj právě nežádá. Jinak je požadavek zařazen do fronty. Ukončení zpracování požadavku – poslání zprávy ack procesům, kterým bylo poslání předtím odepřeno (a odstranění požadavků z fronty) Povolení zpracování požadavku – požadavek je potvrzen ostatními procesy

Distribuované algoritmy11 Algoritmus Maekawa Vzájemné vyloučení zajištěno vytvořením hlasovacího quora Vyžaduje souhlas (2√ N)-1 procesů

Distribuované algoritmy12 Algoritmy založené na předávání pověření Suzuki a Kasami – broadcast LeLann – logický kruh Raymond – stromová struktura, rozšíření pro sdílení K identických zdrojů

Distribuované algoritmy13 Algoritmus vzájemného vyloučení Suzuki-Kasami Metoda využívá distribuci pověření mezi jednotlivými procesy Každý uzel udržuje celočíselné pole největších sekvenčních čísel obdržených od jednotlivých procesů Proces posílá ostatním pověření, které obsahuje frontu požadavků a vektor LN posledních požadavků jednotlivých procesů

Distribuované algoritmy14 Algoritmus vzájemného vyloučení Suzuki-Kasami Pokud chce proces vstoupit do kritické sekce a nemá pověření Zvýší vlastní TS ve vektoru TS a pošle ostatním požadavek (i, TS i ) Pokud proces přijme požadavek od i-tého procesu Nastaví položku vektoru TS[i] na maximum Jestliže má pověření a TS[i]=LN[i]+1, pošle pověření do P i

Distribuované algoritmy15 Algoritmus vzájemného vyloučení Suzuki-Kasami Pokud P i opouští kritickou sekci Nastaví LN[i] v pověření na vlastní vektor časových značek Frontu v pověření nastaví tak, že do ní zahrne všechny procesy, které v ní nejsou a mají časovou značku požadavku o 1 vyšší než je časová značka v pověření Pověření se pošle prvnímu ve frontě (ten se z fronty odstraní) Fronta je posílána v pověření

Distribuované algoritmy16 LeLann algoritmus Procesy jsou uspořádány do logického kruhu Na začátku má pověření proces 0 Pověření je posíláno v kruhu (přenos zpráv dvoubodovými spoji) Po obrdžení pověření může proces vstoupit do kritické sekce Po opuštění CS předává pověření dál Problém s detekcí ztráty pověření Jednoduché rozšíření kruhu

Distribuované algoritmy17 Raymodův algoritmus Procesy jsou uspořádány do stromu

Distribuované algoritmy18 Raymodův algoritmus Pracuje na bázi předávání pověření Proces udržuje frontu požadavků na pověření od procesů nižších úrovní Požaduje-li vstup do CS a fronta je prázdná, posílá požadavek nadřazenému a řadí se do fronty Požaduje-li podřízený proces vstup do CS, předá mu pověření nebo jej zařadí do fronty Obdrží-li pověření, předá ho prvnímu ve frontě

Distribuované algoritmy19 Algoritmy výběru 1 z N úplný graf – Bully algoritmus kruhová topologie logický kruh – předávání dle seznamu, rekonstrukce kruhu fyzický kruh – předávání dle sousedství uzlů stromová topologie – logický strom

Distribuované algoritmy20 Algoritmy shody Shoda na hodnotě Interaktivní konzistentnost – shoda na vektoru hodnot Problém Byzantinských generálů

Distribuované algoritmy21 Algoritmy detekce ukončení asynchronní systémy synchronní systémy Dijkstra-Scholten – difuzní výpočty jeden iniciátor uspořádání do stromu, iniciátor je kořen detekce ukončení podle počtu ukončených podřízených Shavit-Francez více iniciátorů všechny procesy se účastní vlny proces který není iniciátorem pokračuje ve vlně pokud strom kolabuje, iniciátory pokračují ve vlně