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