1 Slawa Belousow, [email protected] Seminar über Algorithmen Load Balancing Slawa Belousow...
-
Upload
christin-brandt -
Category
Documents
-
view
216 -
download
1
Transcript of 1 Slawa Belousow, [email protected] Seminar über Algorithmen Load Balancing Slawa Belousow...
Slawa Belousow, [email protected] 1
Seminar über Algorithmen
Load Balancing
Slawa BelousowFreie Universität Berlin, Institut für Informatik
Slawa Belousow, [email protected] 2
1. Übersicht
• was ist Load Balancing?• Load Balancing im Server-Bereich• diskrete (atomare) Load Balancing Spiele• nicht diskrete (nicht atomare) Load Balancing Spiele• die Minimierung der maximalen Antwortzeiten in nicht
diskreten Spielen• Algorithmus zum Finden einer besseren Antwortzeit• Algorithmus zu Nash Gleichgewicht Lösung
Slawa Belousow, [email protected] 3
1.1 was ist Load Balancing?
• Load Balancing (Lastverteilung) – Verfahren um bei der Speicherung, dem Transport und der Verarbeitung von Objekten vorgegebene Kapazitätsgrenzen einzuhalten.
Informationsverarbeitung – Entitäten auf unterschiedliche Speichercluster verteilen
Logistik – Beladung von Kraftfahrzeugen, Schiffen und anderen Transportmitteln zur Anwendung. Berechnung der Lagerhaltung
Computertechnik – Verteilung von Aufgaben auf vorhandene Ressourcen
Slawa Belousow, [email protected] 4
1.2 Load Balancing von Netzwerkverkehr
DNS-Variante Round-Robin-Verfahren
NAT mit Feedback
Slawa Belousow, [email protected] 5
1.2 Load Balancing von Netzwerkverkehr (2)
URL-basiertes Verfahren
Dienst-basiertes Verfahren
Slawa Belousow, [email protected] 6
2 Load Balancing in der Spieltheorie
• Verteilung von N Elementen auf M Elemente• Optimierung der Verteilung• Die Menge N enthält Spieler (die bestimmte Ressourcen
haben)• Die Menge M enthält die Spielmaschinen• diskrete (atomare) Load Balancing Spiele
die Spieler oder ihre Ressourcen sind als ein unzertrennbares Element anzusehen
• Nicht diskrete (nicht atomare) Load Balancing Spiele die Ressourcen der Spieler können beliebig aufgeteilt
werden
Slawa Belousow, [email protected] 7
• – Spieler• – Maschinen• – Lastgröße von User• Eine Arbeit kann nur auf einer bestimmten Menge von
Maschinen ausgeführt werden:
• – Eine Menge mit Zuweisungen von Arbeit zu einer Maschine die eine mögliche Lösungen repräsentiert
2.1 Diskrete Load Balancing Spiele
ipmn
},...,1{ mSj i A
iiSjAji ),(
i
Slawa Belousow, [email protected] 8
2.1 Diskrete Load Balancing Spiele (2)
• Belastung einer Maschine
• Antwortzeit einer Maschine für jede Arbeit
• Nash Gleichgewicht im diskreten Load Balancing Spiel
j
j
Ajiiij pL
),(:
:
)(jr
jkSk i ,
)()( ikkjj pLrLr
Slawa Belousow, [email protected] 10
2.2 Nash Existenz
• Hat jedes Load Balancing Spiel ein Nash Gleichgewicht? Spiel mit beliebigen Parametern starten Spieler wechseln, einer zu einer Zeit, die Maschine, falls sie
mit dem Ergebnis nicht zufrieden sind Wenn es eine Funktion gibt, mit als Parameter, die mit
jedem Wechsel abnimmt, dann wird der Prozess irgendwann enden und Kreise werden vermieden
Wenn kein Spieler mehr wechseln kann, ist das Nash Gleichgewicht erreicht
A
Slawa Belousow, [email protected] 11
2.3 Nash Kosten in diskreten Load Balancing
• Nash Kosten
worst case
average/totale Antwortzeit
)(max0: jjLjLr
j
Ajii
jj Lr),(:
)(
Slawa Belousow, [email protected] 12
2.4 Nicht diskrete Load Balancing Spiele
• – Menge von Maschinen• – Antwortzeitfunktion• – Arbeitstypen• – Gesamtlast für jeden Typ von Arbeit • – Maschinenanforderung für jeden Typ von
jp
)(LriM},...,1{ mi
jMS j j
},...,1{ nj
• Wir suchen Paare (Arbeit, Maschine), so das die Belastung von Arbeit auf Maschine ausdrückt.
ijx ijxj i),...},(),,(),,{( ijijij
Slawa Belousow, [email protected] 13
2.4 Nicht diskrete Load Balancing Spiele (2)
• Folgende Regeln gelten für Die Summe aller eines Arbeitstyps ist gleich der
Belastung durch den Arbeitstyp
ist immer positiv
wenn nicht zu der Menge der Maschinenanforderung des Typs gehört, dann ist = 0
ijx
jSi
ij pxjj
ijx jj
ijxij, 0ijx
jSi 0ijxijx
ij
Slawa Belousow, [email protected] 14
2.4 Nicht diskrete Load Balancing Spiele (3)
(j1, m1) = 0,7(j1, m2) = 0,3(j2, m1) = 1,0(j3, m3) = 1,0(j4, m1) = 0,4(j4, m4) = 0,6
j1j2j3j4
m1m2m3m4
(j1, m3) = 0(j1, m4) = 0(j2, m2) = 0(j2, m3) = 0(j2, m4) = 0...
Slawa Belousow, [email protected] 15
2.4 Nicht diskrete Load Balancing Spiele (4)
• Belastung einer Maschine
j
iji xL
i
Slawa Belousow, [email protected] 16
2.4 Nicht diskrete Load Balancing Spiele (5)
• Nash Gleichgewicht in einem diskretem Load Balancing Spiel
• Nash Gleichgewicht in einem nicht diskretem Load Balancing Spiel
)()( jkkii pLrLr
)()( kkii LrLr
ji,
)(0 jij Skx
Slawa Belousow, [email protected] 17
3 Minimierung der maximalen Antwortzeit
• Existiert ein Nash Gleichgewicht?• Wie gut ist es?
Theorem: Ein Nash Gleichgewicht im nicht atomaren Load Balancing Spiel minimiert die maximale Antwortzeit über alle Lösungen
Beweis (Teil 1): • worst case:
• – ist eine konkrete Lösung
• – Die Menge aller Maschinen, die die maximale Antwortzeit haben
• – die Menge der Arbeiten, die Maschinen aus A verwenden
)(max0:max iiLiLrr
i
)(xAx
})(|{:)( maxrLrixA ii )(xB
)}(,0|{:)( xAixjxB ij
Slawa Belousow, [email protected] 18
3 Minimierung der maximalen Antwortzeit (2)
)(xA)(xB
})(|{:)( maxrLrixA ii
)}(,0|{:)( xAixjxB ij
)(max0:max iiLiLrr
i
Slawa Belousow, [email protected] 19
3 Minimierung der maximalen Antwortzeit (3)
• Lemma: In einem Nash Gleichgewicht, laufen alle Arbeiten aus auf den Maschinen aus
folgt aus der Definition Annahme, es gibt eine Arbeit die auch auf Maschine
außerhalb von ausgeführt wird.
das wiederspricht dem Nash Gleichgewicht, den es gäbe:
Folgerung:
)(xB )(xA
)()( iikk LrLr
)()( xASxBj j
j k)(xA
rLr kk )(
jSk
Slawa Belousow, [email protected] 20
3 Minimierung der maximalen Antwortzeit (4)
• Wie gut ist es? Theorem: Ein Nash Gleichgewicht im nicht atomaren Load
Balancing Spiel minimiert die maximale Antwortzeit über alle Lösungen
Beweis (Teil 2): Now let's compare a Nash to any other solution. Our Nash
has assignments xij and loads Li, whereas the other solution has assignments xij
* and loads Li*. But x* still has all of the
load assigned within the group A(x). Since the sum of the loads in A in this solution must be at least as great as the sum of the loads in the Nash, there must be some machine i in A such that Li
* Li. In this case, we know that ri(Li
*) ri(Li) and thus that this other solution is at least as bad as the Nash.
)(xBj jp
Slawa Belousow, [email protected] 21
4 Nash Gleichgewicht finden
• das Spiel startet• die Spieler verteilen ihre Aufgaben irgendwie auf die
Maschinen oder das Spiel ist schon fortgeschritten• Wir haben irgendeine maximale Antwortzeit r• Aus dem Spiel wir ein Netzwerk-Fluss Graph konstruiert mit
welchem beweisen wird, ob es eine bessere Zeit als r gibt
Slawa Belousow, [email protected] 22
4 Das finden einer besseren Lösung
• Algorithmus: Das finden von: – Maschinen – Arbeiten – die erhoffte maximale Antwortzeit aus den Arbeiten und Maschinen wird ein Netzwerk-Fluss
konstruiert mit zwei zusätzlichen Knoten, den Ausgang aller Arbeiten und den Empfang der Ergebnisse der Maschinen
rr max
rnm
Slawa Belousow, [email protected] 23
4 Das finden einer besseren Lösung (2)
*S *T
• 2 neue Knoten hinzufügen S* und T*. Der Fluss geht von S* zu T*
• Jeweils einen Knoten für eine Arbeit und eine Maschine• Kanten von S* zu den Arbeiten haben die Kapazität von • Kanten von Arbeiten zu Maschinen haben die Kapazität • Kanten von den Maschinen zu T* haben die Kapazität von
• Den Flusswert den wir suchen, ist die Summe
jp
rLri )(j
jp
Slawa Belousow, [email protected] 24
4 Das finden einer besseren Lösung (3)
• Mit dem Max-Flow-Min-Cut Theorem können wir beweisen ob eine bessere Lösung existiert, als die vorher erhoffte maximale Antwortzeit r
• Nun wenden wir den Binärsuche-Algorithmus an und finden das kleinste mögliche r, dass immer noch die Lösung des Netzwerk-Fluss ergibt.
• Das Ergebnis muss kein Nash Gleichgewicht sein, Beispiel1
1
r(L) = 2r(L) = L
Slawa Belousow, [email protected] 25
5 Eine Lösung in ein Nash Gleichgewicht bringen
• Algorithmus: Ein Load Balancing Ergebnis aus dem Netzwerk-Fluss in ein Nash Gleichgewicht umwandeln.
Gibt es eine Arbeit die auf einer Maschine aus
ausgeführt wird, aber auch auf einer nicht in ?
• Wenn so ein Fall existiert, bewegen wir einen Teil der Last von i auf k, nur soweit, dass i aus dem A rausfällt und k nicht ins A kommt.
Wir wiederholen diesen Vorgang bis folgendes gilt
})(|{:)( maxrLrixA ii
0ijx jSk)(xAi )(xAk
)()( xASxBj j
)(xA)(xA
Slawa Belousow, [email protected] 26
5 Eine Lösung in ein Nash Gleichgewicht bringen
• Jetzt sind und im Nash Gleichgewicht• Der Rest wird als Untermenge Betrachtet und mit dem gleiche
Algorithmus ins Gleichgewicht gebracht• Mit Wiederholung des Prozesses, werden alle verbliebenen
Arbeiten und Maschinen in das Nash Gleichgewicht gebracht.
)(xA )(xB
Slawa Belousow, [email protected] 27
6 Zusammenfassung
• Load Balancing kann mit der Spieltheorie betrachtet werden• diskrete / nicht diskrete Spiele• das Nash Gleichgewicht minimiert die maximale Antwortzeit• in einem Load Balancing Spiel können wir überprüfen ob ein
kleineres Maximum der Auslastung vorhanden ist• eine konkrete Lösung des Spiels kann in ein Nash
Gleichgewicht gebracht werden.
Slawa Belousow, [email protected] 28
6 Quellen
• Script http://www.cs.cornell.edu/courses/cs684/2005fa/
• Load Balancing http://de.wikipedia.org/wiki/Load_Balancing http://www.elektronik-kompendium.de/sites/net
/0906201.htm• Algorithmen
http://de.wikipedia.org/wiki/Fluss_(Graphentheorie) http://de.wikipedia.org/wiki/Binäre_Suche
• Spieltheorie http://de.wikipedia.org/wiki/Spieltheorie http://www.gametheory.net/
• „Optimal Load Balancing in Distributed Computer Systems“, 1997, Springer Verlag London
Slawa Belousow, [email protected] 29
Danke!