Graph reordering/partitioning with redundancy. Motivation 1. distributed graph processing – Use redundancy to reduce the costly communication – Reordering.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Chapter 4 Partition I. Covering and Dominating.
Chapter 8 Topics in Graph Theory
Graph A graph, G = (V, E), is a data structure where: V is a set of vertices (aka nodes) E is a set of edges We use graphs to represent relationships among.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
GOLOMB RULERS AND GRACEFUL GRAPHS
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Applied Discrete Mathematics Week 12: Trees
Graph & BFS.
CPSC-608 Database Systems Fall 2008 Instructor: Jianer Chen Office: HRBB 309B Phone: Notes #6.
Graph COMP171 Fall Graph / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D E A C F B Vertex Edge.
Graph & BFS Lecture 22 COMP171 Fall Graph & BFS / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D.
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
CS344: Lecture 16 S. Muthu Muthukrishnan. Graph Navigation BFS: DFS: DFS numbering by start time or finish time. –tree, back, forward and cross edges.
1 Section 8.4 Connectivity. 2 Paths In an undirected graph, a path of length n from u to v, where n is a positive integer, is a sequence of edges e 1,
External Memory Algorithms Kamesh Munagala. External Memory Model Aggrawal and Vitter, 1988.
1/13/03Tucker, Applied Combinatorics, Sec Tucker, Applied Combinatorics, Sec. 1.1, Jo E-M A Graph is a set of vertices (dots) with edges (lines)
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Problem: Induced Planar Graphs Tim Hayes Mentor: Dr. Fiorini.
GRAPH Learning Outcomes Students should be able to:
CS 3343: Analysis of Algorithms Lecture 21: Introduction to Graphs.
Finding dense components in weighted graphs Paul Horn
Sept Elementary Graph Algorithms Graph representation Graph traversal -Breadth-first search -Depth-first search Parenthesis theorem.
June 21, 2007 Minimum Interference Channel Assignment in Multi-Radio Wireless Mesh Networks Anand Prabhu Subramanian, Himanshu Gupta.
Introduction to Graphs. Introduction Graphs are a generalization of trees –Nodes or verticies –Edges or arcs Two kinds of graphs –Directed –Undirected.
Edge-disjoint induced subgraphs with given minimum degree Raphael Yuster 2012.
Fan-planar Graphs: Combinatorial Properties and Complexity results Carla Binucci, Emilio Di Giacomo, Walter Didimo, Fabrizio Montecchiani, Maurizio Patrignani,
Expanders via Random Spanning Trees R 許榮財 R 黃佳婷 R 黃怡嘉.
Based on slides by Y. Peng University of Maryland
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Techniques for Proving NP-Completeness Show that a special case of the problem you are interested in is NP- complete. For example: The problem of finding.
Warm-Up 3.4 1) Solve the system. 2) Graph the solution.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Markov Chains and Random Walks. Def: A stochastic process X={X(t),t ∈ T} is a collection of random variables. If T is a countable set, say T={0,1,2, …
Problems on Paired Graphs Stephen Hedetniemi, Alice McRae, Dee Parks, Kelly Wise and come join in…
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Fall 2015 COMP 2300 Discrete Structures for Computation Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1.
1/24 Introduction to Graphs. 2/24 Graph Definition Graph : consists of vertices and edges. Each edge must start and end at a vertex. Graph G = (V, E)
Online Social Networks and Media
CSCI 115 Chapter 8 Topics in Graph Theory. CSCI 115 §8.1 Graphs.
Graph theory and networks. Basic definitions  A graph consists of points called vertices (or nodes) and lines called edges (or arcs). Each edge joins.
Graphs Slide credits:  K. Wayne, Princeton U.  C. E. Leiserson and E. Demaine, MIT  K. Birman, Cornell U.
Data Structures and Algorithms in Parallel Computing
MAT 2720 Discrete Mathematics Section 8.2 Paths and Cycles
 Quotient graph  Definition 13: Suppose G(V,E) is a graph and R is a equivalence relation on the set V. We construct the quotient graph G R in the follow.
Trees Thm 2.1. (Cayley 1889) There are nn-2 different labeled trees
Shahed University Dr. Shahriar Bijani May  A path is a sequence of vertices P = (v 0, v 1, …, v k ) such that, for 1 ≤ i ≤ k, edge (v i – 1, v.
Chapter 9: Graphs.
Introduction to Graph Theory By: Arun Kumar (Asst. Professor) (Asst. Professor)
Graph Data Management Lab, School of Computer Science Add title here: Large graph processing
Selected Topics in Data Networking Explore Social Networks:
Graph Representations And Traversals. Graphs Graph : – Set of Vertices (Nodes) – Set of Edges connecting vertices (u, v) : edge connecting Origin: u Destination:
Spanning Tree Definition:A tree T is a spanning tree of a graph G if T is a subgraph of G that contains all of the vertices of G. A graph may have more.
CSE280Stefano/Hossein Project: Primer design for cancer genomics.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
CSC317 1 At the same time: Breadth-first search tree: If node v is discovered after u then edge uv is added to the tree. We say that u is a predecessor.
The NP class. NP-completeness
Applied Discrete Mathematics Week 14: Trees
Approximate Algorithms (chap. 35)
Chapter 5 Fundamental Concept
Query Processing in Databases Dr. M. Gavrilova
Depth Estimation via Sampling
5.4 T-joins and Postman Problems
MAT 2720 Discrete Mathematics
General External Merge Sort
N(S) ={vV|uS,{u,v}E(G)}
Applied Discrete Mathematics Week 13: Graphs
Locality In Distributed Graph Algorithms
Presentation transcript:

Graph reordering/partitioning with redundancy

Motivation 1. distributed graph processing – Use redundancy to reduce the costly communication – Reordering vertices such that vertex with the continuous orders are grouped in the same machine 2. external storage of graph data – Use redundancy to reduce disk I/O caused by cross page access – Reordering vertices such that vertex with the continuous orders are grouped in the same page Generalized – Reordering – Redundancy Consider a vertex u with degree k, in the worst case, there will be k remote access or disk I/Os By copying u to each machines on which its remote neighbor reside, we can avoid such remote access or disk I/Os.

Rationality Why ordering instead of partitioning? – Ordering provides more information than partitioning Ordering implies partitioning – Suppose a vertex sequence V1,V2,...Vm. We are to partition these vertices into P parts. A simple solution is to partition the sequence into P (consecutive) parts. – Disk access If two vertices (u,v) are logically close to each other, we hope it is arranged in close regions on disk so that we can reduce the disk seeking time when access v after u (or vice versa) Two vertices are said logically close to each other if they reside in the same densely connected subgraph – In general, vertices are processed in a certain order. We expect to process vertices in the above mentioned logical order

Problem definition 1 (p1) Overlapping graph partitioning Input: Given a graph G(V, E), an integer k, size constraint Z, Problem: Finding k Z-size subsets of V such that Objective: – G(.)=  e\in E f(e) is minimized – f(e)=0 if two ends of e occurs in a subset; 1 otherwise

Baseline model: Problem definition 2 (p2) Overlapping graph partitioning Input: Given a graph G(V, E), integer m Problem: Finding a sequence S(v1,…,vm) of V Objectives – Each v \in V appears at least once in the sequence –  e\in E f(e) is minimized – F(e(u,v)) is defined as the minimal distance between u and v in sequence Advantage – Compared to linearization, our model is independent on k, when a partition is smaller than k, linearization fails – if we find a solution under our model, a random partitioning is expect to be good enough (total number of cross-parts edges are minimized )

Relationship between p1 and p2 Under the model of problem 2, if we get an optimal solution, then – If and only if given a random partitioning P over the sequence, the E[G(P)] is optimal (minimal) ???

Solution to p2 How to generate order – Principle to guide the order generation Traverse vertices in the same community first then outside of the community – Bfs – Dfs How to select vertices to copy? – Quatify the benefit and the cost to copy a vertex? – Set low/upper bound on degree of copied vertex If the degree of a vertex is 1 or 2, it's obvious that we needn't store the information of this vertex multiple times; if the degree of a vertex is relatively low, the benefit of copying this vertex is low too If the degree of a vertex is too large, the cost of copying this vertex is large (i.e Maybe we can use that storage to give other few vertices copies in order to benefit more?)

Bfs or Dfs? It seems that Bfs is not a good choice The distance between two neighboring vertices will be larger than that in Dfs sequence, especially in a graph with many vertices with large (relatively large) degree. If a back edge is found while doing dfs, should we copy the information of this vertex??? Or some other constraints is needed???

Solution to problem P1 Based on solution p2 Partition the sequence into consecutive parts by the size constraint Z.(The naiive solution)