Fast Parallel Algorithms for Edge-Switching to Achieve a Target Visit Rate in Heterogeneous Graphs Maleq Khan September 9, 2014 Joint work with: Hasanuzzaman.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

U of Houston – Clear Lake
ADSP Lecture2 - Unfolding VLSI Signal Processing Lecture 2 Unfolding Transformation.
Social network partition Presenter: Xiaofei Cao Partick Berg.
Lecture 19: Parallel Algorithms
Jump to first page DISTRIBUTED GENERATION OF PAIRWISE COMBINATIONS PARALLEL GRAPH PARTITIONING ON A HYPERCUBE F. Ercal, P. Sadayappan, and J. Ramanujan.
1 2.5K-Graphs: from Sampling to Generation Minas Gjoka, Maciej Kurant ‡, Athina Markopoulou UC Irvine, ETZH ‡
PRAM (Parallel Random Access Machine)
CSE 380 – Computer Game Programming Pathfinding AI
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 CHAPTER 4 - PART 2 GRAPHS 1.
Construction of Simple Graphs with a Target Joint Degree Matrix and Beyond Minas Gjoka, Balint Tillman, Athina Markopoulou University of California, Irvine.
CSE 522 – Algorithmic and Economic Aspects of the Internet Instructors: Nicole Immorlica Mohammad Mahdian.
Topology Generation Suat Mercan. 2 Outline Motivation Topology Characterization Levels of Topology Modeling Techniques Types of Topology Generators.
Directional triadic closure and edge deletion mechanism induce asymmetry in directed edge properties.
Networks. Graphs (undirected, unweighted) has a set of vertices V has a set of undirected, unweighted edges E graph G = (V, E), where.
1 Friday, September 29, 2006 If all you have is a hammer, then everything looks like a nail. -Anonymous.
Building Low-Diameter P2P Networks Eli Upfal Department of Computer Science Brown University Joint work with Gopal Pandurangan and Prabhakar Raghavan.
Presented by Ozgur D. Sahin. Outline Introduction Neighborhood Functions ANF Algorithm Modifications Experimental Results Data Mining using ANF Conclusions.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
Advanced Topics in Data Mining Special focus: Social Networks.
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
Bluenet a New Scatternet Formation Scheme * Huseyin Ozgur Tan * Zifang Wang,Robert J.Thomas, Zygmunt Haas ECE Cornell Univ*
Network analysis and applications Sushmita Roy BMI/CS 576 Dec 2 nd, 2014.
Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee.
Network A/B Testing: From Sampling to Estimation
Health and CS Philip Chan. DNA, Genes, Proteins What is the relationship among DNA Genes Proteins ?
TOWARDS IDENTITY ANONYMIZATION ON GRAPHS. INTRODUCTION.
Large-scale organization of metabolic networks Jeong et al. CS 466 Saurabh Sinha.
Information Networks Power Laws and Network Models Lecture 3.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Lecture 3 – Parallel Performance Theory - 1 Parallel Performance Theory - 1 Parallel Computing CIS 410/510 Department of Computer and Information Science.
Biological Networks Lectures 6-7 : February 02, 2010 Graph Algorithms Review Global Network Properties Local Network Properties 1.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Limits of Local Algorithms in Random Graphs
Neural and Evolutionary Computing - Lecture 10 1 Parallel and Distributed Models in Evolutionary Computing  Motivation  Parallelization models  Distributed.
1 Fast Failure Recovery in Distributed Graph Processing Systems Yanyan Shen, Gang Chen, H.V. Jagadish, Wei Lu, Beng Chin Ooi, Bogdan Marius Tudor.
WALKING IN FACEBOOK: A CASE STUDY OF UNBIASED SAMPLING OF OSNS junction.
Clustering of protein networks: Graph theory and terminology Scale-free architecture Modularity Robustness Reading: Barabasi and Oltvai 2004, Milo et al.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Expanders via Random Spanning Trees R 許榮財 R 黃佳婷 R 黃怡嘉.
EpiFast: A Fast Algorithm for Large Scale Realistic Epidemic Simulations on Distributed Memory Systems Keith R. Bisset, Jiangzhuo Chen, Xizhou Feng, V.S.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
Synchronization Transformations for Parallel Computing Pedro Diniz and Martin Rinard Department of Computer Science University of California, Santa Barbara.
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.
InterConnection Network Topologies to Minimize graph diameter: Low Diameter Regular graphs and Physical Wire Length Constrained networks Nilesh Choudhury.
ITEC 2620A Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: 2620a.htm Office: TEL 3049.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
341- INTRODUCTION TO BIOINFORMATICS Overview of the Course Material 1.
1 Approximate XML Query Answers Presenter: Hongyu Guo Authors: N. polyzotis, M. Garofalakis, Y. Ioannidis.
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Nov 3, 2005.
1 CIS 4930/6930 – Recent Advances in Bioinformatics Spring 2014 Network models Tamer Kahveci.
Raptor Codes Amin Shokrollahi EPFL. BEC(p 1 ) BEC(p 2 ) BEC(p 3 ) BEC(p 4 ) BEC(p 5 ) BEC(p 6 ) Communication on Multiple Unknown Channels.
Community structure in graphs Santo Fortunato. More links “inside” than “outside” Graphs are “sparse” “Communities”
MapReduce Basics Chapter 2 Lin and Dyer & /tutorial/
Uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison Wesley, 2003.
SEMI-SYNTHETIC CIRCUIT GENERATION FOR TESTING INCREMENTAL PLACE AND ROUTE TOOLS David GrantGuy Lemieux University of British Columbia Vancouver, BC.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Network Dynamics and Simulation Science Laboratory Structural Analysis of Electrical Networks Jiangzhuo Chen Joint work with Karla Atkins, V. S. Anil Kumar,
Of 17 Limits of Local Algorithms in Random Graphs Madhu Sudan MSR Joint work with David Gamarnik (MIT) 7/11/2013Local Algorithms on Random Graphs1.
Algorithms and Computational Biology Lab, Department of Computer Science and & Information Engineering, National Taiwan University, Taiwan Network Biology.
the project of the voluntary distributed computing ver.4.06 Ilya Kurochkin Institute for information transmission problem Russian academy of.
Data Center Network Architectures
Apache Spark & Complex Network
Genome Assembly.
Department of Computer Science University of York
ITEC 2620M Introduction to Data Structures
Haitao Wang Utah State University SoCG 2017, Brisbane, Australia
Md. Tanveer Anwar University of Arkansas
Presentation transcript:

