mining billion-node graphs: patterns, generators and toolschristos/talks/11-sandia/foils/... · 108...

146
CMU SCS Mining Billion-node Graphs: Patterns, Generators and Tools Christos Faloutsos CMU (on sabbatical at google)

Upload: others

Post on 28-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Mining Billion-node Graphs: Patterns, Generators and Tools

Christos Faloutsos CMU

(on sabbatical at google)

Page 2: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Thank you! •  Tamara Kolda

Sandia'11 C. Faloutsos (CMU + Google) 2

Page 3: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 3

Our goal:

Open source system for mining huge graphs:

PEGASUS project (PEta GrAph mining System)

•  www.cs.cmu.edu/~pegasus •  code and papers

Sandia'11

Page 4: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 4

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs •  Problem#2: Tools •  Problem#3: Scalability •  Conclusions

Sandia'11

Page 5: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 5

Graphs - why should we care?

Internet Map [lumeta.com]

Food Web [Martinez ’91]

Friendship Network [Moody ’01]

Sandia'11

•  Social networks •  (orkut, linkedIn …)

•  twitter

Page 6: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 6

Graphs - why should we care? •  IR: bi-partite graphs (doc-terms)

•  web: hyper-text graph

•  ... and more:

D1

DN

T1

TM

... ...

Sandia'11

Page 7: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 7

Graphs - why should we care? •  ‘viral’ marketing •  web-log (‘blog’) news propagation •  computer network security: email/IP traffic

and anomaly detection •  ....

Sandia'11

Page 8: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 8

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs

– Static graphs – Weighted graphs – Time evolving graphs

•  Problem#2: Tools •  Problem#3: Scalability •  Conclusions

Sandia'11

Page 9: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 9

Problem #1 - network and graph mining

•  What does the Internet look like? •  What does FaceBook look like?

•  What is ‘normal’/‘abnormal’? •  which patterns/laws hold?

Sandia'11

Page 10: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 10

Problem #1 - network and graph mining

•  What does the Internet look like? •  What does FaceBook look like?

•  What is ‘normal’/‘abnormal’? •  which patterns/laws hold?

–  To spot anomalies (rarities), we have to discover patterns

Sandia'11

Page 11: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 11

Problem #1 - network and graph mining

•  What does the Internet look like? •  What does FaceBook look like?

•  What is ‘normal’/‘abnormal’? •  which patterns/laws hold?

–  To spot anomalies (rarities), we have to discover patterns

–  Large datasets reveal patterns/anomalies that may be invisible otherwise…

Sandia'11

Page 12: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 12

Graph mining •  Are real graphs random?

Sandia'11

Page 13: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 13

Laws and patterns •  Are real graphs random? •  A: NO!!

– Diameter –  in- and out- degree distributions –  other (surprising) patterns

•  So, let’s look at the data

Sandia'11

Page 14: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 14

Solution# S.1 •  Power law in the degree distribution

[SIGCOMM99]

log(rank)

log(degree)

internet domains

att.com

ibm.com

Sandia'11

Page 15: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 15

Solution# S.1 •  Power law in the degree distribution

[SIGCOMM99]

log(rank)

log(degree)

-0.82

internet domains

att.com

ibm.com

Sandia'11

Page 16: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 16

Solution# S.2: Eigen Exponent E

•  A2: power law in the eigenvalues of the adjacency matrix

E = -0.48

Exponent = slope

Eigenvalue

Rank of decreasing eigenvalue

May 2001

Sandia'11

Page 17: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 17

Solution# S.2: Eigen Exponent E

•  [Mihail, Papadimitriou ’02]: slope is ½ of rank exponent

E = -0.48

Exponent = slope

Eigenvalue

Rank of decreasing eigenvalue

May 2001

Sandia'11

Page 18: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 18

But: How about graphs from other domains?

Sandia'11

Page 19: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 19

More power laws: •  web hit counts [w/ A. Montgomery]

Web Site Traffic

in-degree (log scale)

Count (log scale)

Zipf

users sites

``ebay’’

Sandia'11

Page 20: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 20

epinions.com •  who-trusts-whom

[Richardson + Domingos, KDD 2001]

(out) degree

count

trusts-2000-people user

Sandia'11

Page 21: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

And numerous more •  # of sexual contacts •  Income [Pareto] –’80-20 distribution’ •  Duration of downloads [Bestavros+] •  Duration of UNIX jobs (‘mice and

elephants’) •  Size of files of a user •  … •  ‘Black swans’ Sandia'11 C. Faloutsos (CMU + Google) 21

Page 22: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 22

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs

