32
1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof. Dr. Ing. Klemens Böhm Betreuender Mitarbeiter: Dipl. Inform. Michael Klein DIPLOMARBEIT Universität Karlsruhe, Institut für Programmstrukturen und Datenorganisation

1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

Embed Size (px)

Citation preview

Page 1: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

1

Jens Pflüger, 04.11.2005

Transaktionaler Schutz für Wartungsoperationen in

Overlaynetzen

Jens Pflüger

04. November 2005

Betreuender Professor:Prof. Dr. Ing. Klemens Böhm

Betreuender Mitarbeiter:Dipl. Inform. Michael Klein

DIPLOMARBEIT

Universität Karlsruhe, Institut für Programmstrukturen und Datenorganisation

Page 2: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

2

Jens Pflüger, 04.11.2005

Projekt-Kontext DIANE

Angebote & Nachfragen müssen:

beschrieben werden

zu einander kommen

abgeglichen werden

Geräte müssen zur Ressourcen- bereitstellung motiviert werden

Document ServiceIn: --Out: article on GROUP-BY operator

Mehr über SQL??

=

$$$

DIANE = „Dienste in Ad-hoc-Netzen“Dienstankündigung / Dienstsuche

Page 3: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

3

Jens Pflüger, 04.11.2005

Overlay-Netze

Logische Struktur über vorhandenem Netzwerk

Liefert „Mehrwert“ Eigenschaften:

Besitzen Struktur (dezentral verwaltet) Teilnahme-Status (Login / Logout) Adaption der Struktur wegen

Änderungen am physischen Netzwerk nötig

Vorteile bei der Dienstsuche: ohne Infrastruktur funktionsfähig Ressourcenschonend (Geschickte

Weiterleitung von Nachrichten) Für dynamische Umgebungen geeignet

BFD

A

C E

physisches Netz

Overlay

A

C E

Page 4: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

4

Jens Pflüger, 04.11.2005

Lanes - Overlay

1

2

3

4

5

6

7

8

9

10

11

12

Parallele Anordnung von Knoten-“Bahnen” ( Lanes)

Anycast-Routing in x-Richtung für Dienstsuche

Austausch und Speicherung von Dienstankündigungen innerhalb der Lane ( alle Lane-Mitglieder erscheinen von außen gleich)

Vorteil:Begrenzung der Dienstankündigungs- und -suchnachrichten gegenüber Fluten

Wartungsoperationen und Optimierungen zur Anpassung der Struktur:

Login, Logoff, Lane-Splitting, Lane- Merging, Lane-Reparatur, ...

anycast

anycast

Dienstankündigung

Dienstsuche

Page 5: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

5

Jens Pflüger, 04.11.2005

Schwierigkeiten

Algorithmen für die einzelnen Aufgaben zu entwickeln ist relativ einfach

Probleme treten bei paralleler Ausführung mehrerer Mechanismen oder bei Fehlern auf:

Gegenseitiges Überschreiben von Änderungen (Lost Updates)

Unerlaubtes Lesen der geschriebenen Werte (Dirty Reads, Non-Repeatable Reads)

Inkonsistenz der Struktur !!

Grundsätzliche Lösung: Fehler müssen erkannt werden Betroffene Operationen müssen abgebrochen

werden können Ihre Wirkung muss zurückgesetzt werden

Page 6: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

6

Jens Pflüger, 04.11.2005

Beispiel

1 2 3 4 5 6

Split-Request (1)Split-Complete (3)

7Login (2)

1 3 5

2 4 6

7

Page 7: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

7

Jens Pflüger, 04.11.2005

Stand der Forschung

LanesPastry, Chord, Bamboo CAN Tapestry

Beschriebene Probleme sind keine Lanes-spezifischen Phänomene

Wie gehen existierende Overlays damit um ?

Untersuchung existierender Overlay-Implementierungen,

die zur Dienstsuche verwendet werden (können)

Page 8: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

8

Jens Pflüger, 04.11.2005

Stand der Forschung (2)

Entwicklung protokollspezifischer Lösungen: komplex schwer zu überschauen schlecht wartbar Lösungsansätze nicht übertragbar

Minderung der Probleme durch: Fehlertolerante Strukturen