Fast Parallel Algorithms for Edge-Switching to Achieve a Target Visit Rate in Heterogeneous Graphs Maleq Khan September 9, 2014 Joint work with: Hasanuzzaman Bhuiyan, Jiangzhuo Chen, and Madhav Marathe

Edge Switch Swaps the end points of two randomly selected edges in a graph A sequence of such operations are performed Preserves the degree of each node Edge switch operations generate a new graphs with the same degree sequence 2 Before switch After switch

Applications Generating random graphs from a given degree sequence Randomly perturb a given network to study the effect of network topology on various dynamics on a network, e.g., disease dynamics on social network Modeling dynamic peer-to-peer networks 3

Edge Switching Problem Input: – A simple graph No loops and parallel edges – The number of edge switches, t Sequential Processing: – Select a pair of edge uniformly at random – switching the edges if the graph remains simple – Repeated the above steps until t number of edge switches are done Output: – A simple graph 4

Constraints of Edge Switch The output remains simple graph after switching – No loop – No parallel edge 5

Constraints of Edge Switch The output remains simple graph after switching – No Loop – No Parallel Edge 6 Before switch After switch

Constraints of Edge Switch 7 Before switch After switch

Visit Rate 8

Dependencies among successive edge switch operations Keeping the graph simple (no self-loop, no parallel edge) It requires complex synchronization and communications among processors Keeping the communication overhead low 9 Challenges in Parallelizing Edge Switch Operation

