{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

cs240a-partitioning

# cs240a-partitioning - CS 240A Graph and hypergraph...

This preview shows pages 1–9. Sign up to view the full content.

CS 240A: Graph and hypergraph partitioning CS 240A: Graph and hypergraph partitioning Thanks to Aydin Buluc, Umit Catalyurek, Alan Edelman, and Kathy Yelick for some of these slides.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
CS 240A: Graph and hypergraph partitioning CS 240A: Graph and hypergraph partitioning Motivation and definitions Motivation from parallel computing Theory of graph separators Heuristics for graph partitioning Iterative swapping Spectral Geometric Multilevel Beyond graphs Shortcomings of the graph partitioning model Hypergraph models of communication in MatVec Parallel methods for partitioning hypergraphs
CS 240A: Graph and hypergraph partitioning CS 240A: Graph and hypergraph partitioning Motivation and definitions Motivation from parallel computing Theory of graph separators Heuristics for graph partitioning Iterative swapping Spectral Geometric Multilevel Beyond graphs Shortcomings of the graph partitioning model Hypergraph models of communication in MatVec Parallel methods for partitioning hypergraphs

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Sparse Matrix Vector Multiplication Sparse Matrix Vector Multiplication
Definition of Graph Partitioning Definition of Graph Partitioning Given a graph G = (N, E, W N , W E ) N = nodes (or vertices), E = edges W N = node weights W E = edge weights Often nodes are tasks, edges are communication, weights are costs Choose a partition N = N 1 U N 2 U … U N P such that Total weight of nodes in each part is “about the same” Total weight of edges connecting nodes in different parts is small Balance the work load, while minimizing communication Special case of N = N 1 U N 2 : Graph Bisection 1 (2) 2 (2) 3 (1) 4 (3) 5 (1) 6 (2) 7 (3) 8 (1) 5 4 6 1 2 1 2 1 2 3

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Applications Applications Telephone network design Original application, algorithm due to Kernighan Load Balancing while Minimizing Communication Sparse Matrix times Vector Multiplication Solving PDEs N = {1,…,n}, (j,k) in E if A(j,k) nonzero, W N (j) = #nonzeros in row j, W E (j,k) = 1 VLSI Layout N = {units on chip}, E = {wires}, W E (j,k) = wire length Sparse Gaussian Elimination Used to reorder rows and columns to increase parallelism, and to decrease “fill-in” Data mining and clustering Physical Mapping of DNA
Partitioning by Repeated Bisection Partitioning by Repeated Bisection To partition into 2 k parts, bisect graph recursively k times

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Separators in theory Separators in theory If G is a planar graph with n vertices, there exists a set of at most sqrt(6n) vertices whose removal leaves no connected component with more than 2n/3 vertices. (“Planar graphs have sqrt(n)-separators.”) “Well-shaped” finite element meshes in 3 dimensions have n 2/3 - separators.
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}