Hochqualitative Graphpartitionierung

Werbung
Hochqualitative Graphpartitionierung
High Quality Graph Partitioning
Christian Schulz, Karlsruher Institut für Technologie
1 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische
Informatik
www.kit.edu
Parallelverarbeitung
Berechnungsmodell:
1. Knoten ↔ Berechnung
2. Kanten ↔ Kommunikation
Ziel: gleichmäßige Arbeitsaufteilung
Kommunikation teuer
Graphpartitionierung:
Partitioniere einen Graphen in (ungefähr) gleich große Blöcke, so dass
die Anzahl der Kanten zwischen den Blöcken minimal ist.
2 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Graphpartitionierung
Problemdefinition
Partitioniere Graphen G = (V , E , c : V → R>0 , ω : E → R>0 )
in k disjunkte Blöcke, so dass
1+ e
Gesamtknotengewicht
Gewicht von jedem Block ≤
k
Gewicht der Schnittkanten minimal
Anwendungen:
Lineare Gleichungssysteme, Routenplannung, GraphDatenbanken . . .
3 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Graphdatenbanken
Datenbank über mehrere PEs verteilen
Typische Queries:
1. Berechne Score von X gegeben Nachbarschaft
2. Artikel der Follower der Follower von X
Ziel: gleichmäßige Arbeitsaufteilung / Kommunikation minimieren
4 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beiträge der Arbeit
Straßennetzwerke
Soziale Netzwerke
Separatoren
verteilt
evol. Alg.
A
kleine Imbalance:
V−
0
0
B
−1 0 −1
−1
C
F−
A
0
0
B
−1 0 −1
−1
C
B
A
C
W−
Zyklen
Graph
Matching
AMG
Alg.Dist.
...
Max−Flow, Lokalisierung etc.
...
lokale Verbesserung
Kontraktion
initiale
Partitionierung
5 Christian Schulz:
Hochqualitative Graphpartitionierung
Ausgabepartition
Transfer
Mehrschicht−
Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beiträge der Arbeit
Straßennetzwerke
Soziale Netzwerke
Separatoren
verteilt
evol. Alg.
A
kleine Imbalance:
V−
0
0
B
−1 0 −1
−1
C
F−
A
0
0
B
−1 0 −1
−1
C
B
A
C
W−
Zyklen
Graph
Matching
AMG
Alg.Dist.
Max−Flow, Lokalisierung etc.
...
lokale Verbesserung
...
Kontraktion
initiale
Partitionierung
5 Christian Schulz:
Hochqualitative Graphpartitionierung
Ausgabepartition
Transfer
Mehrschicht−
Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschicht-Algorithmen
Graph
Matching
Kontraktion
...
lokale Verbesserung
initiale
...
Ausgabepartition
Transfer
Partitionierung
Erfolgreich in existierenden Systemen:
Metis, Scotch, DiBaP, KaSPar, KaPPa, . . .
6 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschicht-Algorithmen
Graph
Matching
Kontraktion
...
lokale Verbesserung
initiale
...
Ausgabepartition
Transfer
Partitionierung
Erfolgreich in existierenden Systemen:
Metis, Scotch, DiBaP, KaSPar, KaPPa, . . .
6 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Kontraktion von Matchings
A B
a
b
A+B
a+b
ω ({u ,v })2
1. berechne Kantenbewertung (z.B. c (u )c (v ) )
2. berechne gewichtetes Matching approximativ
7 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Kontraktion von Matchings
A B
a
b
A+B
a+b
ω ({u ,v })2
1. berechne Kantenbewertung (z.B. c (u )c (v ) )
2. berechne gewichtetes Matching approximativ
7 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschicht-Algorithmen
Graph
Matching
Kontraktion
...
lokale Verbesserung
initiale
...
Ausgabepartition
Transfer
Partitionierung
8 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Initiale Partitionierung
Z.B. durch rekursive Bipartitionierung mit Hilfe von Breitensuchen
mehrere Versuche
Rekursion auf Teilgraphen bis k erreicht
9 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Initiale Partitionierung
Z.B. durch rekursive Bipartitionierung mit Hilfe von Breitensuchen
mehrere Versuche
Rekursion auf Teilgraphen bis k erreicht
9 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Initiale Partitionierung
Z.B. durch rekursive Bipartitionierung mit Hilfe von Breitensuchen
mehrere Versuche
Rekursion auf Teilgraphen bis k erreicht
9 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschicht-Algorithmen
Graph
Matching
Kontraktion
...
lokale Verbesserung
initiale
...
Ausgabepartition
Transfer
Partitionierung
10 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
berechne Gewinn: g (v ) = dext (v ) − dint (v )
Blöcke alternierend auswählen – bewege Knoten greedy
Kantenschnitt: 7
11 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
0
−1
0
1
1
−1
−1
0
1
−1
berechne Gewinn: g (v ) = dext (v ) − dint (v )
Blöcke alternierend auswählen – bewege Knoten greedy
Kantenschnitt: 7
11 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
0
−1
0
1
1
−1
−1
0
1
−1
berechne Gewinn: g (v ) = dext (v ) − dint (v )
Blöcke alternierend auswählen – bewege Knoten greedy
Kantenschnitt: 7
11 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
0
−1
0
−1
−3
−1
−2
1
−1
Neuberechnung des Gewinns g (v ) der Nachbarn
bewege jeden Knoten höchstens einmal
Kantenschnitt: 7, 6
11 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
0
−1
0
−1
−3
−3
−2
−3
wiederhole bis Stopkriterium erfüllt
Verschlechterung möglich
Kantenschnitt: 7, 6, 5
11 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
−3
0
−1
−3
−3
−2
−3
wiederhole bis Stopkriterium erfüllt
Verschlechterung möglich
Kantenschnitt: 7, 6, 5, 5
11 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
−3
−2
−3
−3
−2
−3
wiederhole bis Stopkriterium erfüllt
Verschlechterung möglich
Kantenschnitt: 7, 6, 5, 5, 6
11 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
Schnitt
#Schritte
Verschlechterung möglich
Änderungen rückgängig machen bis zur besten zulässigen Lösung
12 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
Ausgabepartition mit Kantenschnitt 5
Linearzeitimplementierung möglich
k-Wege Verallgemeinerung (maxP gP (v ))
13 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beiträge der Arbeit
Straßennetzwerke
Soziale Netzwerke
Separatoren
verteilt
evol. Alg.
A
kleine Imbalance:
0
0
B
−1 0 −1
−1
C
A
0
0
B
−1 0 −1
−1
C
B
A
C
KaFFPa
V−
F−
Zyklen
W−
Graph
Matching
AMG
Alg.Dist.
...
Max−Flow, Lokalisierung etc.
...
lokale Verbesserung
Kontraktion
initiale
Partitionierung
14 Christian Schulz:
Hochqualitative Graphpartitionierung
Ausgabepartition
Transfer
Mehrschicht−
Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokale Suchen
Nachteil
Unwahrscheinlich:
Verbesserungen die ≥ 2 negative Bewegungen benötigen
Schnitt
+++
#Schritte
15 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
Typischerweise: lokale Suchen initialisiert mit allen Randknoten
Lokalisierung:
1. Randknoten ⇒ Todo-Liste T
2. starte Suche von einem Knoten v ∈rnd T
3. iteriere bis T = ∅
bewege jeden Knoten höchstens einmal
16 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Lokalisierung
+++
17 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Maximale Flüsse
Exkurs
Literatur:
[Mehlhorn / Nher, The LEDA Platform of Combinatorial and
Geometric Computing, Cambridge University Press, 1999]
[Ahuja, Magnanti, Orlin, Network Flows, Prentice Hall, 1993]
Algorithmen II (Folien, Skript) [Sanders]
18 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Definition: Netzwerk
Exkurs
Netzwerk = gewichteter gerichteter Graph mit
Quellknoten s und Senkenknoten t
s hat keine eingehenden Kanten, t hat keine ausgehenden Kanten
Kantengewicht ce einer Kanten e = Kapazität von e (nichtnegativ!)
10
12
10
4
s
t
4
8
10
4
19 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Definition: Fluss
Exkurs
Fluss = Funktion fe auf den Kanten, 0 ≤ fe ≤ ce ∀e
∀v ∈ V \ {s, t }: eingehender Fluss = ausgehender Fluss
Wert eines Flusses
val(f ) = Fluss ausgehend von s = Fluss eingehend in t
Ziel: finde einen Fluss mit maximalen Wert
10
8
10
12
4
10
12
t
s
4
8
2
4
10
4
6
8
4
20 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Definition: (Minimale) s-t Schnitte
Exkurs
Ein s-t Schnitt ist eine Partition von V in S und T mit s ∈ S und t ∈ T .
Die Kapazität des Schnittes ist:
n
o
c
:
u
∈
S
,
v
∈
T
∑ ( u ,v )
10
8
10
12
4
10
12
t
s
4
8
2
4
10
4
6
8
4
21 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Dualität Flüsse und Schnitte
Exkurs
Theorem ([Elias/Feinstein/Shannon, Ford/Fulkerson 1956])
Wert s-t Max-Fluss = Minimale Kapazität s-t Schnitt.
Proof: nicht hier.
10
8
10
12
4
10
12
t
s
4
8
2
4
10
4
6
8
4
22 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Algorithmen 1956–heute
Jahr
1956
1969
1970
1973
1974
1977
1980
1983
Autor
Ford-Fulkerson
Edmonds-Karp
Dinic
Dinic-Gabow
Karzanov
Cherkassky
Galil-Naamad
Sleator-Tarjan
23 Christian Schulz:
Hochqualitative Graphpartitionierung
Laufzeit
O (mnU )
O (m 2 n )
O (mn2 )
O (mn log U )
O (n 3 √
)
O (n 2 m )
O (mn log2 n)
O (mn log n)
n = Anzahl Knoten
m = Anzahl Kanten
U = max Kapazität
Fakultät für Informatik
Institut für Theoretische Informatik
Jahr
1986
1987
1987
1990
1990
1992
1993
1994
1997
Autor
Goldberg-Tarjan
Ahuja-Orlin
Ahuja-Orlin-Tarjan
Cher.-Hage.-Mehl.
Alon
King-Rao-Tarjan
Philipps-Westbrook
King-Rao-Tarjan
Goldberg-Rao
24 Christian Schulz:
Hochqualitative Graphpartitionierung
Laufzeit
O (mn log(n2 /m ))
O (mn + n2 log U√)
O (mn log(2 + n log U/m ))
O (n3 / log n)
O (mn + n8/3 log n)
O (mn + n2+e )
2+ ε
2
O (mn log n/ log m
n)
n + n log
m
O (mn log n/ log n log n ) if m ≥ 2n log n
O (min{m1/2 , n2/3 }m log(n2 /m ) log U )
Fakultät für Informatik
Institut für Theoretische Informatik
Anwendungen
Exkurs
Oil pipes
Verkehrsflüsse auf Autobahnen
Bildverarbeitung http://vision.csd.uwo.ca/maxflow- data
Segmentierung
Mehrsichtrekonstruktion
Scheduling
...
Graph Partitioning!
1. Lokale Suchen
2. Kontraktion
25 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Flüsse als Lokale Suchen
Zwei Blöcke
G
s
V1
∂1 B
∂2 B
t
V2
B
Bereich B, mit jeder (s, t )-Schnitt ist e-balancierter Schnitt in G
e.g. 2 mal BFS (Links, Rechts)
beende BFS, wenn Bereich > (1 + e)
c (V )
2
− c ( V2 )
⇒ c (V2new ) ≤ c (V2 ) + (1 + e) c (2V ) − c (V2 )
26 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Flüsse als Lokale Suchen
Zwei Blöcke
G
s
V1
B
t
V2
erhalten optimalen Schnitt in B
jeder Schnitt in B erzeugt zulässige Partition
→ verbesserte Bipartition
erweiterte Techniken möglich und nötig
27 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beispiel
100x100 Gitter
28 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beispiel
Erzeugtes Flussproblem
29 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beispiel
Max-Fluss Min-Schnitt
30 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beispiel
Verbesserte Ausgabepartition
31 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beiträge der Arbeit
Straßennetzwerke
Soziale Netzwerke
Separatoren
verteilt
evol. Alg.
KaFFPaE
A
kleine Imbalance:
V−
0
0
B
−1 0 −1
−1
C
F−
A
0
0
B
−1 0 −1
−1
C
B
A
C
Zyklen
W−
Graph
Matching
AMG
Alg.Dist.
Max−Flow, Lokalisierung etc.
...
lokale Verbesserung
...
Kontraktion
initiale
Partitionierung
32 Christian Schulz:
Hochqualitative Graphpartitionierung
Ausgabepartition
Transfer
Mehrschicht−
Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Verteilte Evolutionäre Techniken
Ziel: Integration von KaFFPa in Evolutionäre Strategie
Evolutionäres Graphpartitionieren:
Individuum ↔ Partition
Fitness
↔ Kantenschnitt
Parallelisierung → Qualitätsrekorde in Minuten für kleine Graphen
procedure steady-state-EA
erzeuge initiale Population P
while Stopkriterium nicht erfüllt
wähle P1 , P2 aus P
kombiniere P1 mit P2 → O
mutiere O
ersetze P 0 ∈ P durch O
return beste Partition
33 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschichtkombination
Matching
Kontraktion
34 Christian Schulz:
Hochqualitative Graphpartitionierung
zwei Partitionen P1 , P2 :
Schnittkanten nicht kontrahieren
bis keine matchbare Kante vorhanden
Startlösung: bessere Eingabepartition
Austausch von guten Teilen einfach
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschichtkombination
Kombiniere zwei Partitionen P1 , P2
35 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschichtkombination
Overlay von P1 , P2
⇒
35 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschichtkombination
Kontraktion
Matching
Kontraktion
⇒
35 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschichtkombination
Kontraktion
Matching
Kontraktion
⇒
35 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschichtkombination
Kontraktion
Matching
Kontraktion
⇒
35 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschichtkombination
Kontraktion
Matching
Kontraktion
⇒
35 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Mehrschichtkombination
Ergebnis
⇒
lokale Verbesserung auf jedem Level
36 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beiträge der Arbeit
Straßennetzwerke
Soziale Netzwerke
Separatoren
verteilt
evol. Alg.
A
kleine Imbalance:
V−
0
0
B
−1 0 −1
−1
C
F−
A
0
0
B
−1 0 −1
−1
C
B
A
KaBaPE
C
W−
Zyklen
Graph
Matching
AMG
Alg.Dist.
...
Max−Flow, Lokalisierung etc....
lokale Verbesserung
Kontraktion
initiale
Partitionierung
37 Christian Schulz:
Hochqualitative Graphpartitionierung
Ausgabepartition
Transfer
Mehrschicht−
Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Perfekte Balance
Lokale Suchen e = 0
eingeschränkt auf Paare von Blöcken
38 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Perfekte Balance
Lokale Suchen e = 0
eingeschränkt auf Paare von Blöcken
38 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Perfekte Balance
Lokale Suchen e = 0
eingeschränkt auf Paare von Blöcken
38 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Perfekte Balance
Lokale Suchen e = 0
eingeschränkt auf Paare von Blöcken
38 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Perfekte Balance
Lokale Suchen e = 0
eingeschränkt auf Paare von Blöcken
38 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Perfekte Balance
Lokale Suchen e = 0
eingeschränkt auf Paare von Blöcken
38 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Perfekte Balance
Lokale Suchen e = 0
eingeschränkt auf Paare von Blöcken
38 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Negative Kreise
Exkurs
Netzwerk = gewichteter gerichteter Graph mit
Kantengewicht ce einer Kanten e (negativ oder positiv)
Negativer Kreis ist ein gerichteter Kreis mit Gewicht < 0
Algorithmen: ∃ negativer Kreis in G + Ausgabe
−2
s
39 Christian Schulz:
Hochqualitative Graphpartitionierung
0
−2
Fakultät für Informatik
Institut für Theoretische Informatik
Hauptidee
Negative Kreise
jeder Block erhält und sendet einen Knoten
Modell: negativer Kreis ↔ Verbesserung
40 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Erweiterte Ideen
kleine Imbalance e = 0
erweiterte Modelle → Mengen von Knoten und Balancierung
erzeuge unbalancierte Partition ê > 0
verwende Balancierungsalgorithmen und balancierte lokale Suchen
unbalancierte
Partition
Graph
Matching
...
Lokale Verbesserung
...
0
Kontraktion
initiale
s
0
0
A
B
−1
−1
C
−1
Layer:
1
2
3
A
A
A
B
B
B
C
C
C
Transfer
balancierte
Partition
Partitionierung
41 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Beiträge der Arbeit
Straßennetzwerke
KaFFPaE
Soziale Netzwerke
Separatoren
verteilt
evol. Alg.
A
kleine Imbalance:
0
0
B
−1 0 −1
−1
C
A
0
0
B
−1 0 −1
−1
C
KaBaPE
B
A
C
KaFFPa
V−
F−
W−
Zyklen
Graph
Matching
AMG
Alg.Dist.
...
Max−Flow, Lokalisierung etc.
...
lokale Verbesserung
Kontraktion
initiale
Partitionierung
42 Christian Schulz:
Hochqualitative Graphpartitionierung
Ausgabepartition
Transfer
Mehrschicht−
Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Experimentelle Ergebnisse
Vergleich mit anderen Systemen
Geometrisches Mittel, e = 3%:
22 Graphen (78K–18M Knoten) ×k ∈ {2, 4, 8, 16, 32, 64} × 10 Wdh.
Algorithmus
KaFFPaStrong
KaSPar
hMetis
KaFFPaEco
DibaPFull
DibaPLite
Scotch
KaFFPaFast
kMetis
Bestes Erg.
7691
+6%
+9%
+12%
+10%
+14%
+20%
+29%
+35%
Durchschnitt
7894
+5%
+8%
+13%
+14%
+15%
+23%
+33%
+48%
t[s]
102.74
92.27
103.61
5.72
*
*
1.77
0.94
0.48
FEM, Straßennetzwerke, dünnbesetzte Matrizen,
Delaunay Triangulierungen, RGG, SNW
43 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Qualität
Lange Laufzeit e = 3%
1
5
20
100 500
9800
Metis
Scotch
9200
8100
KaFFPa
KaFFPaE
mittlerer min. Schnitt
8300
k=64
7900
mittlerer min. Schnitt
k=64
1
normalisierte Zeit tn
5
20
100 500
normalisierte Zeit tn
32h parallele Rechenzeit pro Instanz
Intel Xeon E5-2670 Octa-Core Prozessoren
44 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Qualität
Lange Laufzeit e = 0
1
5
50
500
normalisierte Zeit tn
12000
KaFFPa
KaFFPaE
KaBaPE
9000
8000
KaFFPa
KaFFPaE
KaBaPE
mittlerer min. Schnitt
10000
k=64
6000
mittlerer min. Schnitt
k=32
1
5
20
100 500
normalisierte Zeit tn
KaFFPa(E) kann leicht unbalancierte Partitionen erzeugen
KaBaPE im Mittel 32.4% kleinere Schnitte als KaFFPaE (e = 0)
45 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Benchmarks
1. Walschaw Benchmark:
Laufzeit beliebig
816 Instanzen (e ∈ {0%, 1%, 3%, 5%})
Fokus auf Lösungsqualität
#Rekorde (zum Einreichungsdatum von KaBaPE):
e
0%
1%
3%
5%
≤
98%
99%
99%
99%
2. 10ter DIMACS Implementierungswettbewerb
beste Ergebnisse in den Kategorien: Qualität, Laufzeit vs. Qualität
46 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Weitere Ergebnisse der Arbeit
Straßennetzwerke
Soziale Netzwerke
Kontraktion von ganzen Clustern
Kontraktion inspiriert durch AMG
Algebraische Distanz
k-Wege Knotenseparatoren
Globale Suchen
Open Source Release – KaHIP
Ausblick:
Einbettung in Kommunikationsnetzwerke
Dynamisches / Repartitionieren
Compression of Column-Stores?
...
47 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Zusammenfassung/Ausblick
Straßennetzwerke
Soziale Netzwerke
Separatoren
verteilt
evol. Alg.
A
kleine Imbalance:
V−
0
0
B
−1 0 −1
−1
C
F−
A
0
0
B
−1 0 −1
−1
C
B
A
C
W−
Zyklen
Graph
Matching
AMG
Alg.Dist.
...
Max−Flow, Lokalisierung etc.
...
lokale Verbesserung
Kontraktion
initiale
Partitionierung
48 Christian Schulz:
Hochqualitative Graphpartitionierung
Ausgabepartition
Transfer
Mehrschicht−
Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Vielen Dank für Ihre Aufmerksamkeit!
49 Christian Schulz:
Hochqualitative Graphpartitionierung
Fakultät für Informatik
Institut für Theoretische Informatik
Herunterladen