Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Vorlesung 10 DIFFUSIONSBASIERTE PARTITIONIERUNG 315 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Wiederholung Grundbegriffe: Beschleunigung, Effizienz, Amdahls Gesetz Lastbalancierung sehr wichtig für parallele Effizienz Diffusionsverfahren erster Ordnung: Lokaler Lastaustausch Spezieller Random Walk Schranke für Anzahl der Iterationen (vollst. Beweis im Skript) Berechneter Fluss minimal in der l2-Norm (Übung) Nicht im Detail: Genauere Kenntnisse über die Eigenwerte des Graphen erlauben schnellere Konvergenz 316 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Einführung und Motivation Graphpartitionierung: Aufteilung der Knotenmenge in fast gleich große Teilmengen Typische Anwendungen: Teile-und-herrsche-Algorithmen Lastbalancierung für verteilt parallele Graphenalgorithmen Beispiele für verteilt paralleles Szenario: Analyse riesiger Netzwerke Numerische Simulationen 317 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Numerische Simulationen Numerische Simulationen Beispiel Abbildung: http://www.civilaviation.eu/images/Airbus/A319_F- WWDB.jpg 318 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft 10 Henning Meyerhenke, Institut für Theoretische Informatik Big Data aus Sicht der Algorithmentechnik: Kombinatorisches wissenschaftliches Rechnen Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Numerische Simulationen Numerische Simulationen Bezug zu kombinatorischen Algorithmen durch Diskretisierung Abbildung: http://geuz.org/gmsh/gallery/a319_4.png 319 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Diskrete Bezüge: Gitternetz-Erzeugung (Meshing), Lastbalancierung 10 Henning Meyerhenke, Institut für Theoretische Informatik Big Data aus Sicht der Algorithmentechnik: Kombinatorisches wissenschaftliches Rechnen Lastbalancierung abhängiger Lasten Repartitionierung in adaptiven Simulationen Aufgabe: Abbildung des Gitternetzes auf die Prozessoren eines Parallelrechners Ziel: Effiziente parallele Lösung linearer Gleichungssysteme (diskretisierte PDG) Wichtig: Kanten drücken Abhängigkeiten zwischen Lasten aus! Ariane 5 Partitioniere Gitternetz derart, dass die Last balanciert wird und die Kommunikation minimiert wird 10-Partitionierung (Flügelumströmung) 320 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Graphpartitionierung und Graph(re)partitionierung -repartitionierung Statisch: Graphpartitionierungs-Problem Sei G = (V , E ) ein Graph. Partitioniere V in V = p1 [˙ . . . [˙ pk durch eine Abbildung P : V ! {1, . . . , k } derart, dass P balanciert ist (|p1 | ⇡ · · · ⇡ |pk |) und der Kantenschnitt minimiert wird. Kantenschnitt Dynamisch: Repartitionierungs-Problem Löse das obige Problem mit zusätzlichem Ziel: Minimiere Migrationskosten N P -schwer ! In der Praxis: Heuristiken 12 321 Henning Meyerhenke, Institut für Theoretische Informatik Graphenalgorithmen und lineare Algebra Hand in Hand Big Data aus Sicht der Algorithmentechnik: Kombinatorisches wissenschaftliches Rechnen Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Etablierte Verfahren (1) Schnelle lokale Verfahren + Multilevel Kernighan-Lin: Mehrstufige lokale Suche Initial: „Beliebige“ 2-Partitionierung Tausche iterativ Knotenpaar, das Kantenschnitt am meisten verbessert Superquadratische Laufzeit Fiduccia-Mattheyses: Anpassung von KL für bessere Laufzeit Alternierende Verschiebung einzelner Knoten Lineare Laufzeit durch BucketDatenstruktur Gute Startlösung nötig => Multilevel 322 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Hilfreiche Mengen: Entstammt einem theoretischen Beweis über Bisektionsweite Verschiebt mehrere Knoten auf einmal Etwas langsamer als FM in der Praxis Qualität mindestens vergleichbar Nachteile von allen: Einseitige Fokussierung auf Kantenschnitt Schwierige Parallelisierung Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Visueller Vergleich kMetis (FM) 323 Jostle (FM u.a.) Graphenalgorithmen und lineare Algebra Hand in Hand DibaP (FO mit Diffusion) Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Etablierte Verfahren (2) Max-Flow-min-cut-Theorem: Netzwerkfluss liefert minimalen Schnitt (unbalanciert!) Wichtig: Schnitt balancieren, ohne ihn stark zu verschlechtern Metaheuristiken: Genetische/evolutionäre Algorithmen Fusion and fission (angelehnt an atomare Kernfusion und –spaltung) Ameisenalgorithmen Hohe Qualität, aber oft extrem GRASP hohe Laufzeit ... Diffusion: Ähnlich wie bei Random Walks werden dichte Gebiete identifiziert Führt auch zu guten Partitionsformen 324 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Formoptimierende Graphpartitionierung Formoptimierende Graphpartitionierung Erste Ansätze: [Diekmann et al., J. ParCo’00] Idee: Berechne gute Partitionsformen mit kleiner Oberfläche! Experimente: Partitionierungen mit guten Formen haben gewünschte Eigenschaften: Kleine Partitionsdurchmesser Kleine Partitionsränder Oft zusammenhängend Geringe Migrationskosten bei Repartitionierung 14 325 Henning Meyerhenke, Institut für Theoretische Informatik M E T I S (KL) D IBA P Big Data aus Sicht der Algorithmentechnik: Kombinatorisches wissenschaftliches Rechnen Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik k-means und Lloyds Algorithmus Eingabe: Punktmenge im Raum Zielfunktion (geometrisch): Summe über quadratischen Abstand zu Zentren Initial: Z.B. k zufällige Zentren (bessere Methoden existieren) Zuweisung: Jeder Knoten wird an das nächstgelegene Zentrum zugewiesen Neue Zentren: Schwerpunkt jedes Clusters wird Zentrum 326 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Lloyds Algorithmus auf Graphen Brauchen geeignetes Ähnlichkeitsmaß Soll ausdrücken, wie gut verbunden zwei Knoten/Regionen sind Effiziente Berechnung (subquadratisch, besser linear) Bubble Framework Diffusion: Bestreben eines Stoffes, sich gleichmäßig auszubreiten Breitet sich schneller in dichten Graphregionen aus Gestörte Diffusion: Vermeidung des balancierten Zustandes 327 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Gestörte Diffusion FOS/C Abflusskonzept: Jeder Knoten verliert in jeder Iteration etwas Last Gesamtabfluss wird auf Menge von Quellknoten gleichmäßig aufgeschlagen Diffusion ohne Abfluss: w(t) = Mw(t-1) Diffusion mit Abfluss: w(t) = Mw(t-1)+d Abflussvektor d: di = -delta, falls i nicht in S di = n*delta/|S| - delta, falls i in S 328 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Wichtig: Durch Abfluss geht keine Last verloren! Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Convergence Theorem Accelerating Shape Optimizing Load Balancing for Parallel FEM Simulations by Algebraic Multigrid Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Theorem FOS/C konvergiert H. Meyerhenke, B. Monien, and S. Schamberger FOS/C converges for any initial load vector w (0) . Theorem: Proof. FOS/C konvergiert für jeden initialen Lastvektor w(0). Introduction Bubble Framework and Disturbed Di↵usion Beweis: w (1) = Mw (0) + d w (2) = Mw (1) + d = M(Mw (0) + d) + d Acceleration by AMG and Multilevel Experiments Conclusions w (i) w (1) = M2 w (0) + (M + I)d .. . = Mi w (0) + (Mi 1 + · · · + M + I)d = M1 w (0) + (I = w + (↵L) 1 d M) 1 d Achtung: Mit L-1 ist hier die Pseudoinverse gemeint! 329 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Lösung mit LGS statt mit Iteration Folgerung: Der stationäre Zustand w(*) kann durch das Lösen des LGS Lw=d mit w = alpha * w(*) bestimmt werden. Dafür muss gelten: Summe der Einträge in d ist 0 (passt, selbst nachrechnen!), Summe der Einträge in w für alle Systeme gleich Erklärung: Siehe Tafel! Lineare Löser wie CG oder Multigrid konvergieren meist deutlich schneller Noch offen: Wie bringt man Bubble und FOS/C zusammen? 330 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik AssignParts Zuweisung jedes Knotens an das nächste Zentrum: Lösung von k FOS/C-Problemen Quellmenge in System i: {Zentrum von Block i} Knoten v gehört zu Zentrum i, dessen System die meiste Last sendet Algebraisch: Löse Lwi = di pi[v] := argmaxi wi(v) Um Balancierung kümmern wir uns später! 331 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik ComputeCenters Berechnung neuer Zentren aus bisheriger Partitionierung: Lösung von k FOS/C-Problemen Quellmenge in System i: {Block i} Neues Zentrum von Block i ist Knoten mit höchster Last in System i Algebraisch: Löse Lwi = di (nun andere Abflussvektoren!) C[i] := argmaxv wi(v) 332 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Consolidation (optional) Zwischending aus AssignPartition und ComputeCenters Berechnet aus alter eine neue Partitionierung: Lösung von k FOS/C-Problemen Quellmenge in System i: {Block i} Knoten v gehört zu Zentrum i, dessen System die meiste Last sendet Zweck: Balancierung Bessere Qualität 333 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Balancierung Zwei Varianten implementiert ScaleBalance: Nimm Last aus Systemen mit zu großen Blöcken Addiere Last zu Systemen mit zu kleinen Blöcken Suche passende Skalierungsfaktoren betai FlowBalance: Bestimme balancierenden Fluss mit Diffusion (s. letztes Mal) Wissen dann, wie viele Knoten von A nach B müssen Zunächst unklar: Welche werden konkret verschoben? Dazu: Ausnutzung der Lasten aus AssignPartition Knoten mit höchster Affinität zum Zielblock werden verschoben 334 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Algorithm Bubble-FOS/C Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Improvements to a Shape Optimizing Graph Partitioning Heuristic Bubble-FOS/C H. Meyerhenke Introduction 1 Bubble Framework and Disturbed Di↵usion Bubble-FOS/C Converges 2 5 for ⌧ = 1 until convergence C = ComputeCenters(G , ⇧, P) ⇧ = AssignPartition(G , C , P) 6 return ⇧ 3 Acceleration by AMG, Multilevel, and Matrix Conditioning Graph Clustering and FOS/C Analysis Algorithm Bubble-FOS/C(G , P) C = DetermineInitialCenters(G , P) ⇧ = AssignPartition(G , C , P) 4 Conclusions Passend integrierbar: Goal: Proof for termination of the loop. Consolidation Balancierung 335 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Visueller Vergleich unter Dynamik ParMetis 336 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Visueller Vergleich unter Dynamik Parallel Jostle 337 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Visueller Vergleich unter Dynamik Diffusionsbasierte Partitionierung 338 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Bubble-FOS/C konvergiert Theorem: Sei G ein zusammenhängender, ungerichteter, schlichter endlicher Graph. Dann konvergiert Bubble-FOS/C(G, k) (ohne Consolidation und ohne Balancierung) und produziert eine k-Partitionierung. Beweis: Nächstes Mal Idee: Potentialfunktion F der Lastsummen (endliche obere Schranke) AssignPartition maximiert F bei gegebenen Zentren ComputeCenters maximiert F bei gegebener Partitionierung Jede der beiden Operationen erhält k Systeme, keins verschwindet Optimization FindingCriterion Optimal Solutions 339 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Minimum Balanced Cut Beyond Good Shapes: Di↵usion-based Graph Partitioning is Relaxed Cut Optimization H. Meyerhenke Introduction Previous Work on Bubble-FOS/C Bubble Framework Disturbed Di↵usion FOS/C AssignPartition Optimization Criterion Minimum Balanced Cut AssignPartition is Relaxed Cut Optimizer Beyond Good Shapes: Di↵usion-based Graph Partitioning is Relaxed Cut Optimization Corollary Assumption k= 2 Let ⇧ =for {⇡1the , . . .talk: , ⇡k } be a balanced partition with minimum cut. H. Meyerhenke Bisection (k = 2) (paper: k 2) Optimierungskriterium If the set of center nodes Z = {z1 ,von . . . , zkBubble-FOS/C } is chosen for the BQP Introduction Binarysuch quadratic optimization problem that zp 2 ⇡p (1 p k), then the BQP computes ⇧ or another balanced partition with minimum cut. (BQP) for min balanced cut: Kantenschnittminimierung: Previous Work on Bubble-FOS/C Bubble Framework Disturbed Di↵usion FOS/C x2{0,1}nN P-hard Minimum Balanced Cut Conclusions Selected References ! Relaxation: x1 , x2 2 Rn instead of binary Spectral Spektrale löst relaxiertes Problem !partitioning: y := Partitionierung x1 x2 2Relax Rn integrality constraint and solve eigenvector Connectedness Auch für Bubble-FOS/C kann man Relaxierung formulieren: Results problem T T (A) AssignPartition is Relaxed Cut Optimizer Extensions min y Ly subject to y d Conclusions Extensions Connectedness Results (1) min x T Lx optimization s. t. x T 1 = n/2 problem AssignPartition Optimization Criterion Selected References To show: y 2Rn Bubble-FOS/C solves similar relaxation. Rel. Kantenschnitt ISAAC 2010 13 / 24 =n ( 1 + 2 ). (1) (2) Balancierung Theorem: Sei G = (V,E) ein Graph mit n Knoten (n/k N) und k Zentrumsknoten zi πi. Dann berechnet die Kombination von AssignPartition und ScaleBalance das globale Minimum von Gl. (2). ISAAC 2010 10 / 24 340 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Zwischenfazit Bubble-FOS/C bietet Formoptimierung mit guten Ergebnissen bzgl. verschiedener Metriken Aber: Recht langsam, da viele LGS gelöst werden Laufzeit pro Ebene: O(k * LGS(n)) CG: LGS(n) in O(n3/2) bzw. O(n4/3) (je nach Dimension) Multigrid: O(n) bei guter Implementierung, hohe Konstanten Eher globaler Ansatz, ähnlich wie spektrale Methoden (aber besser!) Beobachtung: Veränderungen bei Verbesserungsprozess überwiegend an den Blockgrenzen Wie nutzen wir diese Lokalität aus? 341 Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Faster Local Approach TruncCons Truncated Di↵usion Consolidations [IPDPS’08] Motivation für DibaP Disturbed Di↵usive Processes for Solving Partitioning Problems on Graphs H. Meyerhenke Introduction Bubble-FOS/C: Shape Optimization with Disturbed Di↵usion Bubble Framework FOS/C Bubble-FOS/C DibaP: Faster Di↵usion-based Partitioning TruncCons Multilevel DibaP Experiments with DibaP Conclusions Consolidation Consolidation: ⇧ ! ⇧ Same initial load for nodes of current subdomain, all others 0 Use a small number (e. g. , = 14) of FOS iterations to distribute load Exploits: Dense region has many internal short paths Inactive nodes: Nodes that have the same load as all their neighbors Omit inactive nodes ) Computational work only in boundary regions Assignment to subdomains as before, consolidation is repeated ⇤ times (e. g. , ⇤ = 10) More iterations (⇤ / ) Better quality, higher running time 27th June 2008 14 342 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Algorithm TruncCons TruncCons A New Di↵usion-based Multilevel Algorithm for Computing Graph Partitions of Very High Quality H. Meyerhenke, B. Monien, T. Sauerwald 1 2 3 Introduction 4 Bubble-FOS/C 5 Bubble-FOS/C Converges 6 TruncCons: Consolidations with FOS/T 7 8 Multilevel Partitioning Algorithm Conclusions IPDPS 2008, April 16th 343 17 if v 2 ⇧p wp (v ) := |V |/S > 0 /* initial load */ else wp (v ) := 0 for i = 1 to /* FOS/T: truncated di↵usion */ wp := M(G ) · wp 10 forall v 2 V /* assign */ ⇧(v ) := argmaxp wp (v ) 11 return balanced and smoothed ⇧ 9 Experiments Algorithm TruncCons (G , k, ⇧, ⇤, ) for o = 1 to ⇤ for p = 1 to k in parallel /* independently for each part */ Graphenalgorithmen und lineare Algebra Hand in Hand Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Multilevel DibaP Combining Bubble-FOS/C and TruncCons [IPDPS’08] Multilevel DibaP Disturbed Di↵usive Processes for Solving Partitioning Problems on Graphs H. Meyerhenke Introduction Bubble-FOS/C: Shape Optimization with Disturbed Di↵usion Bubble Framework FOS/C Bubble-FOS/C DibaP: Faster Di↵usion-based Partitioning TruncCons New multilevel algorithm DibaP (Di↵usion-based Partitioning): 1) and 2) Recursive coarsening: DibaP Sketch Fine levels: Fast matching algorithm Coarse levels: Two Algebraic Multigrid (AMG) coarsening schemes 3) Initial partitioning: Bubble-FOS/C Multilevel DibaP Experiments with DibaP Conclusions 4) and 5) (Local) Improvement: Small hierarchy levels: Bubble-FOS/C Larger hierarchy levels: TruncCons 27th June 2008 15 344 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik Prof. Dr. Henning Meyerhenke | Fakultät für Informatik Zusammenfassung und Fazit Gestörte Diffusion identifiziert dichte Bereiche im Graphen Bubble-FOS/C theoretisch analysierbar DibaP (Multilevel mit Bubble-FOS/C und TruncCons) bietet Qualität von Bubble-FOS/C bei viel höherer Geschwindigkeit Eins der besten Werkzeuge (nach KaHIP) für Gitternetze aus numerischen Simulationen (bzgl. Qualität) Besonders gut hinsichtlich Repartitionierung Experimentell gemessene Laufzeit etwa O(k * n) Geschwindigkeit weitgehend akzeptabel, aber deutlich langsamer als KL/FM-Verfahren Faktor k in Laufzeit behindert gute parallele Skalierbarkeit 345 Graphenalgorithmen und lineare Algebra Hand in Hand KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik