Lookup Performanz von Verteilten Hashtabellen

Ähnliche Dokumente
Lookup Performanz von Verteilten Hashtabellen

Organic Computing: Peer-to-Peer-Netzwerke

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = +

Sichere und effiziente Namensauflösung für dezentrale IP-Telefonie

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Peer-to-Peer- Netzwerke

Virtuelle Präsenz. Peer to Peer Netze. Bertolt Schmidt

Bayeux. Dirk Ewerlin

Routing im Internet Wie findet ein IP Paket den Weg zum Zielrechner?

Plümper, Thomas, 2003, Effizient Schreiben, München, Oldenbourg,

Software ubiquitärer Systeme

Inhalte der Vorlesung. Ziele der Vorlesung. Dr. Felix Heine Complex and Distributed IT-Systems

Word 2010 Schnellbausteine

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Mining High-Speed Data Streams

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

So wird s gemacht - Nr. 24

Anleitung über den Umgang mit Schildern

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Professionelle Seminare im Bereich MS-Office

Integriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen?

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Einführung in. Logische Schaltungen

Softwarelösungen: Versuch 4

Insiderwissen Hintergrund

Der lokale und verteilte Fall

Voraussetzungen für die Nutzung der Format Rechenzentrumslösung (Hosting)

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Statuten in leichter Sprache

Rolf Wanka Sommersemester Vorlesung

RIS Abbild mit aktuellen Updates

Umleiten von Eigenen Dateien per GPO

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

1 topologisches Sortieren

Kap. 8: Speziell gewählte Kurven

Statistik im Versicherungs- und Finanzwesen

Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? Jörg Rambau

Übung 6. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen MI-T7 / DO-T5 SS 2015) Michael Schwarz

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Melanie Kaspar, Prof. Dr. B. Grabowski 1

Benutzerhandbuch - Elterliche Kontrolle

Dokumentation zur Verschlüsselung von Dateien und Mails

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Finanzwirtschaft. Teil II: Bewertung

Korrelation (II) Korrelation und Kausalität

Algorithmen und Datenstrukturen

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

WLAN Konfiguration. Michael Bukreus Seite 1

Einfaches, integriertes Projektmanagement mit Standard-Tools effizient planen und umsetzen

Formelsammlung zur Kreisgleichung

Einführung in die Algebra

Monatliche Grundgebühr: 5,00 Zeitabhängige Nutzung: Feiertags/Sonntags: 0,04 /min

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Plotten von Linien ( nach Jack Bresenham, 1962 )

Statistische Thermodynamik I Lösungen zur Serie 1

Media Teil III. Begriffe, Definitionen, Übungen

Durchführung fünf Trainingstage in Gruppen von rund 15 Personen, verteilt über etwa ein Jahr

Context based Cognitive Radio for LTE-Advanced Networks

Teambildung. 1 Einleitung. 2 Messen der Produktivität

Abwesenheitsnotiz im Exchange Server 2010

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Clustering (hierarchische Algorithmen)

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Erfahrungen mit Hartz IV- Empfängern

Wiederholung: Beginn

Speicher in der Cloud

Übung - Konfigurieren einer Windows 7-Firewall

Motivation für Fehlertoleranz in VS Fehlermodelle Erreichen von Fehlertoleranz. Verteilte Systeme. 7. Fehlertoleranz

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Simulation LIF5000. Abbildung 1

Hauptprüfung Abiturprüfung 2015 (ohne CAS) Baden-Württemberg

Electronic Systems GmbH & Co. KG

R ist freie Software und kann von der Website.

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Renditeberechnung Generali

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Viele Bilder auf der FA-Homepage

Allgemeines zu Datenbanken

Wasserfall-Ansätze zur Bildsegmentierung

Algorithmische Kryptographie

Übungsaufgaben Tilgungsrechnung

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

Grundlagen der Theoretischen Informatik, SoSe 2008

Organische Photovoltaik: Auf dem Weg zum energieautarken Haus. Referat von Dr. Gerhard Felten. Geschäftsleiter Zentralbereich Forschung und