Routingtabellen keine speziellen Overlay-Strukturen (z.B. bei Tapestry) Nicht allgemein einsetzbar!

Periodische Reorganisationsmaßnahmen Internet-Bereich Temporäre Inkonsistenzen

Prioritätsbasierte Lösungen Globale Serialisierung Keine Parallelität, Timeouts

Page 9: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

9

Jens Pflüger, 04.11.2005

Eigener Ansatz

Transaktionaler Operationsschutz

Page 10: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

10

Jens Pflüger, 04.11.2005

Ansatz

Entwicklung eines allgemeinen Schutzsystems

Erkennung von Fehlern Abbrechen von betroffenen Operationen Zurücksetzen ihrer Wirkung

Generizität

Eigenständiges System Einfachere Entwicklung neuer Overlays

Grundüberlegung:

Die beschriebenen Probleme treten auch in Datenbank-systemen auf!

Transaktionen beheben dort diese Schwierigkeiten

Overlay-Operationen würden auch korrekt ablaufen, wenn sie transaktional geschützt sind

Page 11: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

11

Jens Pflüger, 04.11.2005

Transaktionales Schutzsystem

Verwendung eines verteiltem DBMS:

Unterschiede: nur wenige zu schützende Datenwerte geringe Zahl paralleler Operationen pro Knoten viele Knoten an einer Operation beteiligt A C I D - Eigenschaft Hohe Fehlerwahrscheinlichkeit DB-Metadaten Strukturdaten Eigene Fehlerbehandlung durch die Overlay-Mechanismen

1

2

3

4

5

T

T

K TA

Knoten DBMS

Overlay-Netz verteiltes DBMS

Overlay-Operation verteilte TA

Page 12: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

12

Jens Pflüger, 04.11.2005

Systemaufbau

ZustandsdatenZustandsdaten

Teilnehmer 2

Lanes-Handler

Teilnehmer 1

Lanes-Handler

Lanes-Protokoll

ZustandsdatenZustandsdaten

Sperren-verwaltung

Tra

nsak

tion

Log-Manager

Transaktionsmanager

checkout, checkin, peek, remove

start, commit, abort

Exceptions

read, write

Sperren-verwaltung

Tra

nsak

tion

Log-Manager

Transaktionsmanager

checkout, checkin, peek, remove

start, commit, abort

Exceptions

read, write

Commit-Protokoll

Lokale Konsistenz

Globale Konsistenz

Page 13: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

13

Jens Pflüger, 04.11.2005

Lokale Konsistenz

Verwendung gängiger Schedule-Protokolle Strenge Sequentialität 2-Phasen-Sperr-Protokoll Vorabsperrendes Protokoll Optimistisches Vorgehen …

Leichte Austauschbarkeit und Erweiterung Gemeinsame Schnittstelle Vorgegebene Infrastruktur:

Sperrenverwaltung Deadlock-Vermeidung Deadlock-Erkennung Log-Management (nicht dauerhaft)

Page 14: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

14

Jens Pflüger, 04.11.2005

Globale Konsistenz

Teilnehmer

PrepareMessage / ReadyMessage

CommitMessage / Ack

PrepareMessage ||Timeout / NotReadyMessage

AbortMessage / Ack

Prepare

AbortingCommiting

MissingResultMessage/ MissingResultAnswerMessage[Commit]

Timeout / ConnectionLostException

Timeout / -

MissingResultMessage/ MissingResultAnswerMessage[Abort]

Termination

Tim

eout /

Missing

Resu

ltMessage

Mis

sing

Re

sultA

nsw

erM

essa

ge

[Ab

ort]

/ -

MissingR

esultA

nswerM

essa

ge[C

omm

it] / -

Timeout / -

2-Phasen-Commit-Protokoll:

Page 15: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

15

Jens Pflüger, 04.11.2005

2PC-Anpassungen

Koordinator = Initiator der Operation Allen Teilnehmern bekannt

Koordinator lernt Teilnehmer erst über Abstimmungs-nachrichten kennen (s.u.)

keine initialen Abstimmungsaufforderungen

Get-To-Know-Protokoll:

Jeder Knoten protokolliert automatisch sämtliche Nachrichten einer Operation mit. „Korrespondenz-Adressen“ werden mit Stimme übermittelt

