Grapheinbettung

Werbung
Algorithmische Methoden für schwere
Optimierungsprobleme
Prof. Dr. Henning Meyerhenke
Institut für Theoretische Informatik
1
Meyerhenke,
KIT –Henning
Die Forschungsuniversität
in der Institut für Theoretische Informatik
Helmholtz-Gemeinschaft
Algorithmische Methoden für schwere Optimierungsprobleme
www.kit.edu
Vorlesung 20.12.16
Programm:
Statische Grapheinbettungen
2
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Inhalt
Grapheinbettung
Einführung
3
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Problembeschreibung
Paralleles Programm mit verschiedenen,
untereinander kommunizierenden
Prozessen
(a) [Kristensen, Farnan: Efficient...
J. Magnetic Resonance 161(2), April 2003.]
(b) [Oak Ridge National Lab]
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Problembeschreibung
Paralleles Programm mit verschiedenen,
untereinander kommunizierenden
Prozessen
Parallelrechner mit verteiltem Speicher,
Kommunikationskosten zwischen
Prozessoren abhängig von Lage im
System (NUMA-Architektur)
(a) [Kristensen, Farnan: Efficient...
J. Magnetic Resonance 161(2), April 2003.]
(b) [Oak Ridge National Lab]
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Problembeschreibung
Paralleles Programm mit verschiedenen,
untereinander kommunizierenden
Prozessen
Parallelrechner mit verteiltem Speicher,
Kommunikationskosten zwischen
Prozessoren abhängig von Lage im
System (NUMA-Architektur)
(a) [Kristensen, Farnan: Efficient...
J. Magnetic Resonance 161(2), April 2003.]
Aufgabe: Wie bilden Sie das parallele
Programm möglichst effizient auf die
Prozessoren ab?
Modellieren Sie sowohl das Programm
als auch den Rechner als Graphen!
(b) [Oak Ridge National Lab]
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Einbettung
Definition (Einbettung)
Seien G1 = (V1 , E1 ) und G2 = (V2 , E2 ) ungerichtete Graphen.
Eine injektive Abbildung f : V1 7→ V2 heißt Einbettung von G1 in G2 .
G1 ist der Gast, G2 der Gastgeber.
5
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Einbettung
Definition (Einbettung)
Seien G1 = (V1 , E1 ) und G2 = (V2 , E2 ) ungerichtete Graphen.
Eine injektive Abbildung f : V1 7→ V2 heißt Einbettung von G1 in G2 .
G1 ist der Gast, G2 der Gastgeber.
Allgemein: Nachbarn in G1 werden nicht unbedingt auf Nachbarn in
G2 abgebildet
Vollständige Beschreibung durch Weg Pf (u , v ), der in G2 die Knoten
f (u ) und f (v ) miteinander verbindet (muss nicht kürzester sein)
Wie bewerten wir die Güte einer Einbettung?
5
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Gütekriterien für Einbettungen
Definition (Kantenstreckung, Kantenauslastung)
Seien G1 = (V1 , E1 ) und G2 = (V2 , E2 ) ungerichtete Graphen.
Sei f eine Einbettung von G1 in G2 .
Kantenstreckung KS (f ) (dilation):
Maximale Länge eines Weges aus {Pf (u , v ) | {u , v } ∈ E1 }
6
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Gütekriterien für Einbettungen
Definition (Kantenstreckung, Kantenauslastung)
Seien G1 = (V1 , E1 ) und G2 = (V2 , E2 ) ungerichtete Graphen.
Sei f eine Einbettung von G1 in G2 .
Kantenstreckung KS (f ) (dilation):
Maximale Länge eines Weges aus {Pf (u , v ) | {u , v } ∈ E1 }
Für e ∈ E2 bezeichne ρ(e ) die Anzahl der Wege aus
{Pf (u , v ) | {u , v } ∈ E1 }, die e enthalten.
Kantenauslastung KA(f ) (congestion): max{ρ(e ) | e ∈ E2 }
Beispiel: Siehe Tafel!
6
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Kommunikationsoptimierung
Vereinfachte Darstellung: Pf enthält nur kürzeste Wege (Distanz)
7
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Kommunikationsoptimierung
Vereinfachte Darstellung: Pf enthält nur kürzeste Wege (Distanz)
Mögliche Formulierung als komb. Optimierungsproblem:
min
f
∑
w1 (u , v ) · dist2 (f (u ), f (v ))
{u ,v }∈E1
Abbildung: Siehe Tafel!
7
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Kommunikationsoptimierung
Vereinfachte Darstellung: Pf enthält nur kürzeste Wege (Distanz)
Mögliche Formulierung als komb. Optimierungsproblem:
min
f
∑
w1 (u , v ) · dist2 (f (u ), f (v ))
{u ,v }∈E1
Abbildung: Siehe Tafel!
Diskussion:
Summe passend?
Genauigkeit der Maße
Annahme: G2 sei vollständiger Graph (anwendungsabhängig!)
7
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Gruppenarbeit
Anwendungsszenario:
Sie schreiben einen Job-Scheduler für einen Parallelrechner
Dazu müssen Sie Jobs an Maschinen zuweisen
Annahme (oft unrealistisch):
Kommunikationsverhalten der Anwendung bekannt
Lösen Sie das Optimierungsproblem der letzten Folie heuristisch!
8
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Gruppenarbeit
Anwendungsszenario:
Sie schreiben einen Job-Scheduler für einen Parallelrechner
Dazu müssen Sie Jobs an Maschinen zuweisen
Annahme (oft unrealistisch):
Kommunikationsverhalten der Anwendung bekannt
Lösen Sie das Optimierungsproblem der letzten Folie heuristisch!
Aufgabe in Gruppen von 2 − 3 Personen:
Welche heuristischen Techniken passen zu diesem Problem?
Wie würden Sie das Problem lösen?
Fallen Ihnen zusätzlich passende Metaheuristiken ein?
Wie würden Sie diese umsetzen?
8
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Algorithmus-Ansatz 1: Gierig (greedy)
Idee:
Baue Einbettung f iterativ auf
Jeder Schritt wird dabei gierig entschieden
Notation: Vxm : Bereits gemappte Knoten, Vxu : Ungemappte Knoten
9
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Algorithmus-Ansatz 1: Gierig (greedy)
Idee:
Baue Einbettung f iterativ auf
Jeder Schritt wird dabei gierig entschieden
Notation: Vxm : Bereits gemappte Knoten, Vxu : Ungemappte Knoten
(i )
Finde Knoten v1 in Gastgraphen G1
mit maximaler Kommunikation zu V1m
(i )
Finde Knoten v2 in Gastgebergraphen G2
mit minimaler Distanz zu V2m
(i )
(i )
Setze f (v1 ) ← v2
(i )
(i )
Entferne v1 und v2 aus ihren jeweiligen Graphen
9
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Algorithmus-Ansatz 1: Gierig (greedy)
Idee:
Baue Einbettung f iterativ auf
Jeder Schritt wird dabei gierig entschieden
Notation: Vxm : Bereits gemappte Knoten, Vxu : Ungemappte Knoten
(i )
Finde Knoten v1 in Gastgraphen G1
mit maximaler Kommunikation zu V1m
(i )
Finde Knoten v2 in Gastgebergraphen G2
mit minimaler Distanz zu V2m
(i )
(i )
Setze f (v1 ) ← v2
(i )
(i )
Entferne v1 und v2 aus ihren jeweiligen Graphen
Kommunikation an Knoten v1 ∈ V1 : ∑v 0 ∈V m ∩N (v1 ) w1 (v1 , v 0 )
1
Distanz an Knoten v2 ∈ V2 : ∑v 0 ∈V m dist2 (v2 , v 0 )
2
9
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Pseudocode
Algorithm 1 Gierige Berechnung einer Einbettung von G1 in G2
1: function G REEDY G RAPH E MBEDDING(G1 = (V1 , E1 , w1 ), G2 = (V2 , E2 , w2 ))
2:
Initialisiere Kostenvektoren C1 und C2
3:
v1
(0)
← Knoten mit maximalem Eintrag in C1
4:
v2
(0)
← Knoten mit minimalem Eintrag in C2
5:
6:
7:
8:
9:
f (v1 ) ← v2
V1m ← {v1 }, V1u ← V1 \ V1m , V2m ← {v2 }, V2u ← V2 \ V2m
Aktualisiere Kostenvektoren C1 und C2
for i ← 2 to n do
(i )
v1 ← arg maxv1 ∈V u ∑v 0 ∈V m ∩N (v1 ) w1 (v1 , v 0 )
10:
(0)
(0)
1
1
(i )
v2 ← arg minv2 ∈V u ∑v 0 ∈V m dist2 (v2 , v 0 )
2
2
(i )
(i )
11:
f (v1 ) ← v2
12:
Aktualisiere V1m , V1u , V2m , V2u
13:
Aktualisiere C1 und C2
. Werte der entfernten Knoten reinrechnen
14:
end for
15:
return f
16:Henning
end function
Meyerhenke, Institut für Theoretische Informatik
Grapheinbettung
10
Algorithmische Methoden für schwere Optimierungsprobleme
Einführung
Beispiel
Siehe Tafel und Abbildungen!
11
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Laufzeit
Initialisierung:
Kostenvektor C1 berechnen: O(|E1 |), denn wir akkumulieren
Nachbarschaftswerte für jeden Knoten
Maximum bestimmen (simpel: Array-Scan): O(|V1 |)
12
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Laufzeit
Initialisierung:
Kostenvektor C1 berechnen: O(|E1 |), denn wir akkumulieren
Nachbarschaftswerte für jeden Knoten
Maximum bestimmen (simpel: Array-Scan): O(|V1 |)
Distanzen in G2 berechnen (einmalig pro System!): O(APSP (G2 ))
Distanzsummen für alle Knoten berechnen und in C2 speichern:
O(|V2 |2 )
12
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Laufzeit
Initialisierung:
Kostenvektor C1 berechnen: O(|E1 |), denn wir akkumulieren
Nachbarschaftswerte für jeden Knoten
Maximum bestimmen (simpel: Array-Scan): O(|V1 |)
Distanzen in G2 berechnen (einmalig pro System!): O(APSP (G2 ))
Distanzsummen für alle Knoten berechnen und in C2 speichern:
O(|V2 |2 )
Schleife:
In G1 : Aktualisierung nach Löschung von Kanten, insgesamt
O(|E1 |)-mal
Maximum bestimmen (bei Array-Scan): O(|V1 |) pro Iteration
In G2 : Aktualisierung (und Minimum) kostet O(|V2 |) pro Iteration
12
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Laufzeit
Initialisierung:
Kostenvektor C1 berechnen: O(|E1 |), denn wir akkumulieren
Nachbarschaftswerte für jeden Knoten
Maximum bestimmen (simpel: Array-Scan): O(|V1 |)
Distanzen in G2 berechnen (einmalig pro System!): O(APSP (G2 ))
Distanzsummen für alle Knoten berechnen und in C2 speichern:
O(|V2 |2 )
Schleife:
In G1 : Aktualisierung nach Löschung von Kanten, insgesamt
O(|E1 |)-mal
Maximum bestimmen (bei Array-Scan): O(|V1 |) pro Iteration
In G2 : Aktualisierung (und Minimum) kostet O(|V2 |) pro Iteration
Gesamt (ohne APSP): O(|V1 |2 + |V2 |2 ) = O(|V2 |2 )
12
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Diskussion
Wo sehen Sie Vorteile?
Wo sehen Sie Nachteile?
13
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Algorithmus-Ansatz 2: Rekursive
Bisektionierung
Auch Graphpartitionierung kann uns hier weiterhelfen:
Teile sowohl G1 als auch G2 in zwei gleich große Hälften
Führe Einbettung rekursiv für die jeweiligen Hälften durch
Rekursionssabbruch: Brute Force schnell genug
14
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Algorithmus-Ansatz 2: Rekursive
Bisektionierung
Auch Graphpartitionierung kann uns hier weiterhelfen:
Teile sowohl G1 als auch G2 in zwei gleich große Hälften
Führe Einbettung rekursiv für die jeweiligen Hälften durch
Rekursionssabbruch: Brute Force schnell genug
Grund:
Innerhalb eines Blockes in G1 wird viel kommuniziert
Dort wird in G2 viel Bandbreite benötigt
14
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Algorithmus-Ansatz 2: Rekursive
Bisektionierung
Auch Graphpartitionierung kann uns hier weiterhelfen:
Teile sowohl G1 als auch G2 in zwei gleich große Hälften
Führe Einbettung rekursiv für die jeweiligen Hälften durch
Rekursionssabbruch: Brute Force schnell genug
Grund:
Innerhalb eines Blockes in G1 wird viel kommuniziert
Dort wird in G2 viel Bandbreite benötigt
Fallstricke in der Praxis:
Graphgrößen keine Zweierpotenzen
Partitionierer liefern mglw. nicht immer exakt gleich große Blöcke
Anpassung des Gastgeber-Graphen an typische Eingaben für
Partitionierer
14
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Pseudocode
Algorithm 2 Berechne Einbettung durch rekursive Bisektionierung
1: function R ECBIS G RAPH E MBEDDING (G1 = (V1 , E1 ), G2 = (V2 , E2 ))
2:
if |V1 | ≤ 4 then
3:
return BRUTE F ORCE(G1 , G2 )
4:
else
5:
(G1,1 , G1,2 ) ← BISECT (G1 )
6:
(G2,1 , G2,2 ) ← BISECT (G2 )
7:
f1 ← R ECBIS G RAPH E MBEDDING (G1,1 , G2,1 )
8:
f2 ← R ECBIS G RAPH E MBEDDING (G1,2 , G2,2 )
9:
f ← COMBINE (f1 , f2 )
10:
return f
11:
end if
12: end function
15
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Beispiel
Siehe Tafel!
16
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Laufzeit
Theorem (Laufzeit rekursiver Ansatz)
Annahme: Bisektionierung in O(|E |)
Die Laufzeit von R ECBIS G RAPH E MBEDDING ist
O(log |V1 | · (|E1 | + |E2 |)).
Beweis.
Tiefe der Rekursion: O(log |V1 |)
Auf jeder Ebene Laufzeit linear in der Kantenzahl (wenn
Graphpartitionierer linear ist)
Rekursionstiefe für G2 gleich
⇒ Laufzeit für G1 : O(|E1 | log |V1 |)
⇒ Laufzeit für G2 : O(|E2 | log |V1 |)
17
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Diskussion
Wo sehen Sie Vorteile?
Wo sehen Sie Nachteile?
18
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Diskussion
Wo sehen Sie Vorteile?
Für dünn besetzte Graphen schneller als der Greedy-Ansatz
Baut auf mglw. vorhandenem Code (Graphpartitionierung) auf
Wo sehen Sie Nachteile?
18
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Diskussion
Wo sehen Sie Vorteile?
Für dünn besetzte Graphen schneller als der Greedy-Ansatz
Baut auf mglw. vorhandenem Code (Graphpartitionierung) auf
Wo sehen Sie Nachteile?
Mehrere Fallstricke in der Praxis
Rekursive Bipartitionierung kann für sich genommen deutlich
schlechter sein als direkte k -fach-Partitionierung
18
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Algorithmus-Ansatz 3: RCM
Definition (Bandmatrix, Bandbreite einer Matrix)
Seien p, q ∈ N, so ist die Bandmatrix A eine Bandmatrix der Bandbreite
l = p + q + 1, falls für ihre Elemente aij gilt:
aij = 0 für j + p < i oder i + q < j .
19
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Einbettungen und Bandbreite
Bandbreitenminimierung: Finde Permutation der Indizes, so dass
Bandbreite minimal
Erzeugt Matrizen von ähnlicher Form, die Nichtnulleinträge sind nahe
an der Diagonalen
Graph: Kanten nur zu Nachbarn mit ähnlicher ID
Lokalität bleibt erhalten
20
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Einbettungen und Bandbreite
Bandbreitenminimierung: Finde Permutation der Indizes, so dass
Bandbreite minimal
Erzeugt Matrizen von ähnlicher Form, die Nichtnulleinträge sind nahe
an der Diagonalen
Graph: Kanten nur zu Nachbarn mit ähnlicher ID
Lokalität bleibt erhalten
Einbettungs-Algorithmus:
Berechne Permutation π1 für G1
Berechne Permutation π2 für G2
Berechne f = π2 ◦ π1−1
20
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Der RCM-Algorithmus
Heuristik zur Bandbreitenminimierung
“Schade”: Selbst Bandbreitenminimierung ist N P -schwer
21
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Der RCM-Algorithmus
Heuristik zur Bandbreitenminimierung
“Schade”: Selbst Bandbreitenminimierung ist N P -schwer
Cuthill-McKee-Algorithmus:
Berechnet Permutation der IDs
Startet meist mit dem Knoten mit niedrigstem Grad
Exploration und “Umlabeln” der Nachbarn nach aufsteigendem
Knotengrad
21
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Der RCM-Algorithmus
Heuristik zur Bandbreitenminimierung
“Schade”: Selbst Bandbreitenminimierung ist N P -schwer
Cuthill-McKee-Algorithmus:
Berechnet Permutation der IDs
Startet meist mit dem Knoten mit niedrigstem Grad
Exploration und “Umlabeln” der Nachbarn nach aufsteigendem
Knotengrad
Reverse Cuthill-McKee (RCM):
Als letzten Schritt Folge der IDs umdrehen
21
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Pseudocode
Algorithm 3 Berechnung einer Einbettung durch RCM
1: function RCM(G = (V , E ))
2:
R ← []
3:
for each connected component c of G do
4:
s ← vertex with lowest degree in c
5:
Q ← {s }
6:
while Q 6= ∅ do
7:
v ← Q .head
. head entfernt erstes Element
8:
R .push_back (v )
9:
for each u ∈ N (v ) \ R in degree-increasing order do
10:
Q .enqueue (u )
11:
end for
12:
end while
13:
end for
14:
return REVERSE(R)
15: end function
22
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Beispiel
McKee (RCM) algorithm [6] is a successful heuristic for the
bandwidth reduction problem.
RCM mapping applies the RCM algorithm to G and H
to compute πG and πH and then computes the final process
permutation π(πG ) = πH , that is, π = πH ◦ πG−1 . To handle
mappings with |G| < |H| correctly, all vertices v with C(v) =
0 are removed from H. Despite potential disconnectivity on
the sub-graph, RCM handles the proximity condition well
and produces mappings with low dilation and congestion.
Figures 3(a) and 3(b) show the adjacency matrices for the
problem graph G and the network graph H, respectively.
Algorithmus am Beispiel: Siehe Tafel bzw. Übung!
Effekt: Siehe Abbildung!
0
100
RCM
200
300
400
500
0
100
200
300
Original Permutation
400
500
If compute nodes (vertices v ∈ VH )
one process, then a graph partitioner ca
G before other mapping strategies are ap
case where each allocated node execute
of processes C(v) = p ∀v ∈ Γ(VG ) and th
needs to be partitioned into P/p equal
by graph partitioners.
This technique benefits from the lon
rial and parallel graph partitioning. Mu
(k,1+")-balanced partitioning using geo
rial, spectral and multilevel schemes exi
Libraries, such as METIS [20] or
their parallel versions offer optimized
tics. However, most graph partitioner
perfectly (k,1)-balanced but (k,1+")-bala
small "). Thus, the partition might n
to be (k,1)-balanced. We use the Pa
(Multilevel k-way Partitioning in O(|EG
(k,1+")-balanced partitions and balan
necessary.
RCM Permutation
(a) G adjacency map of the F1 matrix on 512 processes.
3.5 Improving the Initial Solu
We now describe a heuristic that mi
the found solution as was used in seve
Several heuristics exist for such proble
cepting [9] is an improved algorithm for
RCM
or hill climbing which takes an initial s
optimize it further by searching a local
20 iterations in the inner optimization lo
to determine the number of outer opti
Candidate solutions are modified by sw
positions in the mapping π. We will in
rithm to estimate the congestion in Sect
used as weight function to minimize the
(b) H adjacency map for an 8x8x8 torus.
TA implementation. The asymptotic ru
iteration of TA is equal to the running
Figure 3: Example for RCM topology mapping of
(cf.2011.]
Theorem 5).
the F1Resultat
matrixvon
toRCM
a torus
network.
bei zwei
Matrizen/Graphen. Aus [Hoefler, Snir, ICS
In the next section we describe how to
Figure 3(a) shows the adjacency matrix of the communiall strategies into a topology mapping fr
topology for Informatik
a sparse matrix-vector product of the
Henning Meyerhenke, Institutcation
für Theoretische
Grapheinbettung
them to real-world
network architecture
F1 matrixOptimierungsprobleme
on 512 processes. This represents one of our
Algorithmische Methoden für schwere
Einführung
application-use-cases and described in detail in Section 5.2.
0
50
100
150
200
250
300
350
400
450
500
0
Abbildung:
23
3.4 Supporting Multicore Nod
100
200
300
Original Permutation
400
500
RCM Permutation
Laufzeit und Diskussion
BFS: O(n + m )
Hier zusätzlich: Sortierung der Nachbarn nach Knotengrad
Insgesamt: O(n + m log n)
24
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Laufzeit und Diskussion
BFS: O(n + m )
Hier zusätzlich: Sortierung der Nachbarn nach Knotengrad
Insgesamt: O(n + m log n)
Wo sehen Sie Vorteile?
Wo sehen Sie Nachteile?
24
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Laufzeit und Diskussion
BFS: O(n + m )
Hier zusätzlich: Sortierung der Nachbarn nach Knotengrad
Insgesamt: O(n + m log n)
Wo sehen Sie Vorteile?
In der Praxis der schnellste der drei Algorithmen
Leicht implementierbar
Qualität naja
Wo sehen Sie Nachteile?
24
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Laufzeit und Diskussion
BFS: O(n + m )
Hier zusätzlich: Sortierung der Nachbarn nach Knotengrad
Insgesamt: O(n + m log n)
Wo sehen Sie Vorteile?
In der Praxis der schnellste der drei Algorithmen
Leicht implementierbar
Qualität naja
Wo sehen Sie Nachteile?
Vielleicht Nachteil: Keine explizite Optimierung der eigentlichen
Zielfunktion
Alternative: Gibbs-Poole-Stockmeyer (schneller)
24
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Zusammenfassung
Problemstellung: Bette Kommunikationsgraphen (Gast) in
Architekturgraphen (Gastgeber) derart ein, dass
Kommunikationskosten minimiert werden
25
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Zusammenfassung
Problemstellung: Bette Kommunikationsgraphen (Gast) in
Architekturgraphen (Gastgeber) derart ein, dass
Kommunikationskosten minimiert werden
Heuristik 1: Greedy, Laufzeit dominiert von Aktualisierung der
Restwerte
Heuristik 2: Rekursive Bisektionierung, Laufzeit dominiert von
Partitionierung auf jeder Ebene
Heuristik 3: Einbettung durch Bandbreitenminimierung (RCM),
Laufzeit von RCM ähnlich BFS, zusätzlich aber noch lokale Sortierung
nach Grad
25
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Zusammenfassung
Problemstellung: Bette Kommunikationsgraphen (Gast) in
Architekturgraphen (Gastgeber) derart ein, dass
Kommunikationskosten minimiert werden
Heuristik 1: Greedy, Laufzeit dominiert von Aktualisierung der
Restwerte
Heuristik 2: Rekursive Bisektionierung, Laufzeit dominiert von
Partitionierung auf jeder Ebene
Heuristik 3: Einbettung durch Bandbreitenminimierung (RCM),
Laufzeit von RCM ähnlich BFS, zusätzlich aber noch lokale Sortierung
nach Grad
Ausblick: Evolutionäre Algorithmen (Metaheuristik)
25
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden für schwere Optimierungsprobleme
Grapheinbettung
Einführung
Herunterladen