ECO-Manager - Funktionsbeschreibung

Der VALUEpilot NEU! Ihr Ass im Ärmel

Teil 1: IT- und Medientechnik

A1.7: Entropie natürlicher Texte

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Botnetzmonitoring Waledac

So versprüht man digitalen Lockstoff

Transkript:

Lookup Performanz von Verteilten Hashtabellen Vortrag von Martin Christian <martin_at_christianix_dot_de> 1.Verteilte Hashtabellen 2.Routing-Strategien 3.Lookup-Strategien 4.Replikationsstrategien 5.Zusammenfassung

Peer-to-Peer Netze Hybride P2P-Netze: zentralistisch: zentraler Server verwaltet Peers und Ressourcen, z. B.: Napster hierarchisch: hierarchische Struktur der Server, z. B.: DNS Reine P2P-Netze: unstrukturiert: zwischen Nachbarn gibt es keine Unterschiede, z. B.: Gnutella strukturiert: Nachbarn stehen in einem Verhältnis zueinander, z. B.: DHTs 2

Vorteile: Verteilte Hashtabellen engl. Distributed Hashtables (DHT) Definieren einfache Schnittstelle: lookup(key) Keine Hierarchien => reines P2P Netz Skalierbar => Nachrichten werden nur ausgewählten Nachbarn gesendet Beispiele für Chord und Kademlia: 4-Bit Schlüssel Knoten: 0x1 (1), 0x3 (3), 0xA (10), 0xD (13), 0xE (14) Daten: 0x3 (3), 0x8 (8), 0xC (12) 3

Chord Eigenschaften: 1.Schlüsselraum: Restklassenring Z/2 m 1 2.Distanzmaß: 3.Routing: d(x,y) = 2 m (x-y) mod 2 m Sprungliste E succ(3) = 3 3 3 D succ(k) = der Knoten n mit n k und es ist kein anderer Knoten dazwischen succ(c) = D C succ(8) = A 8 A Sprungtabelle: 1 i m finger [i]= n 2 i 1 mod 2 m succ finger [i ] 4

Chord Lookup: Knoten 0x1: succ(0xc) =? 1. Suche größten Vorgänger von 0xC in Sprungtabelle von Knoten 0x1: i Schlüssel Knoten 1 0x2 0x3 2 0x3 0x3 3 0x5 0xA 4 0x9 0xA 2. Der Schlüssel 0xC steht in der Spungtabelle von Knoten 0xA: i Schlüssel Knoten 1 0xB 0xD 2 0xC 0xD 3 0xE 0xE 4 0x2 0x3 Antwort: succ(0xc) = 0xD 5

CAN Eigenschaften: 1.Schlüsselraum: [0, 1] d R d 2.Distanzmaß: d x, y = d i=1 x i y i 2 3.Routing: Nachbarzone mit dem geringsten Abstand zum gesuchten Schlüssel Lookup: 6

Kademlia Eigenschaften: 1.Schlüsselraum: Symmetrische Maschen mit 160 Bit Schlüsseln 2.Distanzmaß: d(x,y) = x xor y 3.Routing: Präfixbaum 1 3 Distanztabelle: A Knoten 0x1 0x3 0xA 0xD 0xE 0x1 0x0 0x2 0xB 0xC 0xF 0x3 0x0 0x9 0xE 0xD 0xA 0x0 0x7 0x4 0xD 0x0 0x3 D C E 7

