Distribuované systémy a výpočty

Podobné dokumenty
Distribuované Hashovací Tabulky. Jaroslav Bárta

Strukturované a nestrukturované P2P sítě, DHT

Peer-to-Peer sítě. Mgr. Miroslav Novotný. Katedra Softwarového inženýrství

Příprava na zk. z KIV/DS

PEER-TO-PEER PŘÍSTUP K VYHLEDÁVÁNÍ NA INTERNETU

Bakalářská práce. Simulace vybrané metody DHT

Architektura klient-server

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

Datové struktury 2: Rozptylovací tabulky

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

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

Algoritmizace Hashing II. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Databáze I. 5. přednáška. Helena Palovská

Možnosti vylaďování subsecond konvergence EIGRP

Propojování sítí,, aktivní prvky a jejich principy

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Stromy, haldy, prioritní fronty

IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for


8.2 Používání a tvorba databází

Teradata Basic. RNDr. Ondřej Zýka

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

Distribuované systémy a výpočty

Architektury Informačních systémů. Jaroslav Žáček

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

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz

VYHLEDÁNÍ NEJDELŠÍHO SHODNÉHO PREFIXU V FPGA

Distribuované systémy a výpočty

Architektury Informačních systémů. Jaroslav Žáček

EXCELentní tipy a triky pro mírně pokročilé. Martina Litschmannová

Počítačové sítě IP multicasting

Budování sítě v datových centrech

Datové struktury Úvod

6. Fyzická (interní) úroveň databázového systému

Oracle XML DB. Tomáš Nykodým

6. Fyzická (interní) úroveň databázového systému

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

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

Databázové systémy. Cvičení 6: SQL

Algoritmizace prostorových úloh

Vyhledávání, zejména rozptylování

HASHING GENERAL Hashovací (=rozptylovací) funkce

PDV /2018 Detekce selhání

Implementace P2P sítě zrcadel v prostředí JXTA

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

Dynamické datové struktury I.

Microsoft Office. Excel vyhledávací funkce

Local Interconnect Network - LIN

Průzkum a ověření možností směrování multicast provozu na platformě MikroTik.

Instalační manuál. Uživatelská příručka informačního systému. Popis postupu nastavení zabezpečené komunikace s CDS pomocí aplikace MS Outlook 2010.

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D.

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

Monitoring výkonu PostgreSQL

Databáze II. 1. přednáška. Helena Palovská

Databázové systémy úvod

Počítačové sítě. Cvičení - IP adresy

Algoritmizace prostorových úloh

Základní komunikační operace

CAL (CAN Application Layer) a CANopen

Směrovací protokoly, propojování sítí

Tabulka. Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být:

SQL - trigger, Databázové modelování

BigData. Marek Sušický

Distribuce IT systému z důvodu minimalizace rizik a nasazení platformy linux

SOU Valašské Klobouky. VY_32_INOVACE_02_18 IKT DNS domény. Radomír Soural. III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

PVBPS - Prezentace DUŠAN CHOLEVA (CHO0130)

RELAČNÍ DATABÁZE. Cíl:

NoSQL databáze. Marek Rychlý (a Dušan Kolář) Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Server Security, Serverové produkty

MASSIV. Middleware pro tvorbu online her

Síťová vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Nerelační databázové modely. Helena Palovská

Registr živnostenského podnikání předchůdce cloudových řešení

Úvod do databázových systémů. Ing. Jan Šudřich

Michal Krátký, Miroslav Beneš

7. Geografické informační systémy.

PG 9.5 novinky ve vývoji aplikací

Experimentální systém pro WEB IR

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

Technologie sémantického webu ( ) Roman Špánek

Složitosti základních operací B + stromu

Definice. B-stromu. B-strom řádu m je strom, kde každý uzel má maximálně m následníků a ve kterém platí:

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

BAKALÁŘSKÁ PRÁCE. David Brodský Distribuovaná hašovací tabulka pro klienta protokolu BitTorrent

04 - Databázové systémy

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová

Návrh Designu: Radek Mařík

