heinz nixdorf institut universität paderborn algorithmen und komplexität algorithmen des internets...
TRANSCRIPT
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Algorithmen desInternets
Sommersemester 200523.05.2005
6. Vorlesung
Christian [email protected]
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: [email protected]://www.upb.de/cs/schindel.html