– Static graphs •  degree, diameter, eigen, •  triangles •  cliques

– Weighted graphs – Time evolving graphs

•  Problem#2: Tools Sandia'11

Page 23: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 23

Solution# S.3: Triangle ‘Laws’

•  Real social networks have a lot of triangles

Sandia'11

Page 24: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 24

Solution# S.3: Triangle ‘Laws’

•  Real social networks have a lot of triangles –  Friends of friends are friends

•  Any patterns?

Sandia'11

Page 25: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 25

Triangle Law: #S.3 [Tsourakakis ICDM 2008]

ASN HEP-TH

Epinions X-axis: # of participating triangles Y: count (~ pdf)

Sandia'11

Page 26: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 26

Triangle Law: #S.3 [Tsourakakis ICDM 2008]

ASN HEP-TH

Epinions

Sandia'11

X-axis: # of participating triangles Y: count (~ pdf)

Page 27: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 27

Triangle Law: #S.4 [Tsourakakis ICDM 2008]

SN Reuters

Epinions X-axis: degree Y-axis: mean # triangles n friends -> ~n1.6 triangles

Sandia'11

Page 28: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 28

Triangle Law: Computations [Tsourakakis ICDM 2008]

But: triangles are expensive to compute (3-way join; several approx. algos)

Q: Can we do that quickly?

details

Sandia'11

Page 29: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 29

Triangle Law: Computations [Tsourakakis ICDM 2008]

But: triangles are expensive to compute (3-way join; several approx. algos)

Q: Can we do that quickly? A: Yes!

#triangles = 1/6 Sum ( λi3 )

