• No results found

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
40
0
0

Loading.... (view fulltext now)

Full text

(1)

Parallel Algorithms for Small-world Network Analysis and Partitioning (SNAP)a ys s a d a t t o g (S )

(2)

Overview

• Informatics networks, small-world topology

C

it Id

tifi

ti

/G

h

titi

i

• Community Identification/Graph partitioning

• The

modularity

measure for community

t

t

d t

ti

structure detection

• SNAP

: An open-source, parallel graph

f

k f

l

t

l

i

f l

framework for exploratory analysis of

large-scale networks

P

ll l C

it Id

tifi

ti

• Parallel Community Identification

(3)

Power Distribution Networks Internet backbone Social Networks

Large scale graph problems arise from a variety of sources

(4)

Small-world Networks

• Graph abstractions and algorithms are extensively used to analyze massive social technological and biological to analyze massive social, technological and biological datasets

Social networks Computational Biology

Community identification, Security and surveillance,

Systems biology, disease modeling,

(5)

Interaction Networks

• Analysis of massive small-world interaction

networks poses new computational challenges networks poses new computational challenges

Novel approaches Spectral techniques Data stream algorithms Classical graph algorithms Dynamic graph algorithms Complex Network Analysis & Empirical studies Large-scale Information Network Analysis Empirical studies Many-core Stream Realistic modeling Affordable exascale y

(6)

Community Structure

• Implicit communities in

large-scale networks are of interest in many cases

– WWW

Social networks – Social networks – Citation networks

• Community structure detection

i ll f l t d h

is usually formulated as a graph clustering problem

• Properties of communities mayProperties of communities may be different from properties of the entire network

(7)

Clustering/Partitioning/Min Cut

PROBLEM Clustering MinCut Graph Partitioning PROBLEM Clustering MinCut Graph Partitioning

Objective Minimize an

appropriate measure

Minimize cut size

Minimize cut size measure

Balance of partition

Sizes may differ Sizes may differ

Equal sizes

Cardinality of To be computed To be Input parameter

Cardinality of partition

To be computed To be computed

(8)

Community Identification/Graph partitioning

• Graph partitioning is a related problem, but not identical to community identification

identical to community identification

• Objective function in graph partitioning: minimize the edge cut while trying to balance the number the edge cut, while trying to balance the number of vertices in each partition

– Metrics: coverage, conductance, performanceMetrics: coverage, conductance, performance

• Objective function in clustering: informally,

identify/extract “dense” sub-graphsy g p

(9)

Related Work: Partitioning Algorithms from Scientific Computing

from Scientific Computing

• Theoretical and empirical evidence suggests that existing techniques from scientific computing perform poorly on

ll ld t k

small-world networks

• Low diameter and heavy-tailed degree distribution pose a challenge

• [Mihail, Papadimitriou ’02] Spectral properties of power-law graphs are skewed in favor of high-degree vertices • [Lang ’04] On using spectral techniques, “Cut quality

i i l i h b l ” i i l h Y h !

varies inversely with cut balance” in social graphs: Yahoo! IM graph, DBLP collaborations

• [Abou-Rjeili, Karypis ’06] Multilevel partitioning heuristics

i l d t f ll ld t k

give large edge-cut for small-world networks, new coarsening schemes necessary

(10)

Modularity

• [Newman, Girvan ’03] Measure based on optimizing inter-cluster density over intra-cluster sparsity.y p y

• : partition of V such that and ; : no. of intra-cluster edges

1 ( ,..., k ) C = C C Ci ≠ φ i j CC = φ m C( i ) 2 d e g ( ) ( ) ( ) 2 i v C i i v m C Q C m m ∈ ⎡ ⎤ ⎢ ⎥ = ⎥ ⎝ ⎠ ⎢ ⎥ ⎣ ⎦ ∑ ∑

• If a particular clustering has no more intra-cluster edges than would be expected by random chance, we have

V l t th 0 3 i di t it t t i 0 Q = ⎝ ⎠ ⎢ ⎥ ⎣ ⎦

• Values greater than 0.3 indicate community structure in a network

(11)

Modularity-maximizing community identification algorithms Algorithm Clustering Approach Algorithmic Technique Complexity Newman, Girvan ’03

global, divisive greedy,

centrality-based

O(n3)

Clauset et al. global, greedy O(nlog2n)

’04 agglomerative

Duch, Arenas ’05

global, divisive extremal optimization

O(n2log2n) Djidjev ’06 global, divisive greedy,

multi-level

partitioning

O(n2)

Newman ’06 global, divisive spectral O(n2log n) Brandes ’07 agglomerative greedy O(n2log n)

(12)

Community Identification

• Known algorithms are compute-intensive:

O(n

2

) and in some cases O(n

3

)

O(n

2

), and in some cases O(n

3

)

• Current approaches do not exploit the

small world network topology

small-world network topology

• How beneficial is preprocessing?

C

d

i

f

t

h

i ti

?

• Can we design faster heuristics?

