Distribuované systémy a výpočty

Podobné dokumenty
Distribuované systémy a výpočty

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

Datové typy a struktury

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

11 Analýza hlavních komponet

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

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Dijkstrův algoritmus

Vzájemné vyloučení procesů

ADT STROM Lukáš Foldýna

Distribuované algoritmy

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

Grafové algoritmy. Programovací techniky

Světelné scény a jejich řízení systémovou instalací ABB i- bus KNX Ing. Josef Kunc

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2016

13 Barvy a úpravy rastrového

Operační výzkum. Síťová analýza. Metoda CPM.

0.1 Úvod do lineární algebry

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

Zablokování (Deadlock) Mgr. Josef Horálek

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

Problém lineární komplementarity a kvadratické programování

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016

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

Grafové algoritmy. Programovací techniky

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd.

Programování síťové služby Sniffer OSPFv2 a OSPFv3

Návrh Designu: Radek Mařík

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

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

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.

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

Funkce. Definiční obor a obor hodnot

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května First Prev Next Last Go Back Full Screen Close Quit

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Algoritmizace prostorových úloh

Stromy, haldy, prioritní fronty

Poslední nenulová číslice faktoriálu

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

popel, glum & nepil 16/28

Přijímací zkouška - matematika

2. úkol MI-PAA. Jan Jůna (junajan)

Ohodnocené orientované grafy

Distribuované systémy. Jan Janeček

1 Mnohočleny a algebraické rovnice

Systematická tvorba jízdního řádu 2. cvičení

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

[1] samoopravné kódy: terminologie, princip

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice

0.1 Úvod do lineární algebry

9.3. Úplná lineární rovnice s konstantními koeficienty

TGH06 - Hledání nejkratší cesty

1 Mnohočleny a algebraické rovnice

Příklad 1/23. Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) d) g(x) Ω(f(x))

Výpočet globálního stavu

3. Grafy a matice. Definice 3.2. Čtvercová matice A se nazývá rozložitelná, lze-li ji napsat ve tvaru A =

Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

TGH02 - teorie grafů, základní pojmy

HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE

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

MATEMATIKA A 3 Metodický list č. 1

TGH06 - Hledání nejkratší cesty

SEKVENČNÍ LOGICKÉ OBVODY

HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE

DEFINICE Z LINEÁRNÍ ALGEBRY

BPC2E_C08 Parametrické 3D grafy v Matlabu

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Aplikovaná numerická matematika - ANM

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

Jan Březina. 7. března 2017

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

Markl: Petriho sítě s prioritami /nnpn43.doc/ Strana 1

Podrobný postup pro doložení příloh k Žádosti o dotaci prostřednictvím Portálu Farmáře. 1. kolo příjmu žádostí Programu rozvoje venkova ( )

Dynamické programování

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620

9. Rozšiřující desky Evb_Display a Evb_keyboard

Lineární algebra Operace s vektory a maticemi

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Matematická morfologie

1 Vektorové prostory.

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

IB112 Základy matematiky

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Projektová dokumentace ANUI

Pokročilé haldy. prof. Ing. Pavel Tvrdík CSc. Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010


TGH02 - teorie grafů, základní pojmy

Transkript:

Distribuované systémy a výpočty 9 Jan Janeček Czech Technical University in Prague c Jan Janeček, 2011 MI-DSV, SS 2011/12 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 1 / 27

Algoritmy Algoritmy detekující ukončení výpočtu jsou algoritmům detekujícím zablokování v řadě rysů podobné. U zablokování nás zajímá situace, kdy se některé procesy systému udržují vzájemně v pasivním stavu; na zbývajících procesech systému výpočet může pokračovat. U algoritmů detekujících ukončení výpočtu na systému nás zajímá situace, kdy jsou v pasivním stavu všechny procesy systému současně. Podobně jako u předchozích úloh lze nalézt algoritmy pracující na rozdílných principech. Jako příklad si uvedeme test ukončení difuzního algoritmu, a test ukončení libovolného distribuovaného algoritmu ve dvou formách. Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 2 / 27

Dijkstra-Scholten Algoritmus detekující ukončení výpočtu, který si uvedeme jako prvý, je vlastně pouhým doplňkovým testem k libovolnému difuznímu algoritmu. Připomeňme si, že difuzní algoritmus je startován jedním z procesů, který je kořenem stromu definovaným relací následnosti (o níž se difuzní program opírá). Tento proces rozesílá požadavky svým následníkům a očekává jejich odpovědi. Následníci reagují rozesláním požadavků svým následníkům a očekávají odpovědi; po soustředění všech odpovědí odpovídají procesu, který jejich aktivitu vyvolal. Konečně procesy v listech stromu definovaného relací následnosti odpovídají přímo na požadavky. Následující test doplňuje difuzní algoritmus o akce spojené s odesíláním a příjmem požadavků (MESSAGE) a odpovědí (SIGNAL). Pro každý proces udržujeme proměnnou DefIn (deficit na vstupu), která udává rozdíl v počtu přijatých požadavků a odeslaných potvrzení a proměnnou DefOut (deficit na výstupu), která udává rozdíl v počtu odeslaných žádostí a přijatých odpovědí. Proměnná Parent identifikuje proces, od kterého náš proces přijal prvou žádost, proměnná Others ukládá záznamy o dalších žádajících procesech (s možností zaznamenat libovolný proces násobně). Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 3 / 27