Specifika implementace IS v surovinovém průmyslu

Tonda Beneš Aplikace bezpe nostních mechanism jaro 2011

Interpret jazyka IFJ2011

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

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

11. Tabu prohledávání

Směrování. 4. Přednáška. Směrování s částečnou znalostí sítě

KAPITOLA 1 Úvod do zkoušky VMware Certified Professional pro vsphere 25. KAPITOLA 2 Úvod do serverové virtualizace a řady produktů VMware 43

Transkript:

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

P2P Distribuce dat Požadavky Řešení decentralizace škálovatelnost rovnoměrné rozložení dat a zátěže rychlé vyhledávání a výběr dynamická architektura obecnost nezávislost na identifikaci Chord kruh Pastry/Tapestry strom CAN - hyperkrychle X36DSV - Distribuované systémy a výpočty (2) - v.3 2

P2P Vyhledávání Problém put(name,data) N N 2 N 3 N 4? N 5 N 6 data = get (name) X36DSV - Distribuované systémy a výpočty (2) - v.3 3

P2P Vyhledávání Problém put(name,data) N N 2 N 3 N 4? key = hash(name) IP_address = lookup(key) put(ip_address,data) N 5 N 6 data = get (name) key = hash(name) IP_address = lookup(key) data = get(ip_address) X36DSV - Distribuované systémy a výpočty (2) - v.3 4

P2P Vyhledávání Centralizovaný adresář - Napster put(loc,data) N N 2 N 3 N 4 N 5 N 6 data = get (loc) X36DSV - Distribuované systémy a výpočty (2) - v.3 5

P2P Vyhledávání Centralizovaný adresář - Napster put(loc,data) N N 2 N 3 N 4 setloc(name,n 5 ) put(loc,data) N 5 N 6 DB data = get (loc) loc = lookup(name) data = get(loc) X36DSV - Distribuované systémy a výpočty (2) - v.3 6

P2P Vyhledávání Broadcast - Gnutela N N 2 N 3 N 4 N 5 N 6 loc = lookup(name) X36DSV - Distribuované systémy a výpočty (2) - v.3 7

P2P Vyhledávání Broadcast - Gnutela N N 2 N 3 N 4 N 5 N 6 loc = lookup(name) X36DSV - Distribuované systémy a výpočty (2) - v.3 8

P2P Vyhledávání Prohledávání - FreeNet N N 2 N 3 N 4 N 5 N 6 loc = lookup(name) X36DSV - Distribuované systémy a výpočty (2) - v.3 9

P2P Vyhledávání Prohledávání - FreeNet N N 2 N 3 N 4 N 5 N 6 loc = lookup(name) X36DSV - Distribuované systémy a výpočty (2) - v.3 0

DHT Distributed Hash Table efektivita počet zpráv na vyhledání průměr grafu škálovatelnost počet stavových položek na uzel stupeň uzlu odolnost proti výpadkům uzlu proti výpadkům uzlů replikace dat počet redundantních kopií X36DSV - Distribuované systémy a výpočty (2) - v.3

DHT Distributed Hash Table Chord jednoduchý interface IP_address = lookup(key) efektivní O(log N) zpráv na vyhledání škálovatelný O(log N) stavových dat na uzel odolný proti výpadkům uzlů X36DSV - Distribuované systémy a výpočty (2) - v.3 2

DHT Chord Hashing N20 K 5 N05 vzdálenost K 20 circular 7-bit ID space N32 N90 K 80 N72 N60 X36DSV - Distribuované systémy a výpočty (2) - v.3 3

DHT Chord Hashing - konzistentní - Chord se opírá o SHA- - skutečná délka klíče je 60 bitů - vzdálenost pohyb po směru hodinových ručiček X36DSV - Distribuované systémy a výpočty (2) - v.3 4

DHT Chord Sequential lookup where is K80? N20 N05 circular 7-bit ID space N32 N90 K 80 N72 N60 X36DSV - Distribuované systémy a výpočty (2) - v.3 5