(and, because of skewness (S2) , we only need the top few eigenvalues!

details

Sandia'11

Page 30: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 30

Triangle Law: Computations [Tsourakakis ICDM 2008]

1000x+ speed-up, >90% accuracy

details

Sandia'11

Page 31: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Triangle counting for large graphs?

Anomalous nodes in Twitter(~ 3 billion edges) [U Kang, Brendan Meeder, +, PAKDD’11]

WSDM'11 C. Faloutsos (CMU) 31 Sandia'11 31 C. Faloutsos (CMU + Google)

Page 32: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Triangle counting for large graphs?

Anomalous nodes in Twitter(~ 3 billion edges) [U Kang, Brendan Meeder, +, PAKDD’11]

WSDM'11 C. Faloutsos (CMU) 32 Sandia'11 32 C. Faloutsos (CMU + Google)

Page 33: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes B. Aditya Prakash, Mukund Seshadri, Ashwin

Sridharan, Sridhar Machiraju and Christos Faloutsos: EigenSpokes: Surprising Patterns and Scalable Community Chipping in Large Graphs, PAKDD 2010, Hyderabad, India, 21-24 June 2010.

C. Faloutsos (CMU + Google) 33 Sandia'11

Page 34: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes • Eigenvectors of adjacency matrix

  equivalent to singular vectors (symmetric, undirected graph)

34 C. Faloutsos (CMU + Google) Sandia'11

Page 35: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes • Eigenvectors of adjacency matrix

  equivalent to singular vectors (symmetric, undirected graph)

35 C. Faloutsos (CMU + Google) Sandia'11

N

N

details

Page 36: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes • Eigenvectors of adjacency matrix

  equivalent to singular vectors (symmetric, undirected graph)

36 C. Faloutsos (CMU + Google) Sandia'11

N

N

details

Page 37: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes • Eigenvectors of adjacency matrix

  equivalent to singular vectors (symmetric, undirected graph)

37 C. Faloutsos (CMU + Google) Sandia'11

N

N

details

Page 38: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes • Eigenvectors of adjacency matrix

  equivalent to singular vectors (symmetric, undirected graph)

38 C. Faloutsos (CMU + Google) Sandia'11

N

N

details

Page 39: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes •  EE plot: •  Scatter plot of

scores of u1 vs u2 •  One would expect

– Many points @ origin

– A few scattered ~randomly

C. Faloutsos (CMU + Google) 39

u1

u2

Sandia'11

1st Principal component

2nd Principal component

Page 40: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes •  EE plot: •  Scatter plot of

scores of u1 vs u2 •  One would expect

– Many points @ origin

– A few scattered ~randomly

C. Faloutsos (CMU + Google) 40

u1

u2 90o

Sandia'11

Page 41: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes - pervasiveness • Present in mobile social graph

 across time and space

• Patent citation graph

41 C. Faloutsos (CMU + Google) Sandia'11

Page 42: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes - explanation

Near-cliques, or near-bipartite-cores, loosely connected

42 C. Faloutsos (CMU + Google) Sandia'11

Page 43: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes - explanation

Near-cliques, or near-bipartite-cores, loosely connected

43 C. Faloutsos (CMU + Google) Sandia'11

Page 44: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes - explanation

Near-cliques, or near-bipartite-cores, loosely connected

44 C. Faloutsos (CMU + Google) Sandia'11

Page 45: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

EigenSpokes - explanation

Near-cliques, or near-bipartite-cores, loosely connected

So what?  Extract nodes with high

scores   high connectivity  Good “communities”

spy plot of top 20 nodes

45 C. Faloutsos (CMU + Google) Sandia'11

Page 46: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Bipartite Communities!

magnified bipartite community

patents from same inventor(s)

`cut-and-paste’ bibliography!

46 C. Faloutsos (CMU + Google) Sandia'11

Page 47: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 47

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs

– Static graphs •  degree, diameter, eigen, •  triangles •  cliques

– Weighted graphs – Time evolving graphs

•  Problem#2: Tools Sandia'11

Page 48: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 48

Observations on weighted graphs?

•  A: yes - even more ‘laws’!

M. McGlohon, L. Akoglu, and C. Faloutsos Weighted Graphs and Disconnected Components: Patterns and a Generator. SIG-KDD 2008

Sandia'11

Page 49: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 49

Observation W.1: Fortification Q: How do the weights of nodes relate to degree?

Sandia'11

Page 50: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 50

Observation W.1: Fortification

More donors, more $ ?

$10

$5

Sandia'11

‘Reagan’

‘Clinton’ $7

Page 51: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Edges (# donors)

In-weights ($)

C. Faloutsos (CMU + Google) 51

Observation W.1: fortification: Snapshot Power Law

•  Weight: super-linear on in-degree •  exponent ‘iw’: 1.01 < iw < 1.26

Orgs-Candidates

e.g. John Kerry, $10M received, from 1K donors

More donors, even more $

$10

$5

Sandia'11

Page 52: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 52

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs

– Static graphs – Weighted graphs – Time evolving graphs

•  Problem#2: Tools •  …

Sandia'11

Page 53: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 53

Problem: Time evolution •  with Jure Leskovec (CMU ->

Stanford)

•  and Jon Kleinberg (Cornell – sabb. @ CMU)

Sandia'11

Page 54: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 54

T.1 Evolution of the Diameter •  Prior work on Power Law graphs hints

at slowly growing diameter: –  diameter ~ O(log N) –  diameter ~ O(log log N)

•  What is happening in real data?

Sandia'11

Page 55: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 55

T.1 Evolution of the Diameter •  Prior work on Power Law graphs hints

at slowly growing diameter: –  diameter ~ O(log N) –  diameter ~ O(log log N)

•  What is happening in real data? •  Diameter shrinks over time

Sandia'11

Page 56: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 56

T.1 Diameter – “Patents”

•  Patent citation network

•  25 years of data •  @1999

–  2.9 M nodes –  16.5 M edges

time [years]

diameter

Sandia'11

Page 57: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 57

T.2 Temporal Evolution of the Graphs

•  N(t) … nodes at time t •  E(t) … edges at time t •  Suppose that

N(t+1) = 2 * N(t) •  Q: what is your guess for

E(t+1) =? 2 * E(t)

Sandia'11

Page 58: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 58

T.2 Temporal Evolution of the Graphs

•  N(t) … nodes at time t •  E(t) … edges at time t •  Suppose that

N(t+1) = 2 * N(t) •  Q: what is your guess for

E(t+1) =? 2 * E(t) •  A: over-doubled!

– But obeying the ``Densification Power Law’’ Sandia'11

Page 59: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 59

T.2 Densification – Patent Citations

•  Citations among patents granted

•  @1999 –  2.9 M nodes –  16.5 M edges

•  Each year is a datapoint

N(t)

E(t)

1.66

Sandia'11

Page 60: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 60

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs

– Static graphs – Weighted graphs – Time evolving graphs

•  Problem#2: Tools •  …

Sandia'11

Page 61: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 61

More on Time-evolving graphs

M. McGlohon, L. Akoglu, and C. Faloutsos Weighted Graphs and Disconnected Components: Patterns and a Generator. SIG-KDD 2008

Sandia'11

Page 62: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 62

Observation T.3: NLCC behavior Q: How do NLCC’s emerge and join with

the GCC?

(``NLCC’’ = non-largest conn. components) – Do they continue to grow in size? –  or do they shrink? –  or stabilize?

Sandia'11

Page 63: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 63

Observation T.3: NLCC behavior Q: How do NLCC’s emerge and join with

the GCC?

(``NLCC’’ = non-largest conn. components) – Do they continue to grow in size? –  or do they shrink? –  or stabilize?

Sandia'11

Page 64: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 64

Observation T.3: NLCC behavior Q: How do NLCC’s emerge and join with

the GCC?

(``NLCC’’ = non-largest conn. components) – Do they continue to grow in size? –  or do they shrink? –  or stabilize?

Sandia'11

YES YES

YES

Page 65: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 65

Observation T.3: NLCC behavior •  After the gelling point, the GCC takes off, but

NLCC’s remain ~constant (actually, oscillate).

IMDB

CC size

Time-stamp Sandia'11

Page 66: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 66

Timing for Blogs

•  with Mary McGlohon (CMU->Google) •  Jure Leskovec (CMU->Stanford) •  Natalie Glance (now at Google) •  Mat Hurst (now at MSR) [SDM’07]

Sandia'11

Page 67: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 67

T.4 : popularity over time

Post popularity drops-off – exponentially?

lag: days after post

# in links

1 2 3

@t

@t + lag

Sandia'11

Page 68: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 68

T.4 : popularity over time

Post popularity drops-off – exponentially? POWER LAW! Exponent?

# in links (log)

days after post (log)

Sandia'11

Page 69: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 69

T.4 : popularity over time

Post popularity drops-off – exponentially? POWER LAW! Exponent? -1.6 •  close to -1.5: Barabasi’s stack model •  and like the zero-crossings of a random walk

# in links (log) -1.6

days after post (log)

Sandia'11

Page 70: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Sandia'11 C. Faloutsos (CMU + Google) 70

-1.5 slope J. G. Oliveira & A.-L. Barabási Human Dynamics: The

Correspondence Patterns of Darwin and Einstein. Nature 437, 1251 (2005) . [PDF]

Page 71: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

T.5: duration of phonecalls Surprising Patterns for the Call

Duration Distribution of Mobile Phone Users

Pedro O. S. Vaz de Melo, Leman Akoglu, Christos Faloutsos, Antonio A. F. Loureiro

PKDD 2010 Sandia'11 C. Faloutsos (CMU + Google) 71

Page 72: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Probably, power law (?)

Sandia'11 C. Faloutsos (CMU + Google) 72

??

Page 73: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

No Power Law!

Sandia'11 C. Faloutsos (CMU + Google) 73

Page 74: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

‘TLaC: Lazy Contractor’ •  The longer a task (phonecall) has taken, •  The even longer it will take

Sandia'11 C. Faloutsos (CMU + Google) 74

Odds ratio=

Casualties(<x): Survivors(>=x)

== power law

Page 75: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

75

Data Description

  Data from a private mobile operator of a large city   4 months of data   3.1 million users   more than 1 billion phone records

  Over 96% of ‘talkative’ users obeyed a TLAC distribution (‘talkative’: >30 calls)

Sandia'11 C. Faloutsos (CMU + Google)

Page 76: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 76

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs •  Problem#2: Tools

– OddBall (anomaly detection) – Belief Propagation –  Immunization

•  Problem#3: Scalability •  Conclusions

Sandia'11

Page 77: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

OddBall: Spotting Anomalies in Weighted Graphs

Leman Akoglu, Mary McGlohon, Christos Faloutsos

Carnegie Mellon University School of Computer Science

PAKDD 2010, Hyderabad, India

Page 78: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Main idea For each node, •  extract ‘ego-net’ (=1-step-away neighbors) •  Extract features (#edges, total weight, etc

etc) •  Compare with the rest of the population

C. Faloutsos (CMU + Google) 78 Sandia'11

Page 79: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS What is an egonet?

ego

79

egonet

C. Faloutsos (CMU + Google) Sandia'11

Page 80: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Selected Features   Ni: number of neighbors (degree) of ego i   Ei: number of edges in egonet i   Wi: total weight of egonet i   λw,i: principal eigenvalue of the weighted

adjacency matrix of egonet I

80 C. Faloutsos (CMU + Google) Sandia'11

Page 81: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS Near-Clique/Star

81 Sandia'11 C. Faloutsos (CMU + Google)

Page 82: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS Near-Clique/Star

82 C. Faloutsos (CMU + Google) Sandia'11

Page 83: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS Near-Clique/Star

83 C. Faloutsos (CMU + Google) Sandia'11

Page 84: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Andrew Lewis (director)

Near-Clique/Star

84 C. Faloutsos (CMU + Google) Sandia'11

Page 85: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 85

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs •  Problem#2: Tools

– OddBall (anomaly detection) – Belief Propagation –  Immunization

•  Problem#3: Scalability •  Conclusions

Sandia'11

Page 86: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Fraud detection •  Problem: Given network and noisy domain

knowledge about weakly-suspicious nodes (flags), which nodes are most risky?

Cash  Accounts  Payable  

Inventory  

Bad  Debt  

Non-­‐Trade  A/R  

Accounts  Receivable  

Revenue  1  

Revenue  2  

86

Revenue  3  

Revenue  4  

Revenue  5  Sandia'11 C. Faloutsos (CMU + Google)

Page 87: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Fraud detection •  Flags: eg, too many round numbers, etc

Cash  Accounts  Payable  

Inventory  

Bad  Debt  

Non-­‐Trade  A/R  

Accounts  Receivable  

Revenue  1  

Revenue  2  

87

Revenue  3  

Revenue  4  

Revenue  5  Sandia'11 C. Faloutsos (CMU + Google)

Page 88: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Solution: Belief Propagation

88

•  Solution: Social Network Analytic Risk Evaluation – Assume homophily between nodes (“guilt

by association”) – Use belief propagation (message passing) – Upon convergence, determine end risk

scores.

[SNARE: McGlohon+, KDD’09] Sandia'11 C. Faloutsos (CMU + Google)

Page 89: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Fraud detection •  Problem: Given network and noisy domain

knowledge about suspicious nodes (flags), which nodes are most risky?

Cash  Accounts  Payable  

Inventory  

Bad  Debt  

Non-­‐Trade  A/R  

Accounts  Receivable  

Revenue  1  

Revenue  2  

89

Revenue  3  

Revenue  4  

Revenue  5  Sandia'11 C. Faloutsos (CMU + Google)

Page 90: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Fraud detection •  Problem: Given network and noisy domain

knowledge about suspicious nodes (flags), which nodes are most risky?

Cash  Accounts  Payable  

Inventory  

Bad  Debt  

Non-­‐Trade  A/R  

Accounts  Receivable  

Revenue  1  

Revenue  2  

90

Revenue  3  

Revenue  4  

Revenue  5  Sandia'11 C. Faloutsos (CMU + Google)

Page 91: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

BP and ‘SNARE’

91

•  Accurate – significant improvement over base •  Flexible - Can be applied to other domains •  Scalable - Linear time •  Robust - Works on large range of parameters

False positive rate

True positive

rate

Results for accounts data (ROC Curve)

SNARE

Baseline (flags only)

Sandia'11 C. Faloutsos (CMU + Google)

Page 92: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

How to do B.P. on large graphs? A: [U Kang, Polo Chau, +, ICDE’11], to appear

Sandia'11 C. Faloutsos (CMU + Google) 92

Page 93: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Polo  Chau  Machine  Learning  Dept  

Carey  Nachenberg  Vice  President  &  Fellow  

Jeffrey  Wilhelm  Principal  SoKware  Engineer  

Adam  Wright  SoKware  Engineer  

Prof.  Christos  Faloutsos  Computer  Science  Dept  

Polonium:  Tera-­‐Scale  Graph  Mining  and  Inference  for  Malware  DetecPon  SDM 2011, Mesa, Arizona

Page 94: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

The  Data  60+  terabytes  of  data  anonymously  contributed  by  parPcipants  of  worldwide  Norton  Community  Watch  program    

50+  million  machines  

900+  million  executable  files  

Constructed  a  machine-­‐file  biparPte  graph  (0.2  TB+)  

1  billion  nodes  (machines  and  files)  

37  billion  edges  

Sandia'11 94 C. Faloutsos (CMU + Google)

Page 95: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

One-­‐IteraCon  Results  for  files  reported  by  four  or  more  machines  

%  of  malware    correctly  idenPfied  

%  of  non-­‐malware  wrongly  labeled  as  malware  

84.9%  True  PosiPve  Rate  1%  False  PosiPve  Rate  

True Positive Rate

False Positive Rate Sandia'11 95 C. Faloutsos (CMU + Google)

Page 96: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 96

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs •  Problem#2: Tools

– OddBall (anomaly detection) – Belief propagation –  Immunization

•  Problem#3: Scalability -PEGASUS •  Conclusions

Sandia'11

Page 97: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS Immunization and epidemic

thresholds •  Q1: which nodes to immunize? •  Q2: will a virus vanish, or will it create an

epidemic?

Sandia'11 C. Faloutsos (CMU + Google) 97

Page 98: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Q1: Immunization: • Given

• a network, • k vaccines, and • the virus details

• Which nodes to immunize?

Sandia'11 98 C. Faloutsos (CMU + Google)

Page 99: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Q1: Immunization: • Given

• a network, • k vaccines, and • the virus details

• Which nodes to immunize?

Sandia'11 99 C. Faloutsos (CMU + Google)

Page 100: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Q1: Immunization: • Given

• a network, • k vaccines, and • the virus details

• Which nodes to immunize?

Sandia'11 100 C. Faloutsos (CMU + Google)

Page 101: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Q1: Immunization: • Given

• a network, • k vaccines, and • the virus details

• Which nodes to immunize?

A: immunize the ones that maximally raise the `epidemic threshold’ [Tong+, ICDM’10]

Sandia'11 101 C. Faloutsos (CMU + Google)

Page 102: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Q2: will a virus take over? •  Flu-like virus (no immunity, ‘SIS’) •  Mumps (life-time immunity, ‘SIR’) •  Pertussis (finite-length immunity, ‘SIRS’)

Sandia'11 C. Faloutsos (CMU + Google) 102

β: attack prob δ: heal prob

Page 103: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Q2: will a virus take over? •  Flu-like virus (no immunity, ‘SIS’) •  Mumps (life-time immunity, ‘SIR’) •  Pertussis (finite-length immunity, ‘SIRS’)

Sandia'11 C. Faloutsos (CMU + Google) 103

β: attack prob δ: heal prob

Α: depends on connectivity (avg degree? Max degree? variance? Something else?

Page 104: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Q2: will a virus take over? •  Flu-like virus (no immunity, ‘SIS’) •  Mumps (life-time immunity, ‘SIR’) •  Pertussis (finite-length immunity, ‘SIRS’)

Sandia'11 C. Faloutsos (CMU + Google) 104

β: attack prob δ: heal prob

Α: depends on connectivity: ONLY on first eigenvalue

Page 105: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

A2: will a virus take over? •  For all typical virus propagation models (flu,

mumps, pertussis, HIV, etc) •  The only connectivity measure that matters, is

1/λ1 the first eigenvalue of the adj. matrix [Prakash+, arxiv]

Sandia'11 C. Faloutsos (CMU + Google) 105

Page 106: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

A2: will a virus take over?

Sandia'11 C. Faloutsos (CMU + Google) 106

Fraction of infected

Time ticks

Below: exp. extinction

Above: take-over

Graph: Portland, OR 31M links 1.5M nodes

Page 107: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 107

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs •  Problem#2: Tools

– OddBall (anomaly detection) – Belief propagation –  Immunization

•  Problem#3: Scalability -PEGASUS •  Conclusions

Sandia'11

Page 108: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Sandia'11 C. Faloutsos (CMU + Google) 108

Scalability •  Google: > 450,000 processors in clusters of ~2000

processors each [Barroso, Dean, Hölzle, “Web Search for a Planet: The Google Cluster Architecture” IEEE Micro 2003]

•  Yahoo: 5Pb of data [Fayyad, KDD’07] •  Problem: machine failures, on a daily basis •  How to parallelize data mining tasks, then? •  A: map/reduce – hadoop (open-source clone)

http://hadoop.apache.org/

Page 109: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 109

Centralized Hadoop/PEGASUS

Degree Distr. old old

Pagerank old old

Diameter/ANF old HERE

Conn. Comp old HERE

Triangles done Visualization started

Outline – Algorithms & results

Sandia'11

Page 110: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

HADI for diameter estimation •  Radius Plots for Mining Tera-byte Scale

Graphs U Kang, Charalampos Tsourakakis, Ana Paula Appel, Christos Faloutsos, Jure Leskovec, SDM’10

•  Naively: diameter needs O(N**2) space and up to O(N**3) time – prohibitive (N~1B)

•  Our HADI: linear on E (~10B) – Near-linear scalability wrt # machines – Several optimizations -> 5x faster

C. Faloutsos (CMU + Google) 110 Sandia'11

Page 111: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

????

19+ [Barabasi+]

111 C. Faloutsos (CMU + Google)

Radius

Count

Sandia'11

~1999, ~1M nodes

Page 112: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

YahooWeb graph (120Gb, 1.4B nodes, 6.6 B edges) •  Largest publicly available graph ever studied.

????

19+ [Barabasi+]

112 C. Faloutsos (CMU + Google)

Radius

Count

Sandia'11

??

~1999, ~1M nodes

Page 113: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

YahooWeb graph (120Gb, 1.4B nodes, 6.6 B edges) •  Largest publicly available graph ever studied.

????

19+? [Barabasi+]

113 C. Faloutsos (CMU + Google)

Radius

Count

Sandia'11

14 (dir.) ~7 (undir.)

Page 114: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

YahooWeb graph (120Gb, 1.4B nodes, 6.6 B edges) • 7 degrees of separation (!) • Diameter: shrunk

????

19+? [Barabasi+]

114 C. Faloutsos (CMU + Google)

Radius

Count

Sandia'11

14 (dir.) ~7 (undir.)

Page 115: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

YahooWeb graph (120Gb, 1.4B nodes, 6.6 B edges) Q: Shape?

????

115 C. Faloutsos (CMU + Google)

Radius

Count

Sandia'11

~7 (undir.)

Page 116: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

116 C. Faloutsos (CMU + Google)

YahooWeb graph (120Gb, 1.4B nodes, 6.6 B edges) •  effective diameter: surprisingly small. •  Multi-modality (?!)

Sandia'11

Page 117: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Radius Plot of GCC of YahooWeb.

117 C. Faloutsos (CMU + Google) Sandia'11

Page 118: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

118 C. Faloutsos (CMU + Google)

YahooWeb graph (120Gb, 1.4B nodes, 6.6 B edges) •  effective diameter: surprisingly small. •  Multi-modality: probably mixture of cores .

Sandia'11

Page 119: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

119 C. Faloutsos (CMU + Google)

YahooWeb graph (120Gb, 1.4B nodes, 6.6 B edges) •  effective diameter: surprisingly small. •  Multi-modality: probably mixture of cores .

Sandia'11

EN

~7

Conjecture: DE

BR

Page 120: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

120 C. Faloutsos (CMU + Google)

YahooWeb graph (120Gb, 1.4B nodes, 6.6 B edges) •  effective diameter: surprisingly small. •  Multi-modality: probably mixture of cores .

Sandia'11

~7

Conjecture:

Page 121: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Running time - Kronecker and Erdos-Renyi Graphs with billions edges.

details

Page 122: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 122

Centralized Hadoop/PEGASUS

Degree Distr. old old

Pagerank old old

Diameter/ANF old HERE

Conn. Comp old HERE

Triangles done

Visualization started

Outline – Algorithms & results

Sandia'11

Page 123: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS Generalized Iterated Matrix

Vector Multiplication (GIMV)

C. Faloutsos (CMU + Google) 123

PEGASUS: A Peta-Scale Graph Mining System - Implementation and Observations. U Kang, Charalampos E. Tsourakakis, and Christos Faloutsos. (ICDM) 2009, Miami, Florida, USA. Best Application Paper (runner-up).

Sandia'11

Page 124: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS Generalized Iterated Matrix

Vector Multiplication (GIMV)

C. Faloutsos (CMU + Google) 124

•  PageRank •  proximity (RWR) •  Diameter •  Connected components •  (eigenvectors, •  Belief Prop. •  … )

Matrix – vector Multiplication

(iterated)

Sandia'11

details

Page 125: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

125

Example: GIM-V At Work •  Connected Components – 4 observations:

Size

Count

C. Faloutsos (CMU + Google) Sandia'11

Page 126: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

126

Example: GIM-V At Work •  Connected Components

Size

Count

C. Faloutsos (CMU + Google) Sandia'11

1) 10K x larger than next

Page 127: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

127

Example: GIM-V At Work •  Connected Components

Size

Count

C. Faloutsos (CMU + Google) Sandia'11

2) ~0.7B singleton nodes