1

2

3 4optional

C

Partitionierung

True2, (4)True

1, 3

True-

True2

Problem: System soll so generisch wie möglich sein(d.h. so wenig zusätzliche Informationen„von oben“ wie möglich!)

Page 16: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

16

Jens Pflüger, 04.11.2005

Aufwandsbetrachtung

Commit-Protokoll ist aufwändig: prinzipiell 4(n-1) Nachrichten 3(n-1) Nachrichten bei zuverlässigem Transportprotokoll

(keine expliziten Acks) n bei einigen Operationen groß! (z.B. Login)

Verbesserungen: Anpassungen des 2-Phasen-Commits (Get-To-Know-

Protokoll) nur noch 2(n-1) Nachrichten

Nur Schutz der strukturkritischen Operationen und Operationsteile

Ping/Pong

Dienst-aktualisierung

Timeout

TimeoutReparaturerfolgreich

LaneBrokentransaktionalgeschützter Kern

Vorbereitung

Nachbearbeitung

SessionID: 2

SessionID: 3

SessionID: 1

Page 17: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

17

Jens Pflüger, 04.11.2005

Evaluation - Szenario

Verwendung der Diane-Service-Benchmark SB6:

25 Knoten Erstes Angebot: U(60, 1000) s Angebotszahl: max. 5 Angebotsfrequenz: U(120, 240) s Suchfrequenz: U(60, 120) s

Modifikationen:

Simulationsdauer: 1000 s Erster Login: U(30, 1000) s Logouts möglich (nach 40 s Idle-Zeit) Relogins (min. 10 s nach Logout) Entfernen von Angeboten (Haltezeit: 120 s)

Einstellungen bei Lanes:

Lane-Größe: 3-10 Ping-Intervall: 15 s

Page 18: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

18

Jens Pflüger, 04.11.2005

Live-Demo

Page 19: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

19

Jens Pflüger, 04.11.2005

Effizienz

300 Simulations-läufe

beschr. Szenario:

Zusatzaufwand durch Trans-aktionen: 19%

Verhältnis TA-Sonstige: 39%

var. Netznutzung:

Untersuchung anhand versch. Logout-Raten

Zusatzaufwand: 7,5 – 22%

31

20

49

19

0

20

40

60

80

100

120

1

Nachrichtenverteilung

%

Dienst-Nachrichten Ping-Nachrichten

Sonstige Nachrichten transaktionale Nachrichten

0

5

10

15

20

25

25/0 35/9 34/13 39/20 43/27 60/40 65/40 70/40

Netznutzung (Logins/Logoffs pro 1000s)

%

Nachrichtenverteilung / Zusatzaufwand

Zusatzaufwand bei variabler Netzlast

Page 20: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

20

Jens Pflüger, 04.11.2005

Effektivität Je 50 Simulationsläufe

Netzlast 1: wie im Szenario beschrieben Netzlast 2: 50 Knoten, Logout nach 30 s

Nach jedem Simulationslauf:

Test der Konsistenz der aufgebauten Lanes-Struktur (Inter- und Intra-Lanes-Verbindungen)

Test des „schutzlosen“ Systems durch speziellen Scheduler

44

2

66

4

0

10

20

30

40

50

60

70

ohne Schutz mit Schutz

%

Netzlast 1

Netzlast 2

Testlaufanteil mitinkonsistentemErgebnis

Page 21: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

21

Jens Pflüger, 04.11.2005

Live-Demo (2)

Page 22: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

22

Jens Pflüger, 04.11.2005

Zusammenfassung & Ausblick

Probleme bei parallelen Wartungsoperationen in Overlays: Lost Updates Non-Repeatable Reads Dirty Reads

Entwicklung eines transaktionalen Schutzsystems Große Ähnlichkeit zu verteilten Datenbanksystemen Eigenständige Komponente Erhebliche Fehlerreduktion bei Mehraufwand bis ca. 22%

Ausblick: Einsatz für andere Overlays Funktionsfähige, korrekte, individuelle Lanes-Realisierung Weitere Commit- und Scheduleprotokolle

Page 23: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

23

Jens Pflüger, 04.11.2005

Ende

