Distribuované systémy a výpočty

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

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

Distribuované systémy a výpočty

Dynamic programming. Optimal binary search tree

2. Entity, Architecture, Process

Operační systémy. Přednáška 5: Komunikace mezi procesy

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

Chapter 7: Process Synchronization

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Využití hybridní metody vícekriteriálního rozhodování za nejistoty. Michal Koláček, Markéta Matulová

Vzájemné vyloučení procesů

Čipové karty Lekařská informatika

7. Popis konečného automatu

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

Distribuované systémy a výpočty

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

Postup objednávky Microsoft Action Pack Subscription

Transportation Problem

Úvod do Operačních Systémů

O jedné metodě migrace velkých objemů dat aneb cesta ke snižování nákladů

Příklady popisu základních obvodů ve VHDL

UPM3 Hybrid Návod na ovládání Čerpadlo UPM3 Hybrid 2-5 Instruction Manual UPM3 Hybrid Circulation Pump 6-9

Radiova meteoricka detekc nı stanice RMDS01A

Replikace. Pro a proti replikaci. Vztah ke škálovatelnosti (1)

Směrování- OSPF. Směrování podle stavu linek (LSA) Spolehlivé záplavové doručování

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

Heuristické řešení problémů. Seminář APS Tomáš Müller

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí

Profibus (EN 50170) Standard pro distribuované průmyslové řízení. Distribuované systémy: ISO 7498 (Open System Interconnect)

Klepnutím lze upravit styl předlohy. nadpisů. nadpisů.

Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

PAINTING SCHEMES CATALOGUE 2012

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

prostředí IDS 11.5 na Martin Mikuškovic, ICZ a. s

:= = := :=.. := := := := ρ := := α := π α = α = := = :=

Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:

Distribuované systémy poznámky k přednášce (založeno na Tel G., Introduction to distributed algorithms.)

Mechanika Teplice, výrobní družstvo, závod Děčín TACHOGRAFY. Číslo Servisní Informace Mechanika:

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

LOGOMANUÁL / LOGOMANUAL

GENERAL INFORMATION MATCH: ALSA PRO ARENA MASTERS DATE: TIME SCHEDULE:

Aktivita CLIL Chemie III.

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

Alcatel-Lucent VitalQIP DNS/DHCP & IP Management Software

WORKSHEET 1: LINEAR EQUATION 1

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.

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

IBM Connections pro firmy s Lotus Notes/Domino. Petr Kunc

2N Voice Alarm Station

NEPSI Online vykazovací systém Návod Úroveň společností

Simulační software Witness. Ing. Michal Dorda, Ph.D.

TECHSTA 2000 ČVUT PRAHA FAKULTA STAVEBNÍ KATEDRA TECHNOLOGIE STAVEB

Mistrovství CR Š týmu v sudoku 6. kolo Èas øešení

PRÉCIS STRUKTUROVANÁ DATABÁZE JAKO ODPOVĚĎ NA NESTRUKTUROVANÝ DOTAZ. Dominik Fišer, Jiří Schejbal

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

Car Agent. Struktura chování:

Návrh ovládání zdroje ATX

Jakub Zavodny (University of Oxford, UK)

obal manuálu, asi něco podobného jako u LC 100 asi by to chtělo lepší obrázek!!! FYTOSCOPE FS130 Instruction Guide

WL-5480USB. Quick Setup Guide

Distribuované systémy a výpočty


type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

PC/104, PC/104-Plus. 196 ept GmbH I Tel. +49 (0) / I Fax +49 (0) / I I

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

VOŠ, SPŠ automobilní a technická. Mgr. Marie Šíchová. At the railway station

Compression of a Dictionary

SPECIFICATION FOR ALDER LED

Time-Stamp. protokol

PAINTING SCHEMES CATALOGUE 2005

Přednáška 4. Klasické synchronizační úlohy. Implementace procesů, vláken.

NSS - Cache 5. LECTURE MARTIN TOMASEK

Skripty základy VB, vestavěné objekty, příklady

Na cestě za standardem


POWERSHELL. Desired State Configuration (DSC) Lukáš Brázda MCT, MCSA, MCSE

Výukový materiál zpracován v rámci projektu EU peníze školám

STEP-IN PURE. Barva vany 001: Bílá 4 až 5 mm sanitární akrylát, zesílený GFK. Rozměry v mm / ceny v bez DPH.

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

12. VHDL pro verifikaci - Testbench I


Aplikace matematiky. Dana Lauerová A note to the theory of periodic solutions of a parabolic equation

Výukový materiál zpracován v rámci projektu EU peníze školám

Řízení rychlosti vozu Formule 1 pomocí rozhodovacího diagramu

Programování v Pythonu

Michal Hroch Server Product Manager Microsoft Česká republika