Page 128: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

128

Example: GIM-V At Work •  Connected Components

Size

Count

C. Faloutsos (CMU + Google) Sandia'11

3) SLOPE!

Page 129: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

129

Example: GIM-V At Work •  Connected Components

Size

Count 300-size

cmpt X 500. Why? 1100-size cmpt

X 65. Why?

C. Faloutsos (CMU + Google) Sandia'11

4) Spikes!

Page 130: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

130

Example: GIM-V At Work •  Connected Components

Size

Count

suspicious financial-advice sites

(not existing now)

C. Faloutsos (CMU + Google) Sandia'11

Page 131: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

131

GIM-V At Work •  Connected Components over Time •  LinkedIn: 7.5M nodes and 58M edges

Stable tail slope after the gelling point

C. Faloutsos (CMU + Google) Sandia'11

Page 132: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 132

Outline

•  Introduction – Motivation •  Problem#1: Patterns in graphs •  Problem#2: Tools •  Problem#3: Scalability •  Conclusions

Sandia'11

Page 133: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 133

OVERALL CONCLUSIONS – low level:

•  Several new patterns (fortification, triangle-laws, conn. components, etc)

•  New tools: –  anomaly detection (OddBall), belief

propagation, immunization

•  Scalability: PEGASUS / hadoop

