HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen des Internets...

Post on 05-Apr-2015

113 views 0 download

Transcript of HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen des Internets...

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und Komplexität

Algorithmen desInternets

Sommersemester 200523.05.2005

6. Vorlesung

Christian Schindelhauerschindel@upb.de

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

2

Heute

Überblick

•Das Internet: Einführung und Überblick

•Mathematische Grundlagen

•IP: Routing im Internet

•TCP: Das Transport-Protokoll des Internets

– Fenster und Congestion-Fenster

– TCP Tahoe, TCPReno

– AIMD: Lösung des Lastbalancierungsspiel

– Das Lastbalancierungsspiel

– TCP Vegas

•Die Struktur des World Wide Web und des Internets

•Suche im Web

•Web-Caching im Internet

•Peer-to-peer-Netzwerke

•Angriffe auf das Internet

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

3

Durchsatzoptimierung in der Transportschicht

•Hauptproblem von TCP: Durchsatzoptimierung durch Stauvermeidung

– Jacobson: min. 99% aller verlorenen Pakete durch IP wegen Datenüberlaufs (congestion) an Routern

– Feedback in der Transportschicht nur durch Ackn.-Pakete:

• Wird ein Paket nicht bestätigt, war der gewählte Datendurchsatz zu hoch

TCP verringert Datendurchsatz

• Werden alle Pakete bestätigt, war der Datendurchsatz genau richtig oder zu niedrig

TCP erhöht Datendurchsatz

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Modell

•Rundenmodell

– In Runde t steht Bandweite ut zur Verfügung

– Algorithmus fordert in Runde Bandweite xt an

– Feedback zu Beginn von Runde t+1:

• Ist xt > ut? (d.h. sind Pakete verloren gegangen)

– Algorithmus erfährt nie die wirklich verfügbaren Bandweiten

Runde Internet Host B

t

Bandweite läßt maximal ut Pakete durch

Host A

sendet xt+1 Pakete

schickt Bestätigung (Ack.)

erhält Ack. undberechnet xt+1

t+1

sendet xt Pakete

erhält min(xt+1,ut+1) Pakete

Bandweite läßt maximal ut+1 Pakete durch

erhält min(xt,ut) Pakete

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

5

•Der statische Fall

– die verfügbare Bandweite bleibt konstant

•Der dynamische Fall

– die verfügbare Bandweite ändert sich

Durchsatzoptimierung in der Transportschicht

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

6

Kosten

•Modell nach Karp, Koutsoupias, Papadimitriou, Shenker 2000

•Prinzip:

– xt > ut : Datenrate ist größer als verfügbare Bandweite

• Zeitverlust und Overhead durch wiederholtes Senden von verlorenen Paketen

– xt ≤ ut : Nur ein kleiner Teil der verfügbaren Bandweite wird genutzt

• Opportunitätskosten

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

7

Milde Kosten

•Modell nach Karp, Koutsoupias, Papadimitriou, Shenker 2000

•Prinzip:

– xt > ut : Datenrate ist größer als verfügbare Bandweite

• Zeitverlust und Overhead durch wiederholtes Senden von verlorenen Paketen

– xt ≤ ut : Nur ein kleiner Teil der verfügbaren Bandweite wird genutzt

• Opportunitätskosten

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

8

Strenge Kosten

•Modell nach Karp, Koutsoupias, Papadimitriou, Shenker 2000

•Prinzip:

– xt > ut : Datenrate ist größer als verfügbare Bandweite

• Zeitverlust und Overhead durch wiederholtes Senden von verlorenen Paketen

– xt ≤ ut : Nur ein kleiner Teil der verfügbaren Bandweite wird genutzt

• Opportunitätskosten

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

9

•Bandweite ist fest:

– u1 = u2 = … = u

•Start mit Intervall

– [1..n] = {1,2,3,…n}

•Sinnvoller (rekursiver) Suchalgorithmus A(i,j) auf Intervall [i..j]:

– Falls i=j dann ist u=x.

– Ansonsten

• x = A(i,j) mit x [i+1..j]∈

• Falls x ≤ u: Suche in [x,j]

• Falls x>u: Suche in [i,x-1]

Der statische Fall

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

10

Komplexitätsmaß

•Cc,A(i,j,u): Kosten, die Algorithmus A bei Suche nach u mitKostenfunktion c(x,u) entstehen

•worst-case:

•average-case:

wobei:

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

11

•Wahl von x:

Milde Kosten bei Binärer Suche

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

12

•Wahl von x:

Strenge Kosten bei Binärer Suche

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

13

•Wahl von x:

•Strenge worst-case Kosten:

•Strenge average-case Kosten:

•Milde worst-case Kosten:

•Milde average-case Kosten:

Binäre Suche

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

14

•Wird als Grundbaustein von TCP eingesetzt

•Wahl von x:

AIMD (Additively Increasing – Mulitiplicatively Decreasing)

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

15

•Wird als Grundbaustein von TCP eingesetzt

•Wahl von x:

•Strenge worst-case Kosten:

•Strenge average-case Kosten:

