Parallel Algorithms for Small-world Network. David A. Bader and Kamesh Madduri



Similar documents
SNAP, Small-world Network Analysis and Partitioning: an open-source parallel graph framework for the exploration of large-scale networks

A scalable multilevel algorithm for graph clustering and community structure detection

Compact Graph Representations and Parallel Connectivity Algorithms for Massive Dynamic Network Analysis

Graph Mining and Social Network Analysis

STINGER: High Performance Data Structure for Streaming Graphs

A Graph-Theoretic Analysis of the Human Protein-Interaction Network Using Multicore Parallel Algorithms

SWARM: A Parallel Programming Framework for Multicore Processors. David A. Bader, Varun N. Kanade and Kamesh Madduri

Big Graph Processing: Some Background

How To Cluster Of Complex Systems

Subgraph Patterns: Network Motifs and Graphlets. Pedro Ribeiro

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

Social Media Mining. Graph Essentials

Protein Protein Interaction Networks

Complex Networks Analysis: Clustering Methods

Efficient Crawling of Community Structures in Online Social Networks

Dynamic Network Analyzer Building a Framework for the Graph-theoretic Analysis of Dynamic Networks

Graphs over Time Densification Laws, Shrinking Diameters and Possible Explanations

Large-scale Graph Analysis

Distance Degree Sequences for Network Analysis

Green-Marl: A DSL for Easy and Efficient Graph Analysis

Hadoop SNS. renren.com. Saturday, December 3, 11

Mining Large Datasets: Case of Mining Graph Data in the Cloud

Mizan: A System for Dynamic Load Balancing in Large-scale Graph Processing

USING SPECTRAL RADIUS RATIO FOR NODE DEGREE TO ANALYZE THE EVOLUTION OF SCALE- FREE NETWORKS AND SMALL-WORLD NETWORKS

A Performance Evaluation of Open Source Graph Databases. Robert McColl David Ediger Jason Poovey Dan Campbell David A. Bader

Data Mining. Cluster Analysis: Advanced Concepts and Algorithms

Mining Social Network Graphs

Performance Evaluations of Graph Database using CUDA and OpenMP Compatible Libraries

Big Data Analytics of Multi-Relationship Online Social Network Based on Multi-Subnet Composited Complex Network

Graph Analytics in Big Data. John Feo Pacific Northwest National Laboratory

Cluster detection algorithm in neural networks

Data Mining Cluster Analysis: Advanced Concepts and Algorithms. Lecture Notes for Chapter 9. Introduction to Data Mining

Accelerating In-Memory Graph Database traversal using GPGPUS

A comparative study of social network analysis tools

Algorithms for representing network centrality, groups and density and clustered graph representation

Introduction to Networks and Business Intelligence

Fast Iterative Graph Computation with Resource Aware Graph Parallel Abstraction

Graph Processing and Social Networks

! E6893 Big Data Analytics Lecture 10:! Linked Big Data Graph Computing (II)

Algorithmic Methods for Complex Network Analysis: Graph Clustering

graph analysis beyond linear algebra

Data Mining Cluster Analysis: Advanced Concepts and Algorithms. Lecture Notes for Chapter 9. Introduction to Data Mining

Asking Hard Graph Questions. Paul Burkhardt. February 3, 2014

Systems and Algorithms for Big Data Analytics

SCAN: A Structural Clustering Algorithm for Networks

A discussion of Statistical Mechanics of Complex Networks P. Part I

Big Data Graph Algorithms

Big graphs for big data: parallel matching and clustering on billion-vertex graphs

Frog: Asynchronous Graph Processing on GPU with Hybrid Coloring Model

Part 2: Community Detection

Unsupervised Data Mining (Clustering)

Network Algorithms for Homeland Security

Cluster Analysis: Advanced Concepts

Temporal Dynamics of Scale-Free Networks

CIS 700: algorithms for Big Data

Graph Theory and Complex Networks: An Introduction. Chapter 06: Network analysis

DECENTRALIZED SCALE-FREE NETWORK CONSTRUCTION AND LOAD BALANCING IN MASSIVE MULTIUSER VIRTUAL ENVIRONMENTS

A Comparison of General Approaches to Multiprocessor Scheduling

Random graphs and complex networks

A FAST AND HIGH QUALITY MULTILEVEL SCHEME FOR PARTITIONING IRREGULAR GRAPHS

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Distributed Dynamic Load Balancing for Iterative-Stencil Applications

Efficient Parallel Graph Exploration on Multi-Core CPU and GPU

Evaluation of a New Method for Measuring the Internet Degree Distribution: Simulation Results

Small Maximal Independent Sets and Faster Exact Graph Coloring

Online Estimating the k Central Nodes of a Network

Data Placement and Replica Selection for Improving Co-location in Distributed Environments

Structural and functional analytics for community detection in large-scale complex networks

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Sanjeev Kumar. contribute

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Information Retrieval and Web Search Engines

Social Networks and Social Media

Open Source Software Developer and Project Networks

An Empirical Study of Two MIS Algorithms

General Network Analysis: Graph-theoretic. COMP572 Fall 2009

How To Find Local Affinity Patterns In Big Data

Cray: Enabling Real-Time Discovery in Big Data

Transcription:

Parallel Algorithms for Small-world Network Analysis ayssand Partitioning atto g(s (SNAP) David A. Bader and Kamesh Madduri

Overview Informatics networks, small-world topology Community Identification/Graph partitioning i The modularity measure for community structure t detection ti SNAP: An open-source, parallel graph framework for exploratory analysis of largescale networks Parallel l Community Identification Algorithms for large-scale networks 2

Power Distribution Networks Internet backbone Social Networks Large scale graph problems arise from a variety of sources Transportation Networks VLSI Design Computational Biology 3

Small-world Networks Graph abstractions and algorithms are extensively used to analyze massive social, technological and biological datasets Social networks Computational Biology Community identification, Security and surveillance, viral marketing. Systems biology, disease modeling, behavioral ecology. Images sources: visualcomplexity.com 4

Interaction Networks Analysis of massive small-world interaction networks poses new computational challenges Novel approaches Classical graph algorithms Data stream algorithms Spectral techniques Complex Network Analysis & Empirical studies Large-scale Information Network Analysis Dynamic graph algorithms Realistic modeling Many-core Stream Affordable exascale computing data storage Enabling technologies 5

Community Structure Implicit communities in largescale networks are of interest in many cases WWW Social networks Citation networks Community structure detection is usually formulated as a graph clustering problem Properties of communities may be different from properties of the entire network 6

Clustering/Partitioning/Min Cut PROBLEM Clustering MinCut Graph Partitioning Objective Balance of partition Minimize an appropriate measure Sizes may differ Minimize cut size Sizes may differ Minimize cut size Equal sizes Cardinality of To be computed To be Input parameter partition computed 7

Community Identification/Graph partitioning Graph partitioning is a related problem, but not identical to community identification Objective function in graph partitioning: minimize the edge cut, while trying to balance the number of vertices in each partition Metrics: coverage, conductance, performance Objective function in clustering: informally, identify/extract dense sub-graphs Metrics: intra-cluster vs. inter-cluster edges 8

Related Work: Partitioning Algorithms from Scientific Computing Theoretical and empirical evidence suggests that existing techniques from scientific computing perform poorly on small-world ld networks Low diameter and heavy-tailed degree distribution pose a challenge [Mihail, Papadimitriou 02] Spectral properties of powerlaw graphs are skewed in favor of high-degree vertices [Lang 04] On using spectral techniques, Cut quality varies inversely with cut balance in social graphs: Yahoo! IM graph, DBLP collaborations [Abou-Rjeili, Karypis 06] Multilevel partitioning heuristics give large edge-cut tfor small-world ld networks, new coarsening schemes necessary 9

Modularity [Newman, Girvan 03] Measure based on optimizing inter-cluster density over intra-cluster sparsity. C = ( C1,..., C k ) : partition of V such that Ci φ and C C = φ ; m ( C i ): no. of intra-cluster edges i j Q( C) m( Ci ) = i m v C i deg( v ) 2 m If a particular clustering has no more intra-cluster edges than would be expected by random chance, we have Q = 0 Values greater than 03i 0.3 indicate community structure t in a network [Brandes 07] Maximizing modularity is NP-complete 2 10

Modularity-maximizing community identification algorithms Algorithm Clustering Approach Algorithmic Technique Complexity Newman, Girvan 03 global, divisive greedy, centrality-based O(n 3 ) Clauset et al. global, greedy O(nlog 2 n) 04 agglomerative Duch, Arenas 05 global, divisive extremal optimization Djidjev 06 global, divisive greedy, multilevel partitioning O(n 2 log 2 n) O(n 2 ) Newman 06 global, divisive spectral O(n 2 log n) Brandes 07 agglomerative greedy O(n 2 log n) 11

Community Identification Known algorithms are compute-intensive: O(n 2 ), and in some cases O(n 3 ) Current approaches do not exploit the small-world network topology How beneficial is preprocessing? Can we design faster heuristics? SNAP: A parallel graph framework for smallworld networks 12

SNAP An open-source parallel graph framework for analyzing small-world interaction networks Parallel algorithms optimized for shared memory manycore, SMP and multithreaded systems Compact graph representation Optimized graph kernels Network Analysis Techniques Interaction data 13

SNAP Framework We have designed fast parallel algorithms and efficient implementations for several graph theoretic problems Graph representation Graph kernels: List ranking, Connected Components [ICPP05], Spanning tree [JPDC06], MST [IPDPS04], Graph traversal [ICPP06], Shortest paths [ALENEX07, MTAAP07] Algorithms: Centrality analysis [ICPP06], community identification [Madduri/Bader 07] Applications: Protein-interaction networks [HiCOMB06], social network analysis [Madduri/Bader 07] We integrate these implementations i into SNAP, with optimizations for small-world networks 14

Small-world network optimizations Graph representation space-efficient efficient layout different representation for high-degree vertices Graph traversal: a level-synchronous approach is suited for low diameter graphs Work is assigned to processors with the unbalanced degree distribution ib ti in mind We try to minimize synchronization overhead in our parallel approaches Attention to parallelization granularity 15

Parallel Performance: BFS and Shortest Paths 400 40 Delta-stepping (DS) BFS DS Speedup xecution time (seconds) E 300 200 100 30 20 10 Relative Spe eedup 0 0 1 2 4 8 16 32 40 No. of processors synthetic scale-free network of Parallel performance results on 2 28 vertices and 2 30 edges The Cray MTA-2 2(140 (1-40 processors) 16

Modularity-maximizing community identification algorithms Algorithm Clustering Approach Algorithmic Technique Newman, Girvan 03 global, lbldiii divisive greedy, centrality-based O(n 3 ) Complexity Clauset et al. 04 global, agglomerative greedy O(nlog 2 n) Duch, Arenas 05 global, divisive extremal optimization O(n 2 log 2 n) Djidjev j 06 global, divisive greedy, multi-level partitioning O(n 2 ) Newman 06 global, divisive spectral O(n 2 log n) Brandes 07 agglomerative greedy O(n 2 log n) pbd global, divisive greedy, centralitybased pma pla global, agglomerative local, agglomerative O(n 3 ) greedy O(nlog 2 n) Greedy, clustering coefficient-based i O(nlog n) 17

Greedy Divisive Clustering Approach: Illustration Iteratively remove potential inter-community edges 18

Greedy Divisive Clustering Approach: Illustration Iteratively remove potential inter-community edges 19

Greedy Divisive Clustering Approach: Illustration Iteratively remove potential inter-community edges 20

Greedy Divisive Clustering Approach: Illustration Iteratively remove potential inter-community edges 21

Greedy Divisive Clustering Approach: Illustration Iteratively remove potential inter-community edges - How do we identify these edges? 22

Greedy Divisive Clustering Approach: Illustration Iteratively remove potential inter-community edges - How do we identify these edges? Newman-Girvan 03 Compute edge betweenness scores to determine cut-edges Use the modularity metric to quantify community structure 23

Betweenness Centrality (BC) Key metric in social network analysis [Freeman 77, Goh 02, Newman 03, Brandes 03] BC e ( ) = s t V σ st σ e ( ) st σ -- No. of shortest paths between vertices s and t st (v) -- No. of shortest paths between vertices s and t passing through edge e σ st Exact BC is compute-intensive: O(mn) 24

Centrality analysis: previous work Design and implementation of parallel algorithms for evaluating Betweenness and other Centrality metrics, optimized for scale-free sparse graphs Capability to solve real-world instances more than three orders of magnitude larger than current tsna packages! We analyze BC scores for several large-scale real datasets: patent citation networks, movieactor, and protein-interaction networks 25

Parallel Performance: Betweenness Centrality 1000 IBM p5 570 Cray MTA-2 800 Execution tim me (minutes) 600 400 200 0 2 4 8 16 20 32 40 No. of processors IMDB movie-actor interaction network: 392K vertices and 31.7M edges Parallel performance results on the Cray MTA-2 and IBM p5 570 26

Approximate Betweenness-based Divisive Algorithm (pbd) m Iterations: approximate 1. Calculate betweenness scores of all the edges in the graph in parallel l 2. Find the edge with the highest score and remove it from the network 3. Extract connected components of the graph 3. Compute modularity of resulting clustering in parallel Note: Betweenness scores are recalculated in every iteration We need to only determine the edge with the highest betweenness in each iteration Preprocessing routines: biconnected components, strongly connected components, sparsification 27

Approximating Betweenness Centrality [Bader, Kintali, Madduri, Mihail 07] Novel approximation algorithm for determining the betweenness of a specific vertex or edge in a graph Adaptive in the number of samples (graph traversals) the work done varies with the information obtained in each sample We prove high-probability bounds on the error with iha fixed number of samples In practice, we observe that high-centrality entities can be estimated with less than 20% error, by sampling just 5% of the vertices 20X speedup over exact betweenness centrality 28

Approximate Betweenness-based Divisive Algorithm (pbd) Identify highest centrality edge using the approximate betweenness algorithm Run fast auxiliary kernels (biconnected components) to determine critical edges in graph Once the graph is broken into a sizeable number of components, compute centrality score of each component in parallel 29

Greedy Agglomerative Clustering Algorithm (pma) Start with n singleton communities Iteratively merge the pair of communities that result in the greatest increase in modularity Maintain a priority queue of possible community merges Update overall modularity score after merge At each iteration, the community-pair costs are computed in parallel. The community modularity update step is also parallelized. 30

Greedy Local Aggregation Algorithm (pla) Previous approaches to maximizing modularity rely on global heuristics (an vertex/edge-ranking criterion) on every iteration pla: we order vertices only once, and then use a local heuristic (clustering coefficient) for forming communities Start t from randomly chosen vertices in the graph, inspect their neighborhoods, and iteratively build clusters custes Discard community if edge cut is above a threshold 31

Modularity comparison with other approaches 32

Experimental Study Experiments run on the Sun Fire T2000 (8-cores, 4 threads per core, UltraSparc T1 processor) Large-scale networks used: 33

pbd Performance (Sun Fire T2000) tion time (m minutes) Execu 1000 20 Execution time Relative Speedup 800 15 600 10 400 5 200 Re elative Spee edup RMAT-SF: 400K vertices and 1.6M edges 0 0 1 2 4 8 12 16 24 32 Number of threads 34

pma and pla Performance (Sun Fire T2000) pma pla Execu ution time (seco onds) 400 350 300 250 200 150 100 50 Execution time Relative Speedup 20 15 10 5 R elative Speedu p Execu ution time (seco onds) 1000 800 600 400 200 Execution time Relative Speedup 20 15 10 5 Relative Speedu p 0 1 2 4 8 12 16 24 32 0 0 1 2 4 8 12 16 24 32 0 Number of threads Number of threads RMAT-SF: 400K vertices and 1.6M edges 35

pbd speedup relative to GN (Parallel speedup on Sun Fire T2000) Performa ance Improve ement 1000 100 10 98 74 107 Algorithm Engg. Parallelization Combined 343 301 1 PPI Citations DBLP NDwww Actor Small-world Network 36

pla and pma Parallel Speedup on large-scale graph instances (Sun Fire T2000) 16 14 pma pla 12 Paralle el Speedup 10 8 6 4 2 0 PPI Citations DBLP NDwww Actor Small-world Network 37

Observations pbd is 10-30x faster than GN with very little loss in quality Multithreaded implementations of all three algorithms scale well on the Sun Fire T2000 Speedup achieved from preprocessing kernels depends on the graph topology NDwww, Citations: significant improvement 38

Conclusions We present three new parallel approaches for community identification in small-world ld networks SNAP: an open-source parallel framework for large-scale network analysis http://www.cc.gatech.edu/~kamesh/snap http://www.graphanalysis.org 39

Acknowledgment of Support David A. Bader 40