Vielen Dank für die Aufmerksamkeit!

Fragen ?

Page 24: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

24

Jens Pflüger, 04.11.2005

Anhang

Page 25: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

25

Jens Pflüger, 04.11.2005

Lokale Konsistenz - Datenspeicherung

Gruppenzuordnungen (Anycast-adressen) werden von einem dem Netzwerk nahem Overlay verwaltet

kein direkter Schutz möglich

Verwendung eines optimistischen Ansatzes:

Durchführung von Änderungen in TA- lokalem Bereich

Festschreiben der Änderungen erst nach erfolgreichem Abschluss

Abschlussprüfung auf zwischenzeitliche Änderungen

Alle anderen Strukturdaten verwaltet das Overlay selbst

Phys. Schicht

Sicherung

Netzwek

Transport

Overlay

Benutzer

Scheduler

Anycast-Overlay

Page 26: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

26

Jens Pflüger, 04.11.2005

Pastry

Neighborhood-Set

13021022 02212102

10200230 22301203

11301233 31203203

31301233 33213321

Leaf-Setkleiner größer

10233033 10233120

10233021 10233122

10233001 10233230

10233000 10233232

Knoten ID10233102

Routing-Tabelle

02212102 22301203 31203203

11301233 12230203 13021022

10031203 10132102 10323302

10200230 10211302 10222302

10230322 10231000 10232121

...

d4213f

d462bad46a01

d471f1

d46a1c

65a1fc

Route(d46a1c)

0 2128-1

d1a08e

Page 27: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

27

Jens Pflüger, 04.11.2005

CAN – Content Addressable Network

01 110 111

00

1 2

3

4

5

x

y

10

VID

0 1

10 10

105 1 3

2 4

Page 28: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

28

Jens Pflüger, 04.11.2005

Chord

0

1

2

4

35

6

7

Start Int. Nachf.

7 [7,0) 0

0 [0,2) 0

2 [2,6) 3

Start Int. Nachf.

1 [1,2) 1

2 [2,4) 3

4 [4,0) 6

Start Int. Nachf.

2 [2,3) 3

3 [3,5) 3

5 [5,1) 6

Start Int. Nachf.

4 [4,5) 6

5 [5,7) 6

7 [7,3) 0

Page 29: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

29

Jens Pflüger, 04.11.2005

Tapestry

3228

43FE

4664

437A

4361

4B4F

E391

4A6D

57ECAA93

4377

Buch „XY“(4378)

Buch „XY“(4378)

PublizierungObjektpointerAnfrage

Page 30: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

30

Jens Pflüger, 04.11.2005

Evaluation - Ergebnisse

transaktionale Nachrichten

16%

Dienst-Nachrichten

26%Ping-Nachrichten

17%

Sonstige Nachrichten

41%

0102030405060708090

100

25/0 35/9 34/13 39/20 43/27 60/40 70/40

Netznutzung (Logins/Logoffs)

%

erfolgreiche Transaktionen

abgebrochene Transaktionen

Verhältnis TA-Nachrichten zu Wartungsnachrichten

Transaktions-Gesamtaufwand

Page 31: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

31

Jens Pflüger, 04.11.2005

Lineares 2PC

Teilnehmer 1Koordinator

Abort, Ack

Ready

Teilnehmer 2

Abort, Ack

Ready

Teilnehmer n

Abort, Ack

Ready

...

Page 32: 1 Jens Pflüger, 04.11.2005 Transaktionaler Schutz für Wartungsoperationen in Overlaynetzen Jens Pflüger 04. November 2005 Betreuender Professor: Prof

32

Jens Pflüger, 04.11.2005

3PC

Koordinator

Prepare Aborting

NotReadyMessage || Missing ReadyMessages / AbortMessage

PreCommit

CommitCall / PrepareMessage

All ReadyMessages received / PreCommitMessage

CommitingMissing PreAcks / AbortMessageAll PreAcks received /

CommitMessage

All Acks received / - All Acks received / -

PrepareMember

PreCommitMember

PrepareMessage / ReadyMessage

PreCommitMessage / PreAck

CommitMessage / Ack

PrepareMessage / NotReadyMessage

AbortMessage / Ack

AbortMessage / Ack

Teilnehmer