Transakce a zamykání. Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík

Introduction to MS Dynamics NAV

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Vychytávky v iptables

14. Složitější konstrukce

ABC Linux běží z CD české prostředí tištěná příručka obsah portálu Mutt Jak začít? Jan Fuchs

TKGA3. Pera a klíny. Projekt "Podpora výuky v cizích jazycích na SPŠT"

II/2 Inovace a zkvalitnění výuky cizích jazyků na středních školách

Konference k programu Monitoring sýčka obecného na Moravě

POZVÁNKA NA ŘÁDNOU VALNOU HROMADU INVITATION TO ORDINARY GENERAL MEETING OF

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Název společnosti: VPK, s.r.o. Vypracováno kým: Ing. Michal Troščak Telefon: Datum:

Transkript:

Distribuované systémy a výpočty X36DSV Jan Janeček (dnes Peter Macejko)

Ukončení výpočtu (Termination Detection) Terminal configuration terminal state Termination implicit (message) x explicit (process) Process active x passive active passive only in an internal event? active when message is received Terminal configuration =??? X36DSV - Distribuované systémy a výpočty (10) - v1.7 2

Ukončení výpočtu Dijkstra - Scholten Proměnné - lega Defin deficit na vstupu Defout deficit na výstupu Others seznam dalších žádajících procesů Zprávy - lega MESSAGE = žádost, SIGNAL = odpověď begin { inicializace } Defin:=0; Defout:=0; Others:=Ø receiving MESSAGE from j do { příjem žádosti aplikace } begin if DefIn=0 then Parent := j else Others := Others+j; DefIn := DefIn+1 X36DSV - Distribuované systémy a výpočty (10) - v1.7 3

Ukončení výpočtu Dijkstra - Scholten receiving SIGNAL from j do { příjem odpovědi aplikace } DefOut:=DefOut-1; sing MESSAGE to j do { odeslání žádosti aplikace } { possible if DefIn>0 } DefOut := DefOut+1; sing SIGNAL to (Oth=any of Others) do { odeslání odpovědi aplikace } { possible if (DefIn>1 } begin Others := Others-Oth; DefIn := DefIn-1 sing SIGNAL to Parent do { odeslání odpovědi aplikace } { possible if (DefIn=1 and DefOut=0) } DefIn := DefIn-1 X36DSV - Distribuované systémy a výpočty (10) - v1.7 4

Ukončení výpočtu Dijkstra Feijen Van Gasteren Proměnné - lega State stav procesu Color barva procesu TPresent informace o vlastnictví tokenu TColor barva přijatého tokenu begin { inicializace } TPresent := F; Color := WHITE receiving MESSAGE do { příjem zprávy aplikace } State := ACTIVE waiting MESSAGE or State=TERMINATED do State := PASSIVE { čekání na zprávu aplikace } sing MESSAGE to j begin { odeslání zprávy procesu s indexem j>i } if i<j then Color := BLACK X36DSV - Distribuované systémy a výpočty (10) - v1.7 5

Ukončení výpočtu Dijkstra Feijen Van Gasteren when received TOKEN(ct) from i+1 do { příjem zprávy TOKEN } begin TPresent := T; TColor := ct; if i=0 then if Color=WHITE and TColor=WHITE then { TERMINATION DETECTED } else TColor := WHITE when TPresent and State=PASSIVE do begin { předání zprávy TOKEN následníkovi } if Color=BLACK then TColor := BLACK; TPresent := F; s TOKEN(TColor) to i-1; Color := WHITE X36DSV - Distribuované systémy a výpočty (10) - v1.7 6

Ukončení výpočtu Misra begin { inicializace } Color := BLACK; TPresent := F; nb := 0 when waiting MESSAGE do { čekání na zprávu aplikace } State := PASSIVE when received TOKEN(j) do { příjem zprávy TOKEN } begin nb := j; TPresent := T; if nb=size(c) and Color=WHITE then { TERMINATION DETECTED } X36DSV - Distribuované systémy a výpočty (10) - v1.7 7

Ukončení výpočtu Misra when received MESSAGE do { příjem zprávy aplikace } begin State := ACTIVE; Color := BLACK when TPresent and State=PASSIVE { odeslání zprávy TOKEN } begin if Color=BLACK then nb := 0 else nb := nb+1; s TOKEN(nb) to Succesor(C,i); Color := WHITE; TPresent := F X36DSV - Distribuované systémy a výpočty (10) - v1.7 8

Ukončení výpočtu Misra when TPresent and State=PASSIVE { odeslání zprávy TOKEN } begin if Color=BLACK then nb := 0 else nb := nb+1; s TOKEN(nb) to Succesor(C,i); Color := WHITE; TPresent := F begin { inicializace } Color := BLACK; TPresent := F; nb := 0 X36DSV - Distribuované systémy a výpočty (10) - v1.7 9

Ukončení výpočtu Rana Proměnné - lega state stav procesu LC lokální logický čas unack počet nepotvrzených zpráv QT čas posledního přechodu do quiet begin { inicializace } state:=active; LC:=0; unack:=0; QT:=0; {state = active} { poslání zprávy } LC:=LC+1; s MSG(LC); unack:=unack+1; {receive MSG(FC) from q to p} { příjem zprávy } LC:=max(FC,LC)+1; s ACK(LC) to q; state:=active; X36DSV - Distribuované systémy a výpočty (10) - v1.7 10

Ukončení výpočtu Rana {state = active} { poslání zprávy } LC:=LC+1; state:=passive; If (unack = 0) then {p becomes quiet} begin QT:=LC; s TKN(LC,QT,p) to next(p); {receive ACK(FC) to p} { příjem potvrzení } LC:=max(FC,LC)+1; unack:=unack-1; If (unack = 0) and (state = passive) {p becomes quiet} begin QT:=LC; s TKN(LC,QT,p) to next(p); X36DSV - Distribuované systémy a výpočty (10) - v1.7 11

Ukončení výpočtu Rana {receive TKN(FLC,FQT,q) to p} { příjem tokenu } LC:=max(FLC,LC)+1; if (p is quiet) then if (p = q) then Announce else if FQT >= QT then s TKN(LC,FQT,q) to next(p); X36DSV - Distribuované systémy a výpočty (10) - v1.7 12

Replikace Performance enhancement - concurrent read-only accesses - sequential updates Enhanced availability 1 p = 1 - p n Fault tolerance t < n/2 - fail stops b < n/3 - Byzantine failures X36DSV - Distribuované systémy a výpočty (10) - v1.7 13

Replikace - DB Database - no concurrent read or write on data - quorum-based replica control - each copy of data has a vote total V V r read quorum V w write quorum V r + V w > V V w > V/2 X36DSV - Distribuované systémy a výpočty (10) - v1.7 14

Quora - definitions set of nodes/sites S = { s 1, s 2,, s n } coterie C = { Q 1, Q 2,, Q n }, Q i Q i S quorum Q i Q j, Q i,q j C, i j - intersection property Q i Q j, Q i,q j C, i j - minimality property X36DSV - Distribuované systémy a výpočty (10) - v1.7 15

Quora - algorithm Maekawa algorithm (mutual exclusion) Request Request Reply Inquire Yield Reply Release X36DSV - Distribuované systémy a výpočty (10) - v1.7 16

Quora - measurement Load - L(Q) the probability that the busiest server is in use under an optimal strategy of accessing the servers Resilience - R(Q) maximal number of failing nodes such that, there is a Quorum with no failing node Failure probability - F p (Q) the probability that at least one server of every quorum fails X36DSV - Distribuované systémy a výpočty (10) - v1.7 17

Quora Singleton quorum quorum size = 1 Majority quorum quorum size = (n+1)/2 Grid quorum quorum size = 2( n) - 1 Maekawa's quorum Tree quorum (Agrawal, El Abbadi) X36DSV - Distribuované systémy a výpočty (10) - v1.7 18

Quora Maekawa n = q 2 + q + 1 quorum size = n 1 Finite Projective Planes q=2 Fano plane 3 5 7 2 6 4 X36DSV - Distribuované systémy a výpočty (10) - v1.7 19

Quora Maekawa 1 3 5 7 2 6 4 X36DSV - Distribuované systémy a výpočty (10) - v1.7 20

Quora Tree 1 2 3 4 5 6 7 X36DSV - Distribuované systémy a výpočty (10) - v1.7 21

Quora Tree 1 2 3 4 5 6 7 X36DSV - Distribuované systémy a výpočty (10) - v1.7 22

Quora Tree Agrawal, El Abbadi function GetQorum (Tree:tree) : quorumset; var left, right : quorumset; begin if Empty(Tree) then return ({}); else if GrantsPermission(Tree^.Node) then return ({Tree^.Node} U GetQuorum(Tree^.LeftChild)) or return ({Tree^.Node} U GetQuorum(Tree^.RightChild)) else Ieft = GetQuorum(Tree^.left); right = GetQuorum(Tree^.right); if (left = Ø and right = Ø ) then (* Unsuccessful in establishing a quorum *); exit(-1); else return(left U right}; ; ;. X36DSV - Distribuované systémy a výpočty (10) - v1.7 23

Quora 1 2 3 4 5 6 7 quorum size = log 2 n... (n+1)/2 X36DSV - Distribuované systémy a výpočty (10) - v1.7 24

Quora Tree 1 2 3 4 5 6 7 X36DSV - Distribuované systémy a výpočty (10) - v1.7 25