Sandia'11

Page 134: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 134

OVERALL CONCLUSIONS – high level

•  Large datasets reveal patterns/outliers that are invisible otherwise

•  Terrific opportunities – Large datasets, easily(*) available PLUS

–  s/w and h/w developments

Sandia'11

Page 135: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 135

References •  Leman Akoglu, Christos Faloutsos: RTG: A Recursive

Realistic Graph Generator Using Random Typing. ECML/PKDD (1) 2009: 13-28

•  Deepayan Chakrabarti, Christos Faloutsos: Graph mining: Laws, generators, and algorithms. ACM Comput. Surv. 38(1): (2006)

Sandia'11

Page 136: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 136

References •  Deepayan Chakrabarti, Yang Wang, Chenxi Wang,

Jure Leskovec, Christos Faloutsos: Epidemic thresholds in real networks. ACM Trans. Inf. Syst. Secur. 10(4): (2008)

•  Deepayan Chakrabarti, Jure Leskovec, Christos Faloutsos, Samuel Madden, Carlos Guestrin, Michalis Faloutsos: Information Survival Threshold in Sensor and P2P Networks. INFOCOM 2007: 1316-1324

Sandia'11

Page 137: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 137

References •  Christos Faloutsos, Tamara G. Kolda, Jimeng Sun:

Mining large graphs and streams using matrix and tensor tools. Tutorial, SIGMOD Conference 2007: 1174

Sandia'11

Page 138: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 138

References •  T. G. Kolda and J. Sun. Scalable Tensor

Decompositions for Multi-aspect Data Mining. In: ICDM 2008, pp. 363-372, December 2008.

Sandia'11

Page 139: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 139

References •  Jure Leskovec, Jon Kleinberg and Christos Faloutsos

Graphs over Time: Densification Laws, Shrinking Diameters and Possible Explanations, KDD 2005 (Best Research paper award).

•  Jure Leskovec, Deepayan Chakrabarti, Jon M. Kleinberg, Christos Faloutsos: Realistic, Mathematically Tractable Graph Generation and Evolution, Using Kronecker Multiplication. PKDD 2005: 133-145

Sandia'11

Page 140: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 140

References •  Jimeng Sun, Yinglian Xie, Hui Zhang, Christos

Faloutsos. Less is More: Compact Matrix Decomposition for Large Sparse Graphs, SDM, Minneapolis, Minnesota, Apr 2007.

•  Jimeng Sun, Spiros Papadimitriou, Philip S. Yu, and Christos Faloutsos, GraphScope: Parameter-free Mining of Large Time-evolving Graphs ACM SIGKDD Conference, San Jose, CA, August 2007