•Milde worst-case Kosten:

•Milde average-case Kosten:

AIMD (Additively Increasing – Mulitiplicatively Decreasing)

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

16

SHRINK (I)

•Verringert strenge Kosten im worst-case auf 2 n log log n für spezielle n

•Idee:

– log log n Durchläufe mit jeweils O(n) Kosten

• Maximal st Ja-Antworten für x≤u mit Kosten dt

• Maximal eine Nein-Antwort mit Kosten n

– Invariante: st dt = n

•Dann ist st = 22t

– Und damit entstehen 2n Kosten in jeder der log log n Runden

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

17

Die Idee von Shrink

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

18

•Für allgemeines n muß gerundet werden

•Wegen Rundungsprobleme ein Zwischenvergleich pro Runde notwendig:

– pro Runde strenge Kosten 3 log log n

SHRINK (II)

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

19

Optimale Average-Case-Strategie mittels dynamischer Programmierung

•Durch Verwendung der Definition der Komplexitätsmaße!

•average-case:

– Optimale Strategie F:

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

20

Optimale Average-Case Strategie mittels dynamischer Programmierung

•Laufzeit: O(n3)

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

21

•Untere Schranken nach Karp, Koutsopias, Papadimitriou, Shenker (FOCS'00)

Untere Schranken

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

22

ÜberblickProbing-Strategien im statischen Fall

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

23

•Ist die dynamische Bandbreite u1, u2, u3, … [1..B] beliebig bösartig∈

→ Deterministische Algorithmus: Kosten ≥ B/2 pro Runde

→ Probabilistische Algorithmus: Kosten ≥ B/4 pro Runde

→ (existiert trivialer Alg. mit Kosten ≤ 0,31... B pro Runde)

– Keine Aussagekraft dieser Kosten

•Deswegen kompetitive Analyse der Online-Algorithmen

– Vergleich der Kosten des Online-Algorithmus mit Kosten des optimalen Offline-Algorithmus

• Online-Algorithmus = Probing-Strategie

• Offline-Strategie = beste Strategie (mit vollständiger Information)

B) Der dynamische Fall

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

24

•Klassisches Problem der Analyse von Online-Algorithmen:

– Soll man als Skianfänger:

• Skier kaufen Kosten 100 €

• Jeden Tag leihen für 10 € /Tag

– Schlecht:

• Sofortkauf

Kosten 100 €

beste (offline) Strategie: einen Tag mieten mit 10 €

Kompetitiver relativer Verlust: 100 €/10 € = 10

• Immer Mieten

Relativer kompetitiver Verlust (vgl. Sofortkauf) → ∞

– Bessere Strategie:

• 10 Tage Skier mieten. Am 11. Tag kaufen

• Optimal weil: relativer kompetitiver Verlust an jedem Tag ≤ 2

Das Leihski-Problem

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

25

•Vergleich Online-Algorithmus mit Offline-Algorithmus

– Problem: Kosten der besten Offline-Strategie = 0 (wähle xt = ut)

– Deswegen Vergleich der Anzahl übertragener Pakete (bei Datenrate x und Bandweite u):

– Entspricht strengen Kosten S(x,u) = u-gain(x,u)

– Optimale Rate:

– Kompetitives Verhältnis r:

Kompetitive Analyse von Probing-Strategien

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

26

•Annahme: x,u [a..b]∈

•Algorithmus wählt x mit folgender Wahrscheinlichkeit

und für x [a+1..b]: ∈

wobei und damit r = 1+Hb-Ha, wobei

•Theorem:

– Dieser Algorithmus hat ein kompetitives Verhältnis r = optT/E[gainT] für jede (bösartige) Wahl der Bandweiten.

– Dieses Verhältnis ist bestmöglich.

Optimaler kompetitiver Algorithmus

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

27

Beweis von 1.

•Damit ergibt sich für das Intervall [1..n] ein kompetitives Verhältnis von r = ln n + O(1)

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

28

Kompetitive Analyse von Probing-Strategien

•Vergleich Online-Algorithmus mit Offline-Algorithmus

– Problem: Kosten der besten Offline-Strategie = 0 (wähle xt = ut)

– Deswegen Vergleich der Anzahl übertragener Pakete (bei Datenrate x und Bandweite u):

– Entspricht strengen Kosten S(x,u) = u-gain(x,u)

– Optimale Rate:

– Kompetitives Verhältnis r:

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

29

Andere kompetitive Modelle

•Optimaler kompetitiver Algorithmus nicht praxistauglich

– Benutzt kein Feedback!

– Problem: Anforderung an Probing-Strategie zu hoch

•Bandweite in Runde t+1 höchstens um Faktor α höher: ut+1 ≤ α ut

– Probing-Strategie erreicht komp. Verhältnis

•Verlust bezüglich der besten konstanten Datenrate

– Keine Einschränkung in der Wahl der Bandweite ut [1..n]∈

– Beste konstante Datenrate

– Erwarteter relativer Verlust bezogen auf dieser Datenrate:

– [Piccolboni,S: 2000]: Es gibt Probing-Strategie A mit sublinearen relativen Verlust:

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

30

TCP Vegas

•Von L.S. Brakmo, L.L. Peterson,

– “TCP Vegas: End to End Congesion Avoidance on a Global Internet”, IEEE, Journal on Selected Areas in Communication, 13(8):1465-80

•Motivation:

– TCP Reno und Tahoe beruhen auf fehlenden Acknowledgments

– TCP Vegas berücksichtigt die Umlaufzeiten (RTT-round trip time)

•Idee: Wenn Router verstopft sind, werden sie langsamer,

– damit hat man ein feineres Maß, um den Kanal zu messen

•Prinzip:

– Gestartet wird mit einer Grundumlaufzeit (Base-RTT)

– Ist die gerade gemessene Umlaufzeit nur minimal höher, wird die Paketrate additiv erhöht

– Ist die gerade gemessene Umlaufzeit wesentlich höher als Base-RTT, wird die Paketrate additiv verringert

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

31

TCP Vegas

•Expected ← CWND/BaseRTT

•CWND = momentanes Congestionfenster

•BaseRTT = minimale Umlaufzeit

•Datenrate im besten Fall

•Actual ← CWND/RTT

•CWND = momentanes Congestionfenster

•Datenrate im Moment

•Diff ← (Expected-Actual) ⋅ BaseRTT

•Berechne neue Fenstergröße:

•Falls Diff<α: CWND ← CWND+1

•Falls Diff>β: CWND ← CWND-1

•Sonst: CWND ← CWND

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

32

TCP Vegas

aus: “TCP Reno vs. Vegas”, Jeonghoon Mo Richard La Venkat Anantharam Jean Walrand, INFOCOM 1999

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

33

Die Lage der Schranken bei voller Ausnutzung

aus: “TCP Reno vs. Vegas”, Jeonghoon Mo Richard La Venkat Anantharam Jean Walrand, INFOCOM 1999

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

34

Konvergenz und Fairness

aus: “TCP Reno vs. Vegas”, Jeonghoon Mo Richard La Venkat Anantharam Jean Walrand, INFOCOM 1999

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

35

Die Rolle unterschiedlicher Umlaufzeiten

aus: “TCP Reno vs. Vegas”, Jeonghoon Mo Richard La Venkat Anantharam Jean Walrand, INFOCOM 1999

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

36

Fairness bei unterschiedlichen Umlaufzeiten

aus: “TCP Reno vs. Vegas”, Jeonghoon Mo Richard La Venkat Anantharam Jean Walrand, INFOCOM 1999

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

37

Vegas gegen Reno - 0:1

•Vegas verliert gegen Reno

– wenn TCP Vegas und TCP Reno unter sich Bandweiten aufteilen

•Warum ist das überraschend?

– AIMD (Reno) verliert normalerweise gegen AIAD (Vegas)

•Warum passiert es trotzdem?

– Reno halbiert die Bandbreite erst wenn Pakete verloren gehen

– Vegas reduziert schon bei Zeitverzögerungen

•Bevor Pakete verloren gehen, verlangsamen sich die Umlaufzeiten

– Daher gibt Vegas zuerst mehr und mehr Bandweit auf,

– die Reno dann entgegennimmt

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

38

Diskussion TCP Vegas

•Vegas verwendet die volle Bandweite

– fluktuiert schwächer als Reno

•Reno verliert gegen Vegas

•Vegas hat Probleme, wenn in der Umlaufzeit Ausreißer nach unten vorhanden sind

– z.B. durch Re-Routing

– Dann wird die Bandweite gegen 0 streben

– Darum muss ein anderer Mechanismus für die Wahl von BaseRTT gefunden werden

•Vegas ist nicht absolut fair und wird von verschiedenen RTT (Umlaufzeiten) beeinflusst

Algorithmen des Internets 2005-06

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

39

Zwischenprüfung

•Nächsten Montag, 30.05.2005, 16 Uhr, F0.530

– Vorlesung findet im Anschluss statt

– Keine Übung am nächsten Montag

•Vier Aufgaben

– Orientieren sich an Übungsaufgaben

– Wissensfragen, die man an Hand der Folien lösen kann

• Für Studenten mit testierter Vorrechenaufgabe werden die besten drei Aufgaben bewertet

• Für alle anderen werden alle vier berechnet

• Falls ein Skript aus dem zweiten Semester angerechnet werden soll, kann die Note noch vor der Endprüfung angepasst werden

•Dauer: Eine Stunde

•Hilfsmittel: keine (außer Stift)

•Viel Erfolg

40

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und Komplexität

Vielen Dank!

Ende der 6. VorlesungZwischenprüfung: Mo. 30.05.2005

(ab 16 Uhr in F0.530)Nächste Vorlesung im Anschluss

Heinz Nixdorf Institut& Institut für InformatikUniversität PaderbornFürstenallee 1133102 Paderborn

Tel.: 0 52 51/60 66 92Fax: 0 52 51/62 64 82E-Mail: schindel@upb.dehttp://www.upb.de/cs/schindel.html