Dijkstra-Scholten Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 4 / 27

Dijkstra-Scholten Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 5 / 27

Dijkstra-Scholten Proces, který startuje algoritmus vyznačíme počáteční hodnotou DefIn = 1 a dovolíme mu tak rozeslat žádosti následovníkům. Důsledkem je nenulová hodnota proměnné DefOut tohoto procesu. Výpočet algoritmu je ukončen po přijetí všech odpovědí, tedy v okamžiku, kdy se hodnota DefOut vrátí na nulu. Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 6 / 27

Dijkstra-Feijen-Van Gasteren Tento algoritmus dovoluje testovat ukončení libovolného distribuovaného výpočtu. Na množině procesů definujeme uspořádání, například očíslováním procesů P 0, P 1,..., P k. Proces P 0 má v algoritmu významné postavení: startuje algoritmus a rozhoduje o ukončení výpočtu na distribuovaném systému. Procesy P 0, P 1,..., P k si (kromě komunikace související s vlastním výpočtem distribuovaného programu) předávají zvláštní zprávu TOKEN, která slouží pouze detekci ukončení. Tato zpráva nese jednobitovou informaci údaj o barvě, může být bílá nebo černá (WHITE, BLACK ). Podobně každý z procesů si udržuje proměnnou Color, která může nabývat hodnot odpovídajících bílé a černé barvě (WHITE, BLACK ). Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 7 / 27

Dijkstra-Feijen-Van Gasteren Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 8 / 27

Dijkstra-Feijen-Van Gasteren Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 9 / 27

Dijkstra-Feijen-Van Gasteren Test ukončení startuje proces P 0 odesláním zprávy TOKEN(WHITE) procesu P k, zpráva TOKEN je postupně předávána procesy P k, P k 1,..., P 1, až se vrátí k procesu P 0. Změna barvy přenášené touto zprávou na černou (BLACK ) indikuje aktivitu některého z procesů a proces P 0 odstartuje test ukončení znovu. Důvodem pro změnu barvy zprávy TOKEN z hodnoty WHITE na hodnotu BLACK při "průchodu"libovolným procesem je aktivita tohoto procesu nebo skutečnost, že v době od posledního "průchodu"tento proces odeslal zprávu aplikace nějakému procesu s vyšším indexem (který mohl být díky čekání na tuto zprávu nalezen v pasivním stavu). Algoritmus tak rozliší zdánlivé ukončení výpočtu od ukončení skutečného. Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 10 / 27

Misra Předchozí algoritmus má dvě omezení. Vyžaduje speciální funkci procesu P 0 a předpokládá, že zpoždění zpráv při výměně je zanedbatelné. Modifikace algoritmu popsaná Misrou obě omezení odstraňuje. Kruh propojující procesy nahrazuje cyklem C, který obsahuje všechny hrany grafu komunikací. Pokud zpráva TOKEN projde všemi procesy cyklu C a nalezne je v pasivním stavu (State = PASSIVE) a nedostane informaci o aktivitě procesu od předchozího "průchodu"(color = BLACK ), dosáhne hodnota nb přenášená zprávou TOKEN počtu procesů v cyklu a indikuje ukončení výpočtu. Délka cyklu je určena hodnotou Size(C), následnost procesů v cyklu funkcí Succesor(C, i). Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 11 / 27

Misra Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 12 / 27

Misra Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 13 / 27

Misra Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 14 / 27

Misra Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 15 / 27

Ochrana proti chybám procesů U řady aplikací postačí, pokud se na postupu kroky aplikací domluví určitá podmnožina procesů, výpadek ostatních procesů výsledek neovlivní. Takovou podmnožinou může být quorum. - Nejjednodušším typem quora je podmnožina s nejméně (n + 1)/2prvky, takové quorum označujeme jako majoritní. Existují však i quora, počet jejichž prvků je nižší. - Maekawova quora mají počet prvků roven n pro n procesů, příbuzné maticové quorum tvořené procesy v i-tém sloupci a j-tém řádku matice procesů má 2 (n) 1 prvků. - Další zajímavou třídou quor jsou stromová quora. Quorem je cesta mezi kořenem a listem binárního stromu, jehož uzly jsou procesy. Pokud je kterýkoliv z procesů na této cestě nefunkcní, mohou ho zastoupit jeho synové a cesty od nich k listům. O quorum mechanismy, které dovolují vybrat množinu procesů schopných provést krok výpočtu, se opírají mechanismy, které dovolí zajistit konzistenci replikovaných dat na všech procesech výpočtu. Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 16 / 27

Quora Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 17 / 27

Quora Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 18 / 27

Quora Maekawa Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 19 / 27

Quora Maekawa Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 20 / 27

Quora Stromové quorum Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 21 / 27

Quora Stromové quorum Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 22 / 27

Quora Stromové quorum - Agrawal-El Abbadi Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 23 / 27

Quora Stromové quorum Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 24 / 27

Quora Stromové quorum Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 25 / 27

Quora Stromové quorum Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 26 / 27

Quora Využití quora Jan Janeček Distribuované systémy a výpočty MI-DSV 2011 27 / 27