Parallel Edge Switching 10

Parallel Edge Switching 11 #Edges 1000 #Edges 1000 Set of Edges Sequential Partitioned among 4 processors Parallel

12 Parallel Edge Switching

13 Parallel Edge Switching

14 Parallel Edge Switching

Picking Edges Uniformly at Random Set of Edges Partition of Edges E0E0 E1E1 E2E2 E3E3 Serial Parallel ? ? ? ?

Picking Edges Uniformly at Random Set of Edges Partition of Edges E0E0 E1E1 E2E2 E3E3 Serial Parallel ? ? ? ?

Multinomial Distribution 17

Binomial Distribution 18

Binomial Distribution (Contd.) … …

Multinomial Distribution 20

Property of Binomial and Multinomial Distr. 21

Parallel Multinomial Distribution 22 …

Parallel Multinomial Distribution 23 P0P0 P1P1 P3P3 P2P2

Parallel Multinomial Distribution 24 P0P0 P1P1 P3P3 P2P2

25 Parallel Multinomial Distribution

Parallel Edge Switching Set of Edges Serial Chunk of Edges Parallel

Parallel Edge Switching 27

Parallel Edge Switching 28

Parallel Edge Switching 29

Parallel Edge Switching 30

Parallel Edge Switching 31

Parallel Edge Switching 32

Parallel Edge Switching 33

Parallel Edge Switching 34

Parallel Edge Switching Dataset 35

Performance – Speedup of 85 using 1024 processors – Can switch more than 115B edge switches on a Pref. Attachment graph with 10B edges in less than 3 hours 36 Parallel Edge Switching

Step-size tradeoff 37 Parallel Edge Switching Increased error rate for larger step-size Better speedup for larger step-size

Network Properties Change – Avg. Clustering coefficient and avg. shortest path (approx.) changes similarly for both the sequential and parallel processes 38 Parallel Edge Switching Avg. Clustering coefficient change Avg. shortest path distance change

Future Work – Estimating number of networks for a given degree sequence – Does the parallel algorithm traverses all possible graphs for a given degree sequence? If yes, what is the bounding time? – Assortative edge switch 39 Parallel Edge Switching

40 Thank you!

Questions and Comments 41

Parallel Edge Switching Goal – Avoid parallel edge creation instead of resolving them – Maintain the efficiency of parallelization – Maintain the same distribution of the number of switches across the set of edges as the distribution of the serial algorithm – Make sure that one edge is involved in at most one edge switch operation at the same time 42

Parallel Multinomial Distribution 43 P0P0 P1P1 P p-1 …

Parallel Multinomial Distribution 44 P0P0 P1P1 P p-1 …

Multinomial Distribution q0q0 q1q1 q2q2 q p-1 … X 0 = 0X 1 = 0X 2 = 1 X p-1 = 0

Multinomial Distribution q0q0 q1q1 q2q2 q p-1 … X 0 = 0X 1 = 0X 2 = 1 X p-1 = 0

Parallel Edge Switching 47 Before switch

Picking Edges Uniformly at Random 48 Set of Edges Partition of Edges E0E0 E1E1 E2E2 E p-1 Serial Parallel

Parallel Multinomial Distribution Pseudocode: 49

Constraints of Edge Switch The output remains simple graph after switching – No Loop – No Parallel Edge Avoid useless edge switch – Such switch does not make any change to the network 50 u1 u2 v1 v2 u1=u2 v1 v2

Original and Modified Edge Original Edge: – An edge that has not participated in any edge switch – Remains unchanged Modified Edge: – Any edge participating in any edge-switch is replaced by a new edge – Such a new edge is called modified edge 51