Sandia'11

Page 141: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

References •  Jimeng Sun, Dacheng Tao, Christos

Faloutsos: Beyond streams and graphs: dynamic tensor analysis. KDD 2006: 374-383

Sandia'11 C. Faloutsos (CMU + Google) 141

Page 142: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 142

References •  Hanghang Tong, Christos Faloutsos, and

Jia-Yu Pan, Fast Random Walk with Restart and Its Applications, ICDM 2006, Hong Kong.

•  Hanghang Tong, Christos Faloutsos, Center-Piece Subgraphs: Problem Definition and Fast Solutions, KDD 2006, Philadelphia, PA

Sandia'11

Page 143: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 143

References •  Hanghang Tong, Christos Faloutsos, Brian

Gallagher, Tina Eliassi-Rad: Fast best-effort pattern matching in large attributed graphs. KDD 2007: 737-746

Sandia'11

Page 144: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

C. Faloutsos (CMU + Google) 144

Project info

Akoglu, Leman

Chau, Polo

Kang, U

McGlohon, Mary

Tong, Hanghang

Prakash, Aditya

Sandia'11

Thanks to: NSF IIS-0705359, IIS-0534205, CTA-INARC; Yahoo (M45), LLNL, IBM, SPRINT, Google, INTEL, HP, iLab

www.cs.cmu.edu/~pegasus

Page 145: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Extras

Sandia'11 C. Faloutsos (CMU + Google) 145

Page 146: Mining Billion-node Graphs: Patterns, Generators and Toolschristos/TALKS/11-Sandia/FOILS/... · 108 Scalability • Google: > 450,000 processors in clusters of ~2000 processors each

CMU SCS

Radius of Connected Component •  What are the patterns of radii in connected

components?

Chain-like disconnected components 146

Slope= 1.38

GCC looks like a ‘kite’

Core

Chain

Sandia'11 146 C. Faloutsos (CMU + Google)