Jens Ellenberg

Transcription

Jens Ellenberg
Probleme und Lösungen für
„Churn“
Jens Ellenberg
Inhalt
• Was ist Churn
• Probleme durch Churn
• Lösungen für Churn
2
Was ist „Churn“?
3
Probleme durch „Churn“
Autor
System
Sitzungszeit
Saroiu
Gnutella, Napster
50% ≤ 60 min
Chu
Gnutella, Napster
31% ≤ 10 min
Sen
FastTrack
50% ≤ 1 min
Bhagwan
Overnet
50% ≤ 60 min
Gummadi
Kazaa
50% ≤ 2,4 min
4
Probleme durch „Churn“
• FreePastry
– Erfolgreiche Suchen bleiben konsistent
– Viele Suchen werden abgebrochen
• MIT Chord
– Suchen werden abgeschlossen und sind
konsistent
– Die Latenz nimmt extrem zu
5
Lösungen für „Churn“
• Fehlerbehebung
• Timeout Berechnung
• Nächsten Nachbar Berechnung
6
Fehlerbehebung
• Rückwirkende Fehlerbehebung
– Nur bei Fehlern
– O(k^2)‫‏‬
• Periodische Fehlerbehebung
– Ständig aktiv
– O(log k)‫‏‬
7
Timeout Berechnung
• TCP-style Timeouts
– Vergangenheit von O(log n)‫‏‬
– RTO = AVG + 4 * VAR
• Timeout von virtuellen Koordinaten
– Vergangenheit von allen Knoten
– RTO = v + 6 * a + 15
8
Nächster Nachbar Berechnung
•
•
•
•
Globales probieren
Nachbarn des Nachbars
Nachbarn des Nachbarn umgekehrt
Rekursiv
9
Ausblick
• Andere Algorithmen
• Größere Netzwerke
• Auftreten von Churn anpassen
10
Quellen
• Proceedings of the General Track: 2004
USENIX Annual Technical Conference
• Wikipedia.de
• Wikipedia.com
11