SNAP: A parallel graph framework for

small-world networks

(13)

SNAP

• An open-source parallel graph framework for analyzing small-world interaction networks

small world interaction networks

• Parallel algorithms optimized for shared memory manycore, SMP and multithreaded systems

Compact graphp g p Optimized representation p graph kernels Network Analysis Techniques Interaction data

(14)

SNAP Framework

• We have designed fast parallel algorithms and efficient implementations for several graph theoretic problemsp g p p

– Graph representation

– Graph kernels: List ranking, Connected Components [ICPP05], Spanning tree [JPDC06], MST [IPDPS04], Graph traversal p g [ ] [ ] p

[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]

W i h i l i i SNAP i h

• We integrate these implementations into SNAP, with optimizations for small-world networks

(15)

Small-world network optimizations

• Graph representation

space efficient layout – space-efficient layout

– different representation for high-degree vertices

• Graph traversal: a level-synchronous approach is p y pp

suited for low diameter graphs

• Work is assigned to processors with the

b l d d di t ib ti i i d

unbalanced degree distribution in mind

• We try to minimize synchronization overhead in our parallel approaches

our parallel approaches

(16)

Parallel Performance: BFS and Shortest Paths 400 40 Delta-stepping (DS) BFS (se co n d s) 300 e edup 30 DS Speedup x e cution time ( 100 200 Rel a ti v e S p e 10 20 1 2 4 8 16 32 40 E 0 0 No. of processors 1 2 4 8 16 32 40

synthetic scale-free network of 228vertices and 230 edges

Parallel performance results on The Cray MTA 2 (1 40 processors) 228 vertices and 230 edges The Cray MTA-2 (1-40 processors)

(17)

Modularity-maximizing community identification algorithms Algorithm Clustering Approach Algorithmic Technique Complexity N Gi ’ l b l di i i d t lit b d O( )

Newman, Girvan ’03 global, divisive greedy, centrality-based O(n3)

Clauset et al. ’04 global, agglomerative greedy O(nlog2n)

Duch, Arenas ’05 global, divisive extremal optimization O(n2log2n)

Djidjev ’06j j global, divisiveg , greedy, multi-level partitioningg y, p g O(n( )2)

Newman ’06 global, divisive spectral O(n2log n)

Brandes ’07 agglomerative greedy O(n2log n)

pBD global, divisive greedy, centrality-based O(n3) pMA global, agglomerative greedy O(nlog2n) pLA local, l ti Greedy, clustering ffi i t b d O(nlog n) agglomerative coefficient-based

(18)

Greedy Divisive Clustering Approach: Illustration

(19)

Greedy Divisive Clustering Approach: Illustration

(20)

Greedy Divisive Clustering Approach: Illustration

(21)

Greedy Divisive Clustering Approach: Illustration

(22)

Greedy Divisive Clustering Approach: Illustration

Iteratively remove potential inter-community edges - How do we identify these edges?

(23)

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

(24)

Betweenness Centrality (BC)

• Key metric in social network analysis

[Freeman ’77 Goh ’02 Newman ’03 Brandes ’03] [Freeman 77, Goh 02, Newman 03, Brandes 03]

( )

st

( )

e

BC e

( )

σ

( )

s t V st

BC e

σ

≠ ∈

=

• -- No. of shortest paths between vertices s and t

• -- No. of shortest paths between vertices s and t

passing through edge e

) (v

st

σσ st

passing through edge e

(25)

Centrality analysis: previous work

• Design and implementation of parallel algorithms

for evaluating Betweenness and other Centrality 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

t SNA k !

current SNA packages!

We analyze BC scores for several large scale

• We analyze BC scores for several large-scale

real datasets: patent citation networks,

(26)

Parallel Performance: Betweenness Centrality 800 1000 IBM p5 570 Cray MTA-2 m e (minut es) 600 800 Ex ec ution ti m 200 400 2 4 8 16 20 32 40 0 200 No. of processors

IMDB movie-actor interaction network: 392K vertices

Parallel performance results on the Cray MTA 2 and IBM p5 570 network: 392K vertices the Cray MTA-2 and IBM p5 570

(27)

Approximate Betweenness-based Divisive Algorithm (pBD)

m Iterations:

1. Calculate betweenness scores of all the edges in the graph in ll l

approximate

parallel

2. Find the edge with the highest score and remove it from the network

3 Extract connected components of the graph 3. Extract connected components of the graph

3. Compute modularity of resulting clustering in parallel

• Note: Betweenness scores are recalculated in everyNote: Betweenness scores are recalculated in every iteration

• We need to only determine the edge with the highest betweenness in each iteration

betweenness in each iteration

Preprocessing routines: biconnected components, strongly connected components, sparsification

(28)

Approximating Betweenness Centrality

[Bader Kintali Madduri Mihail ’07] [Bader, Kintali, Madduri, Mihail 07]

• Novel approximation algorithm for determining

the betweenness of a specific vertex or edgep g in a

graph

Adaptive in the number of samples (graph

traversals) the work done varies with the

traversals) – the work done varies with the information obtained in each sample

