29
Slawa Belousow, [email protected] 1 Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

1 Slawa Belousow, [email protected] Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

Embed Size (px)

Citation preview

Page 1: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

Slawa Belousow, [email protected] 1

Seminar über Algorithmen

Load Balancing

Slawa BelousowFreie Universität Berlin, Institut für Informatik

Page 2: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie 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

Page 3: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 4: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

Slawa Belousow, [email protected] 4

1.2 Load Balancing von Netzwerkverkehr

DNS-Variante Round-Robin-Verfahren

NAT mit Feedback

Page 5: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

Slawa Belousow, [email protected] 5

1.2 Load Balancing von Netzwerkverkehr (2)

URL-basiertes Verfahren

Dienst-basiertes Verfahren

Page 6: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 7: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 8: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 9: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

Slawa Belousow, [email protected] 9

2)(1 LrLLr )(2

Nash Gleichgewicht

kein Nash Gleichgewicht

Page 10: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 11: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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),(:

)(

Page 12: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 13: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 14: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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...

Page 15: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

Slawa Belousow, [email protected] 15

2.4 Nicht diskrete Load Balancing Spiele (4)

• Belastung einer Maschine

j

iji xL

i

Page 16: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 17: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 18: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

Slawa Belousow, [email protected] 18

3 Minimierung der maximalen Antwortzeit (2)

)(xA)(xB

})(|{:)( maxrLrixA ii

)}(,0|{:)( xAixjxB ij

)(max0:max iiLiLrr

i

Page 19: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 20: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 21: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 22: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 23: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 24: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 25: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 26: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 27: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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.

Page 28: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

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

Page 29: 1 Slawa Belousow, belousow@inf.fu-berlin.de Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik

Slawa Belousow, [email protected] 29

Danke!