Graph Data Management Lab, School of Computer Science Add title here: Large graph processing

Slides:



Advertisements
Similar presentations
Maximum flow Main goals of the lecture:
Advertisements

Lecture 15. Graph Algorithms
Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
§3 Shortest Path Algorithms Given a digraph G = ( V, E ), and a cost function c( e ) for e  E( G ). The length of a path P from source to destination.
Greed is good. (Some of the time)
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
Introduction To Algorithms CS 445 Discussion Session 8 Instructor: Dr Alon Efrat TA : Pooja Vaswani 04/04/2005.
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
Advanced Algorithm Design and Analysis (Lecture 8) SW5 fall 2004 Simonas Šaltenis E1-215b
Lectures on Network Flows
Approximating Maximum Edge Coloring in Multigraphs
Applied Discrete Mathematics Week 12: Trees
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Improving code generation. Better code generation requires greater context Over expressions: optimal ordering of subtrees Over basic blocks: Common subexpression.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Improving Code Generation Honors Compilers April 16 th 2002.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2004 Lecture 5 Wednesday, 10/6/04 Graph Algorithms: Part 2.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
C o n f i d e n t i a l HOME NEXT Subject Name: Data Structure Using C Unit Title: Graphs.
Circle Graph and Circular Arc Graph Recognition. 2/41 Outlines Circle Graph Recognition Circular-Arc Graph Recognition.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
CS 146: Data Structures and Algorithms July 21 Class Meeting
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Maximum Flow Chapter 26.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University
Design Techniques for Approximation Algorithms and Approximation Classes.
Lecture 5: Network Flow Algorithms Single-Source Shortest-Path (SSSP) (Dijkstra's Algorithm) Max Flow - Min Cut (Ford-Fulkerson) Job Sequencing.
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
Applications of the Max-Flow Min-Cut Theorem. S-T Cuts SF D H C A NY S = {SF, D, H}, T={C,A,NY} [S,T] = {(D,A),(D,C),(H,A)}, Cap [S,T] =
GRAPH SPANNERS by S.Nithya. Spanner Definition- Informal A geometric spanner network for a set of points is a graph G in which each pair of vertices is.
Introduction to Graphs. Introduction Graphs are a generalization of trees –Nodes or verticies –Edges or arcs Two kinds of graphs –Directed –Undirected.
Graph reordering/partitioning with redundancy. Motivation 1. distributed graph processing – Use redundancy to reduce the costly communication – Reordering.
Graph Data Management Lab, School of Computer Science Add title here: Large graph processing
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
Introduction to Graph Theory
Problems on Paired Graphs Stephen Hedetniemi, Alice McRae, Dee Parks, Kelly Wise and come join in…
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Max Flow – Min Cut Problem. Directed Graph Applications Shortest Path Problem (Shortest path from one point to another) Max Flow problems (Maximum material.
Lecture 19 Minimal Spanning Trees CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
Introduction to NP Instructor: Neelima Gupta 1.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Data Structures and Algorithm Analysis Graph Algorithms Lecturer: Jing Liu Homepage:
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
More NP-Complete and NP-hard Problems
Maximum Flow Chapter 26.
Graph Algorithms Minimum Spanning Tree (Chap 23)
Lectures on Network Flows
Topological Sort (topological order)
Spanning Trees.
Richard Anderson Lecture 25 Open Pit Mining
CS 583 Analysis of Algorithms
Connectivity Section 10.4.
10.1 Graphs and Graph Models
Fundamental Data Structures and Algorithms
Algorithms (2IL15) – Lecture 7
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

Graph Data Management Lab, School of Computer Science Add title here: Large graph processing Put conference information here: The 12-th International Conference of Date Engineering Graph Re-partitioning

2 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Motivation of Problem  In a distributed shared memory system for huge graph processing, when loading the graph into memory, there will always be a partition of the vertices because each vertex is hashed to one machine  To reduce the cost of cross-machine access, we need to refine the partition of the vertices  However, moving a vertex is also costly and can not be ignored

3 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Related works  Pure Partioning of a graph is NP-hard

4 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Problem definition  Input: Given a Graph G=(V,E), a positive integer m and a initial many-to-one reflection R': V -> M, M={1,2,...,m}.  Problem: Find a many-to-one reflection R such that:  (1)The number of cross-volume edges is minimized:  minimizing where  (2)The number of moved vertices is minimized:  minimizing where

5 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Baseline Solution  A simple greedy algorithm:  Consider a vertex in machine M1, its neighbor may be distributed over different machines. If most of its neighbor is not in M1, this vertex needs to be moved.

6 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Algorithm Framework  1: For each machine M:  2: For each vertex v in M:  3: Find the machine Mv, which is the machine with the largest number of neighbors of vertex v  4: If Mv != M  5: add (Mv,v) to the moving buffer  6: end if  7: end for  8: end for  9: Sort the (Mv,v) pairs

7 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Algorithm Framework Cont'd  10: Construct a graph T. Each vertex of T represents a machine, weighted arc represents the number of vertex should be moved from P1 to P2  11: while we can find a cycle from T extracting the minimal weight of the edges  12: remove edges of the cycles from T  13: end while  Maybe the whole algorithm can be executed multiple times to get the best solution?

8 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Elaboration  In the above framework, step suggests an interesting problem:  Given an edge weighted (now only integer weight) directed graph G, let G1,G2,...Gk be a subgraph sequence of G, such that  (1) each Gi is a cycle of G and all arcs of Gi have the same weight;  (2)G=G1\cup...Gk ;  (3)Gk is either empty or no cycle can be found; For simplicity, we refer to this subgarph sequence as a cycle decomposition of G.  Target: how to construct a cycle decomposition such that the sum of edge weight in Gk is minimized?

9 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Solution - Maximum flow  Consider the graph G’=(V’,E’), where:  (1) for each vertex v in V, there’s two corresponding vertices v_in and v_out in V’, and an arc v_in -> v_out in E’,whose capacity is +infinite.  (2) for each arc u->v: there’s an arc u_out -> v_in in E’,whose capacity is the weight of the original arc u -> v.  (3) There’s two new vertices called source and sink in V’.  (4) for each vertex v_out in V’, there’s an arc source -> v_out, whose initial capacity is 0.  (5) for each vertex v_in in V’, there’s an arc v_in -> sink, whose initial capacity is 0.

10 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Solution Cont'd  For each vertex v in the original graph (the order of them can be arbitrarily chosen):  (1) Modify the capacity of source -> v_out and v_in -> sink to infinite.  (2) Re-calculate the maximum flow from source to sink.  At last, the flow at each edge u_out -> v_in is the answer to the problem.

11 Add title here: Large graph processing The 12-th International Conference of Date Engineering Graph Data Management Lab, School of Computer Science Graph Data Management Lab, School of Computer Science Future work  To check if this algorithm really "work", i.e. if this can reduce the number of cross-volume edges by 10%?20%?Or less?  Will this algorithm terminate in a few number of (iterating) steps? Or goes into a loop?  Other algorithms?