• We prove high-probability bounds on the error

i h fi d b f l

with a fixed number of samples

• In practice, we observe that high-centrality entities can be estimated with less than 20% entities can be estimated with less than 20% error, by sampling just 5% of the vertices

(29)

Approximate Betweenness-based Divisive Algorithm (pBD)

• Identify highest centrality edge using the approximate betweenness algorithm

approximate betweenness algorithm

• Run fast auxiliary kernels (biconnected

components) to determine critical edges in graph components) to determine critical edges in graph • Once the graph is broken into a sizeable number

of components compute centrality score of each of components, compute centrality score of each component in parallel

(30)

Greedy Agglomerative Clustering Algorithm (pMA)

• Start with n singleton communities

• Iteratively merge the pair of communities that • Iteratively merge the pair of communities that

result in the greatest increase in modularity

– Maintain a priority queue of possible community p y q p y merges

• Update overall modularity score after merge

• At each iteration, the community-pair costs are

computed in parallel The community modularity

computed in parallel. The community modularity

(31)

Greedy Local Aggregation Algorithm (pLA)

• Previous approaches to maximizing modularity rely on global heuristics (an vertex/edge-ranking rely on global heuristics (an vertex/edge-ranking

criterion) on every iteration

• pLAp : we order vertices only once, and then use a y ,

local heuristic (clustering coefficient) for forming communities

St t f d l h ti i th h

• Start from randomly chosen vertices in the graph, inspect their neighborhoods, and iteratively build clusters

c uste s

• Discard community if edge cut is above a threshold

(32)

Modularity comparison with other

approaches

(33)

Experimental Study

• Experiments run on the Sun Fire T2000 (8-cores, 4 threads per core UltraSparc T1 processor)

4 threads per core, UltraSparc T1 processor) • Large-scale networks used:

(34)

pBD Performance (Sun Fire T2000)

1000 20 Execution time m inutes) 800 e dup 15 Execution time Relative Speedup tion time ( m 400 600 e lative S p e e 10 Ex ecu 0 200 R e 0 5 Number of threads 1 2 4 8 12 16 24 32 0 0 RMAT SF 400K ertices RMAT-SF: 400K vertices
(35)

pMA and pLA Performance (Sun Fire T2000) pMA pLA o nds) 300 350 400 p 15 20 Execution time Relative Speedup o nds ) 800 1000 p 15 20 Execution time Relative Speedup u

tion time (sec

o 150 200 250 elati v e Spee du 10 u tion time (s ec o 400 600 R el ati v e Speed u 10 1 2 4 8 12 16 24 32 Exec u 0 50 100 R 0 5 1 2 4 8 12 16 24 32 Exec u 0 200 R 0 5

Number of threads Number of threads

RMAT SF 400K ertices RMAT-SF: 400K vertices

(36)

pBD speedup relative to GN

(Parallel speedup on Sun Fire T2000)

(Parallel speedup on Sun Fire T2000)

e me nt 1000 Algorithm Engg. Parallelization Combined 343 301 a nce I m prov e 100 98 74 107 Pe rf o rm a 10 Small-world Network

PPI Citations DBLP NDwww Actor 1

(37)

pLA and pMA Parallel Speedup

on large-scale graph instances (Sun Fire T2000) on large scale graph instances (Sun Fire T2000)

12 14 16 pMA pLA e l Speedup 8 10 12 Pa ra lle 2 4 6 Small-world Network

PPI Citations DBLP NDwww Actor 0

2

(38)

Observations

• pBD is 10-30x faster than GN with very

littl l

i

lit

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

p

g p

p

gy

(39)

Conclusions

• We present three new parallel approaches

f

it id

tifi

ti

i

ll

ld

for community identification in small-world

networks

• SNAP: an open-source parallel framework

p

p

for large-scale network analysis

– http://www.cc.gatech.edu/~kamesh/SNAPp g

(40)

References

Related documents

Americas (Boston) 149 Portfolio Managers 353 Research Professionals FMR Co & Pyramis Pan Europe 69 Portfolio Managers 95 Research Professionals Pacific ex Japan 24

During a three-year study, three software applications have been developed aiming to create and influence the experience of collocated people in urban public places through

Evans also noted the use of a wide margin of appreciation in religion or belief cases (at 143) as an area of concern, Moreover, she noted that the Court and Commission had

Since any new charity setting up or apply for business rate relief in an area will come at a greater cost to the local authority as a result of the scheme, concerns have been

Additionally, I feel fortunate to have been able to work with young children and anticipate that these relationships will further prepare me in dealing with a wide range of

As shown in Table 4.25 above, even after adjusting for both student and school covariates, on average, Hong Kong’s girls from single-sex schools outperformed their counterparts

Schools should consider holding assemblies to train secondary students on bomb threat procedures as well as explosives incident procedures, and related evacuation plans. Due to