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

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

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

Příprava na zk. z KIV/DS

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

Čas a kauzalita v DS

Distribuované algoritmy

Výpočet globálního stavu

Lokální počítačové sítě

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

TOPOLOGIE DATOVÝCH SÍTÍ

PB153 Operační systémy a jejich rozhraní

Základní komunikační operace

PDV /2018 Detekce selhání

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

Ústav technické matematiky FS ( Ústav technické matematiky FS ) / 35

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

PŘÍSTUPOVÉ METODY KE KOMUNIKAČNÍMU KANÁLU

Paralelní programování

4. Úvod do paralelismu, metody paralelizace

Distribuované systémy

Počítačové sítě Datový spoj

Distribuované systémy a výpočty

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

Technologie počítačových sítí 11. přednáška

Universal Serial Bus (USB)

Distribuované systémy a výpočty

Dynamické datové struktury IV.

Distribuované systémy a výpočty

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

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

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

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

Zkušenosti s WSGP. Obsah prezentace. Petr Kokeš Český úřad zeměměřický a katastrální

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

Úvod do distribuovaných systémů

Algoritmizace prostorových úloh

Rozhraní SCSI. Rozhraní SCSI. Architektura SCSI

Identifikátor materiálu: ICT-3-01

Dynamické datové struktury I.

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

Architektury paralelních počítačů II.

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti.

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

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

Počítačové sítě Směrovací protokol OSPF. Jak se směruje v globálním Internetu. Leoš Boháč Jan Kubr

Základy počítačových sítí Model počítačové sítě, protokoly

Přerušovací systém s prioritním řetězem

Pozice sběrnice v počítači

Srovnání v T4C 3 (LELY Benchmark Social Network)

Zabezpečení dat při přenosu

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

BI-JPO. (Jednotky počítače) M. Sběrnice

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová

Počítačové sítě Datový spoj

Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc

Principy operačních systémů. Lekce 6: Synchronizace procesů

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Principy počítačů I Propojovací systémy

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Datové struktury 1: Základní datové struktury

Algoritmizace prostorových úloh

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Datové typy a struktury

50 Zápisník skupiny. Popis modulu

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

Pavel Procházka. 3. prosince 2014

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

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

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

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Google Apps. kalendář 2. verze 2012

POČÍTAČOVÉ SYSTÉMY Sítě počítačů

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

Počítačové sítě II. 13. Směrování. Miroslav Spousta, 2004

Vzdálenost uzlů v neorientovaném grafu

Přenos signálů, výstupy snímačů

Teorie front. Systém hromadné obsluhy

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

4. Co je to modulace, základní typy modulací, co je to vícestavová fázová modulace, použití. Znázorněte modulaci, která využívá 4 amplitud a 4 fází.

Přepínaný Ethernet. Virtuální sítě.

Analýza dat a modelování. Přednáška 3

Analýza aplikačních protokolů

IB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D.

Vypracoval: Ing. Antonín POPELKA. Datum: 30. června Revize 01

2010/2011 ZS. Operační systém. prostředky, zablokování

Uživatelská příručka MWA Modul Podpora vzdálených kalibrací dle ILAC

Exponenciální modely hromadné obsluhy

SAS (Single-Attachment Station) - s jednou dvojicí konektorů, tj. pro použití pouze na jednoduchém kruhu.

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce)

SPINEL. Komunikační protokol. Obecný popis. Verze 1.0

EXTRAKT z české technické normy

Stromy, haldy, prioritní fronty

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

PROTOKOL RDS. Dotaz na stav stanice " STAV CNC Informace o stavu CNC a radiové stanice FORMÁT JEDNOTLIVÝCH ZPRÁV

Business Intelligence

Úvod do teorie grafů

Transkript:

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

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í 15.10.2007 Distribuované algoritmy 2

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. 15.10.2007 Distribuované algoritmy 3

Distribuované vzájemné vyloučení Centralizované řešení 15.10.2007 Distribuované algoritmy 4

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ů 15.10.2007 Distribuované algoritmy 5

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) 15.10.2007 Distribuované algoritmy 6

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

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 15.10.2007 Distribuované algoritmy 8

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

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 15.10.2007 Distribuované algoritmy 10

Algoritmus Maekawa Vzájemné vyloučení zajištěno vytvořením hlasovacího quora Vyžaduje souhlas (2 N)-1 procesů 1 7 13 2 8 14 3 9 15 4 10 16 5 11 17 6 12 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 15.10.2007 Distribuované algoritmy 11

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ů 15.10.2007 Distribuované algoritmy 12

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ů 15.10.2007 Distribuované algoritmy 13

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 15.10.2007 Distribuované algoritmy 14

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í 15.10.2007 Distribuované algoritmy 15

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 15.10.2007 Distribuované algoritmy 16

Raymodův algoritmus Procesy jsou uspořádány do stromu 15.10.2007 Distribuované algoritmy 17

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ě 15.10.2007 Distribuované algoritmy 18

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 15.10.2007 Distribuované algoritmy 19

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

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ě 15.10.2007 Distribuované algoritmy 21