Kademlia Routingtabelle: Intervall k-bucket [2 0 2 1 [ 1..k Knoten [2 1 2 2 [ 1..k Knoten...... [2 i 2 i+1 [ 1..k Knoten Routingbaum: 0 0 1 1 Subnetzmaske: Terminologie vom Internetprotokoll (IP) geliehen Bezeichnet gleiche Anzahl höherwertiger Bits: Schlüssel A: 1 0 1 1 Schlüssel B: 1 0 0 1 Schlüssel A und B sind im gleichen /2 Subnetz 8

Kademlia Lookup: Knoten 0x1: Wo ist 0xC gespeichert? 1. Berechne Distanz:: d( 0x1, 0xC ) = 0xD 2. Suche nächsten Knoten in Routingtabelle: Maske Bereich Knoten 3 0x1-2 0x2 0x3 0x3 1 0x4 0x7-0 0x8 0xF 0xA,0xD,0xE 3. Frage 0xA nach Schlüssel 0xC: 3.1. Berechne Distanz: d( 0xA, 0xC) = 0x6 9

Kademlia Lookup (Fortsetzung): 3.2. Suche nächsten Knoten in Routingtabelle: Maske Bereich Knoten 3 0x1-2 0x2 0x3-1 0x4 0x7 0xD, 0xE 0 0x8 0xF 0x1, 0x3 3.3. Antwort: Frage 0xD. 4. Frage 0xD nach Schlüssel 0xC: Gefunden! Knoten 0x1 0x3 0xA 0xD 0xE Distanz zu 0xC 0xD 0xF 0x6 0x1 0x2 10

Kademlia Weitere Eigenschaften: Redundanz durch k-buckets Replikation der Daten auf benachbarten Knoten k-buckets werden durch Arbeitskontakte aktuell gehalten k-buckets können nicht vergiftet werden weil nur inaktive Knoten gelöscht werden 11

Lookup Effizienz Motivation: Bisher DHTs nur im Labor untersucht Bisher nur Worst-Case Betrachtung der Hop Anzahl Hier: Kad Netz von emule mit nahezu 1 Million Nutzer Zielsetzung: Theoretisches Modell zur Abschätzung der mittleren Anzahl Hops Neue Werkzeuge (-> Zusammenfassung) Empirischer Vergleich von Routing-Strategien Empirischer Vergleich von Lookup-Strategien Empirische Vergleich von Replikationsstrategien Verbesserungsvorschläge für Präfixbasierte DHTs 12

Ideen Ideen: Anzahl Routingeinträge erhöhen Anzahl Einträge in den k-buckets erhöhen Begriffe: Symbolgröße: Anzahl k-buckets pro Routingknoten Auflösung: Anzahl Bits die pro Routingschritt verglichen werden 0 10 11 0 10 11 13

Redundanz bringt Perfomanz Theorie Die Wahrscheinlichkeit, mindestens δ Bit näher ans Ziel zu kommen: Pr[ X ]= 1 2 Beispiele /2 Subnetz von Knoten 0000: 0000 0001 0010 0011 Pr[ X 1]= 1 2 1 Verteilungsfunktion: F,r, k =Pr [ X ]=1 1 1 2 r k Sei k=2: X δ X δ X < δ ok ok Wahrscheinlichkeitsfunktion: X < δ X δ X < δ ok nicht ok f, r,k =Pr X = =F, r,k F 1, r,k 14

Redundanz bring Permormanz Zufällige Bitverbesserung pro Schritt (Erwartungswert): m r,k =r f, r,k =0 Gesamtzahl der Bitverbesserung pro Schritt: t b, r, k =b m r, k (garantierte + zufällige Bitverbesserung) Erwartete Anzahl Schritte für einen Lookup: steps avg = log 2 n t b,r,k 15

Verschiedene Symbolgrößen Systembeschreibung: D(b, r, k) mit b = Symbolgröße r = Auflösung der inneren Knoten k = Bucket Größe Standard Kademlia: D(1,1,k) 0 0 1 1 16

Verschiedene Symbolgrößen Discrete Symbols: D(2,2,k) 00 00 01 10 11 Split Symbols: 01 10 11 D(2,1,k) 0 0 10 11 10 11 17

Symbolgröße und k-buckets Bit-Gewinn durch komplexere Routingtabellen: Routingtabellengröße: Normalisierte Routingtabellengröße: k 2 b 2 b r log 2 r n k 2b 2 b r r : log 2 n Ergebnisse: Komplexere Routingtabellen bringen eine Verbesserung im Worst-Case k-buckets bringen eine Verbesserung im Average-Case k-buckets und komplexe Routingtabellen bringen zusammen keinen Mehrgewinn 18

Kad D(3.25,1,10) 0 0 1000 1001 101 110 111 Bitverbesserung pro Schritt: t 3.25,1,10 =3.25 m 1,10 =6.98 Der Wurzelknoten hat eine vollständige 4-Bit Verästelung. => Bitverbesserung für den ersten Schritt: t 4,1,10 =4 m 1,10 =7.73 Mittlere Anzahl Suchschritte: steps avg =1 log 2 n t 4,1,10 t 3.25,1,10 = 1 log 2 n 7.73 6.98 19

Kad Netzgröße bestimmen: Genaue Bestimmung von n nicht möglich, wegen der Dynamik von P2P-Netzen Abschätzung von n durch Stichprobenziehung in Subnetzen Ergebnis: n 980,000 Laufzeit für Lookups im Mittel: 2.7 (mit perfekten Routingtabellen) 20

Qualität von Routingtabellen Vollständigkeit: Verhältnis von IST- zu SOLL-Einträgen in den k-buckets: Sei x die Anzahl Bits in der Netzmaske und n die Netzgröße, dann ergeben sich die SOLL-Einträge als: Ideal x =min k, n 2 x 21

Qualität von Routingtabellen Aktualität: Anteil von aktiven Knoten im k-bucket: Ergebnis: 1.5 Plätze sind im Durchschnitt unbesetzt 1 Eintrag ist im Durchschnitt nicht mehr aktiv Neue Erkenntnisse ins Modell integrieren: k = 10-1.5-1 = 7.5 log 2 n 7.33 1=2.91 Hops 6.58 (empirisches Ergebnis: maximal 3.2 Hops) 22

Lookup-Strategien Unabhängige Parameter: Parallelisierungsgrad: α Strategien: Strikte Parallelität: A new request is issued only when a pending request times out or a response is received. (D. Stutzbach, R. Rejaie) Lockere Parallelität: [...] a client can issue a lookup request to a contact that is among the top α contacts as soon as such a contact is identified [...] (D. Stutzbach, R. Rejaie) Abhängige Parameter: Latenzzeit: Ergebniszeit Startzeit Overhead: Anzahl gesendeter Nachrichten Hops: Anzahl gefragter Knoten 23

Lookup-Strategien Ergebnisse: Strikte Parallelisierung leistet das Gleiche wie lockere, erzeugt aber weniger Overhead. Der optimale Parallelisierungsgrad liegt bei α = 3. Bei α = 1 erreicht ein Lookup nach 3.2 Hops den Zielknoten, bei α > 1 in weniger Hops. 24

Konsistenz von Suchanfragen Fragestellung: Was ist der optimale Replikationsparameter c, um eine Zuverlässigkeit von mindestens p zu garantieren? Ergebnis: Ab c=3 erreicht man eine Zuverlässigkeit von über 99,9 % 25

Zusammenfassung Ergebnisse: k-buckets bringen Redundanz UND Performanz k-buckets und komplexere Routingtabellen bringen keinen Vorteil Anzahl Hops: SOLL = 2.91 Anzahl Hops bei α = 1: IST = 3.2 Anzahl Hops bei anderen Autoren: SOLL = 6.3 Effizienteste Lookup-Strategie: Strikte Parallelität mit α = 3. p = 99,9 % wird erreicht mit: c = 3 emule: Lookup Strategie: lockere Parallelität mit α = 3 Routing Strategie: k-buckets und Split Symbols Replikationsfaktor: c = 19 (im Durchschnitt) 26

Zusammenfassung Neue Werkzeuge: cruiser: Liefert für ein gegebenes DHT-Subnetz die Anzahl der aktiven Peers. kfetch: Lädt von einem Peer die Routingtabelle herunter und testet die Einträge. klookup: Führt von einer beliebigen Quelle einen Lookup nach einem Ziel aus. Dabei nutzt es kfetch, um die Routingtabelle der Quelle zu holen. 27