DHT Chord Sequential lookup where is K80? N20 N05 circular 7-bit ID space N32 N90 K 80 N72 N60 X36DSV - Distribuované systémy a výpočty (2) - v.3 6

DHT Chord Finger table N20 N 32 N 32 N 32 N05 N 32 N32 N90 N 60 N72 N60 X36DSV - Distribuované systémy a výpočty (2) - v.3 7

DHT Chord Finger table where is K80? N20 N 32 N 32 N 32 N05 N 32 N32 N90 N 60 K 80 N72 N60 X36DSV - Distribuované systémy a výpočty (2) - v.3 8

DHT Chord Finger table where is K80? N20 N 32 N 32 N 32 N05 N 32 N32 N90 N 60 K 80 N72 N60 X36DSV - Distribuované systémy a výpočty (2) - v.3 9

DHT Chord Finger table N20 i n+2 i succ 0 K2 N32 K22 N32 2 K24 N32 3 K0 N32 4 K8 N32 5 K24 N32 6 K56 N60 X36DSV - Distribuované systémy a výpočty (2) - v.3 20

DHT Chord insert - určení Id - znalost jednoho uzlu Chord - nalezení následníka a uložení odkazů - vytvoření finger table stabilize - periodický dotaz na následníka - ten sdělí svého (nového) předchůdce - neshoda update vazby - uložení dat fix_fingers - periodický update jednotlivých odkazů X36DSV - Distribuované systémy a výpočty (2) - v.3 2

DHT Chord výpadek finger table - fix_fingers() násobný výpadek - udržování seznamu r následníků opuštění Chordu - zkopírování dat k následníkovi - update odkazů X36DSV - Distribuované systémy a výpočty (2) - v.3 22

DHT Chord Replikace N20 N 32 N 32 N 32 K 5 N05 N 32 N32 K 5 N90 N 60 N72 N60 K 5 X36DSV - Distribuované systémy a výpočty (2) - v.3 23

DHT Pastry Id space N33 K 32 K 33 K 0 N0 circular 4-bit ID space K 23 K 03 N22 K 2 K 2 N0 X36DSV - Distribuované systémy a výpočty (2) - v.3 24

DHT Pastry Node state routing table n = 03220 2-bit ID space 0 2 3 4 5 0320 0 0022 0 0003 0203 032 0320 20303 2032 02303 2 2 0 3220 3202 3 03302 leaf set 0323 0320 03302 03330 neighborhood set 0320 3220 2032 0203 X36DSV - Distribuované systémy a výpočty (2) - v.3 25

DHT Pastry lookup insert - blízký uzel v leaf table (pokud je v rozsahu) - uzel s delší shodou prefixu v routing table - nejbližší z uzlů se shodným prefixem - vyhledání síťově (geograficky, topologicky) blízkého uzlu k - převzetí neighbourhood table - join zpráva směrem k vybrané ID pozici - převzetí leaf table od uzlu c nejbližšího k ID pozici - převzetí prvního řádku routing table od uzlu k - převzetí dalších rádků routing table od uzlů cesty k c - odeslání stavové informace směrem k c - optimistické řešení kolize časovými známkami X36DSV - Distribuované systémy a výpočty (2) - v.3 26

DHT Pastry výpadky - periodické testování platnosti tabulek - udržování i ne nejvýhodnějších sousedů jako zálohu - při opravě routing table pomohou sousedi ze stejného řádku - při opravě leaf set pomohou sousedi z leaf set - při opravě neghborhood set pomohou sousedi z neiborhood set opuštění Pastry X36DSV - Distribuované systémy a výpočty (2) - v.3 27

DHT CAN Id space routing d-dimensional Id space (x,y,...) y x X36DSV - Distribuované systémy a výpočty (2) - v.3 28

DHT CAN insert y x X36DSV - Distribuované systémy a výpočty (2) - v.3 29

DHT CAN insert y x X36DSV - Distribuované systémy a výpočty (2) - v.3 30

DHT Kademlia Id space - circular n-bit space - XOR metric 0 0 0 0 0 0 0 X36DSV - Distribuované systémy a výpočty (2) - v.3 3