shuai ma

45
Shuai Ma Big Graph Search: Challenges and Techniques

Upload: emele

Post on 22-Mar-2016

69 views

Category:

Documents


2 download

DESCRIPTION

Big Graph Search: Challenges and Techniques. Shuai Ma. Graphs are everywhere , and quite a few are huge graphs!. Application Scenarios. Software plagiarism detection [1]. Traditional plagiarism detection tools may not be applicable for serious software plagiarism problems. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Shuai  Ma

Shuai Ma

Big Graph Search: Challenges and Techniques

Page 2: Shuai  Ma

2

Graphs are everywhere, and quite a few are huge graphs!

Page 3: Shuai  Ma

Application Scenarios

3

• Traditional plagiarism detection tools may not be applicable for serious software plagiarism problems.

• A new tool based on graph pattern matching– Represent the source codes as program dependence

graphs [2]. – Use graph pattern matching to detect plagiarism.

Software plagiarism detection [1]

Page 4: Shuai  Ma

Application Scenarios

4

• Recommendations have found its usage in many emerging specific applications, such as social matching systems. • Graph search is a useful tool for recommendations.

Recommender systems [3]

– A headhunter wants to find a biologist (Bio) to help a group of software engineers (SEs) analyze genetic data.

– To do this, (s)he uses an expertise recommendation network G, as depicted in G, where a node denotes a person

labeled with expertise, and an edge indicates

recommendation, e.g., HR1 recommends Bio1, and AI1 recommends DM1

Page 5: Shuai  Ma

Application Scenarios

5

• Graph search is a common practice in transportation networks, due to the wide application of Location-Based Services.

• Example: Mark, a driver in the U.S. who wants to go from Irvine to Riverside in California. – If Mark wants to reach Riverside by his car in the shortest time,

the problem can be expressed as the shortest path problem. Then by using existing methods, we can get the shortest path from Irvine, CA to Riverside, CA traveling along State Route 261.

Transport routing [4]

– If Mark drives a truck delivering hazardous materials may not be allowed to cross over some bridges or railroad crossings. This time we can use a pattern graph containing specific route constraints (such as regular expressions) to find the optimal transport routes.

Page 6: Shuai  Ma

Application Scenarios

6

• A large amount of biological data can be represented by graphs, and it is significant to analyze biological data with graph search techniques.– “Protein-interaction network (PIN) analysis provides

valuable insight into an organism’s functional organization and evolutionary behavior.”

Biological data analysis [5]

– For example, one can get the topological properties of a PIN formed by high-confidence human protein interactions obtained from various public interaction databases by PIN analysis.

Page 7: Shuai  Ma

Outline

7

• What is graph search?• Graph search, why bother?• Challenges & related techniques• Summary

Page 8: Shuai  Ma

What is Graph Search?

Page 9: Shuai  Ma

What is Graph Search?

9

A unified definition [6] (in the name of graph matching):

Remarks:

• Given a pattern graph Gp and a data graph G: – check whether Gp ‘‘matches’’ G; and– identify all ‘‘matched’’ subgraphs.

– Two classes of queries: – Boolean queries (Yes or No)– Functional queries, which may use Boolean queries

as a subroutine– Graphs contain a set of nodes and a set of edges, typically

with labels– Pattern graphs are typically small (e.g., 10), but data graphs

are usually huge (e.g., 108)

Page 10: Shuai  Ma

What is Graph Search?

10

Different semantics of “match” implies different “types” of graph search, including, but not limited to, the following:

• Shortest paths/distances[4]

• Subgraph isomorphism[12]

• Graph homomorphism and its extensions[10]

• Graph simulation and its extensions[8,9]

• Graph keyword search[7]

• Neighborhood queries[11]

• …

Graph search is a very ‘‘ general’’ concept!

Page 11: Shuai  Ma

Graph Search, Why Bother?

Page 12: Shuai  Ma

The need for a Social Search Engine

12

• File systems - 1960’s : very simple search functionalities• Databases - mid 1960’s : SQL language• World Wide Web - 1990’s : keyword search engines• Social networks - late 1990’s:

File systems Databases World Wide Web

Graph search is a new paradigm for social computing!

Social Networks

Facebook launched “graph search” on 16th January, 2013

Assault on Google, Yelp, and LinkedIn with new graph search;Yelp was down more than 7%

Page 13: Shuai  Ma

Graph Search vs. RDBMS [13]

13

Query :Find the name of all of Alberto Pepe's friends.

Step 1: The person.name index -> the identifier of Alberto Pepe. [O(log2n)]

Step 2: The friend.person index -> k friend identifiers. [O(log2x) : x<<m]

Step 3: The k friend identifiers -> k friend names. [O(k log2n)]

Page 14: Shuai  Ma

Graph Search vs. RDBMS [13]

14

Step 1: The vertex.name index -> the vertex with the name Alberto Pepe. [O(log2n)]

Step 2: The vertex returned -> the k friend names. [O(k + x)]

Query :Find the name of all of Alberto Pepe's friends.

Page 15: Shuai  Ma

Social Search vs. Web Search

• key words only vs. Phrases 、 short sentences

• (Simple Web) pages vs. Entities

• Lifeless vs. Full of life• History vs. Future

International Conference on Application of Natural Language to Information Systems (NLDB) started from 1995

it’s interesting, and over the last 10 years, people have been trained on how to use search engines more effectively.Keywords & Search In 2013: Interview With A. Goodman & M. Wagner

Page 16: Shuai  Ma

Interesting Coincidence!

16

DB people started working on graphs at around the same time!

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 20120

5

10

15

20

25

30

35

40

SIGMOD + VLDB + ICDE

Social computing &

Web 2.0

Page 17: Shuai  Ma

Challenges

Page 18: Shuai  Ma

Social networks are “big data”

• Volume : 10 x 108 users, 2400 x 108 photos, 104 x 108 page visits• Velocity : 7.9 new users per second, over 60 thousands per day• Variety : text (weibo, blogs) , figures, videos, relationships

(topology)• Value : 1.5 x 108 dollars in 2007, 3 x 108 dollars in 2008, 6 ~ 7 x 108

dollars in 2009, 10 x 108 dollars in 2010. • Further, data are often dirty due to data missing and data uncertainty [18, 19]

Facebook:

Page 19: Shuai  Ma

Challenges

19

– The amount of data has reached hundred millions orders of magnitude.

– The data are updated all the time, and the updated amount of data daily reaches hundred thousands orders of magnitude.

– Same with traditional relational data, there exists data quality problems such as data uncertainty and data missing in the new applications.

Graph search with high efficiency, striking a balance between its performance and accuracy.

Consider the dynamic changes and timing characteristics of data.

Solve the data quality problems.

Page 20: Shuai  Ma

Query Techniques for Big Graph Search

R = Q(G)

Page 21: Shuai  Ma

Query Approximation

21

Key ideas : For a class Q of queries with a high computational complexity, find another class Q’ of queries that has a lower computational complexity with bounded quality loss for query answering.

approximationQ(D) Q’(D)

Challenge: balancing the expressive power and computational complexity!

Page 22: Shuai  Ma

Graph Pattern Matching [17]

22

• Given two directed graphs G1 (pattern graph) and G2 (data graph), – decide whether G1 “matches” G2 (Boolean queries);– identify “subgraphs” of G2 that match G1

• Matching Semantics – Traditional: Subgraph Isomorphism– Emerging applications: Graph Simulation and its

extensions, etc..

Subgraph Isomorphism

(NP-Complete)

approximation

Strong Simulation(O(n3))

Shuai Ma, Yang Cao, Wenfei Fan, Jinpeng Huai, and Tianyu Wo. Strong Simulation: Capturing Topology in Graph Pattern Matching. TODS 2014.Shuai Ma, Yang Cao, Wenfei Fan, Jinpeng Huai, and Tianyu Wo. Capturing Topology in Graph Pattern Matching. VLDB 2012.

Page 23: Shuai  Ma

Subgraph Isomorphism[12]

• Given Pattern graph Q, subgraph Gs of data graph G– Q matches Gs if there exists a bijective function f: VQ→ VGs such that

for each node u in Q, u and f(u) have the same label An edge (u, u‘) in Q if and only if (f(u), f(u')) is an edge in Gs

– Q matches G, via subgraph isomorphsim, if there is such a subraph Gs

• Goodness:

• Badness:

23

These hinder the usability in emerging applications, e.g., social networks

Keep exact structure topology between Q and Gs

May return exponential many matched subgraphsDecision problem is NP-complete

In certain scenarios, too restrictive to find matches

Page 24: Shuai  Ma

Graph Simulation [9, 21]

24

• Given pattern graph Q(Vq, Eq) and data graph G(V, E), a binary relation R ⊆ Vq × V is said to be a match if– (1) for each (u, v) ∈ R, u and v have the same label; and – (2) for each edge (u, u′) ∈ Eq, there exists an edge (v, v′)

in E such that (u′, v′) ∈ R. • Graph G matches pattern Q via graph simulation, if

there exists a total match relation M– for each u ∈ Vq, there exists v ∈ V such that (u, v) ∈ M.– Intuitively, simulation preserves the labels and the child

relationship of a graph pattern in its match. – Simulation was initially proposed for the analyses of

programs; and simulation and its extensions were recently introduced for social networks.

Subgraph isomorphism (NP-complete) vs. graph simulation (O(n2))!

Page 25: Shuai  Ma

Subgraph Isomorphism

25

Set up a team to develop a new software product

Graph simulation returns F3, F4 and F5;Subgraph isomorphism returns empty!

Subgraph isomorphism is too strict for emerging applications

Page 26: Shuai  Ma

Terrorist Collaboration Network

“Those who were trained to fly didn’t know the others. One group of people did not know the other group.” (Osama Bin Laden, 2001)

26

Page 27: Shuai  Ma

Strong Simulation[16,17]

• Subgraph isomorphism– Goodness

Keep (strong) structure topology– Badness

May return exponential number of matched subgraphs Decision problem: NP-complete In certain scenarios, too restrictive to find sensible matches

• Graph simulation– Goodness

Solvable in quadratic time – Badness

Lose structure topology (how much? open question) Only return a single matched subgraph

27

Balance between complexity and the capability to capturing topology!

Page 28: Shuai  Ma

Strong Simulation• Graph simulation loses graph structures

Disconnected

Tree

Long cycle

28

Page 29: Shuai  Ma

29

Strong Simulation

• Duality (dual simulation)– Both child and parent relationships– Simulation considers only child relationships

• Locality– Restricting matches within a ball – When social distance increases, the closeness of

relationships decreases and the relationships may become irrelevant

• The semantics of strong simulation is well defined– The results are unique

Strong simulation: bring duality and locality into graph simulation

Page 30: Shuai  Ma

30

Strong SimulationSubgraph

IsomorphismStrong

SimulationDual

SimulationGraph

Simulation

Topology preservation and bounded matches

Page 31: Shuai  Ma

Data Techniques for Big Graph Search

R = Q(G)

Page 32: Shuai  Ma

32

Distributed Processing

Q(D) Q(Di)

Q(D1)

Q(Dn)

Page 33: Shuai  Ma

33

• Real-life graphs are typically way too large:– Yahoo! web graph: 14 billion nodes– Facebook: over 1 billion users

• Real-life graphs are naturally distributed:– Google, Yahoo! and Facebook have large-scale data

centers

It is NOT practical to handle large graphs on single machines

Distributed graph processing is inevitable

Distributed Processing

Page 34: Shuai  Ma

34

Distributed Processing

• A cluster of identical machines (with one acted as coordinator);

• Each machine can directly send arbitrary number of messages to another one;

• All machines co-work with each other by local computations and message-passing.

34

Model of Computation [3]:

Complexity measures:

1. Visit times: the maximum visiting times of a machine (interactions)2. Makespan: the evaluation completion time (efficiency)3. Data shipment: the size of the total messages shipped among distinctmachines (network band consumption)

Shuai Ma, Yang Cao, Jinpeng Huai, and Tianyu Wo. Distributed Graph Pattern Matching. WWW 2012.

Page 35: Shuai  Ma

Incremental Evaluation

35

Q(D + Δ)

Q(D) + Q(Δ)incrementation

G. Ramalingam, Thomas W. Reps: A Categorized Bibliography on Incremental Computation. POPL 1993: 502-510Wenfei Fan, Jianzhong Li, Shuai Ma, Nan Tang, Yinghui Wu, and Yunpeng Wu. Graph Pattern Matching: From Intractable to Polynomial Time. VLDB 2010

known

Page 36: Shuai  Ma

Incremental Evaluation

36

• Converting the indexing system to an incremental system,

• Reduce the average document processing latency by a factor of 100

• Process the same number of documents per day, while reducing the average age of documents in Google search results by 50%.

It is a terrible waste to compute everything from scratch!

Google Percolator [20]:

Page 37: Shuai  Ma

Data Sampling

37

• Instead of dealing with the entire data graphs, it reduces the size of data graphs by sampling and allows a certain loss of precision.

• In the sampling process, ensure that the sampling data obtained can reflect the characteristics and information of the original data graphs as much as possible.Michael I. Jordan: Divide-and-conquer and statistical inference for big data. KDD 2012: 4

Wenfei Fan, Floris Geerts, Frank Neven: Making Queries Tractable on Big Data with Preprocessing. VLDB 2013Weiren Yu, Charu Aggarwal, Shuai Ma, and Haixun Wang. On Anomalous Hotspot Discovery in Graph Streams. ICDM 2013

Q(D) Q(Δ)sampling

Page 38: Shuai  Ma

Data Compression

38

• Query oriented compression generates smaller graphs from original graphs that preserve the information relevant to a class of queries.

• Specific compression methods are needed for a given class of queries, e.g., reachability and neighbor queries

Wenfei Fan, Jianzhong Li, Xin Wang, Yinghui Wu: Query preserving graph compression. SIGMOD, 2012

Q(D) Q(D’)compression

Page 39: Shuai  Ma

Data Partitioning

39

• Partition a data graph to relatively “small” graphs

• Hash function is a simple approach for random partitioning.

• There are well established tools, e.g. Metis.

Q(D) Q(D1) + … + Q(Dn)

partitioning

G. Karypis and V. Kumar. A fast and high quality multilevel scheme for partitioning irregular graphs. SISC, 20(1):359–392, 1998.

Page 40: Shuai  Ma

40

We have introduced graph search: a new paradigm for social computing

We have discussed the history and applications of graph search

We have also briefly discussed the challenges of graph search

We have presented some useful techniques towards solving the problems

Summary

A long way to go for big graph search!

Page 41: Shuai  Ma

Homepage: http://mashuai.buaa.edu.cn

Email: [email protected]

Address:   Room G1122, New Main Building,

Beihang University Beijing, China

Acknowledgements: Charu Aggarwal, Yang Cao, Wenfei Fan, Kaiyu Feng, Jinpeng Huai, Jia Li, Jianxin Li, Jianzhong Li, Xudong Liu, Nan Tang, Haixun Wang, Tianyu Wo, Yinghui Wu, Weiren Yu, …

Page 42: Shuai  Ma

References[1] Chao Liu, Chen Chen, Jiawei Han and Philip S. Yu, GPLAG: detection of

software plagiarism by program dependence graph analysis. KDD 2006.[2] J. Ferrante, K. J. Ottenstein, and J. D. Warren. The program dependence graph

and its use in optimization. ACM Trans. Program. Lang. Syst., 9(3):319–349, 1987.

[3] Shuai Ma, Yang Cao, Jinpeng Huai, and Tianyu Wo, Distributed Graph Pattern Matching, WWW 2012.

[4] Rice, M. and Tsotras, V.J., Graph indexing of road networks for shortest path queries with label restrictions, VLDB 2010.

[5] David A. Bader and Kamesh Madduri, A graph-theoretic analysis of the human protein-interaction network using multicore parallel algorithms. Parallel Computing 2008.

[6] Shuai Ma, Yang Cao, Tianyu Wo, and Jinpeng Huai, Social Networks and Graph Matching. Communications of CCF, 2012 (in Chinese).

[7] C. C. Aggarwal and H. Wang. Managing and Mining Graph Data. Springer, 2010.

[8] Wenfei Fan, Jianzhong Li, Shuai Ma, Nan Tang, and Yinghui Wu,  Adding Regular Expressions to Graph Reachability and Pattern Queries. ICDE 2011.

[9] Wenfei Fan, Jianzhong Li, Shuai Ma, Nan Tang, and Yinghui Wu, Graph Pattern Matching: From Intractable to Polynomial Time. VLDB 2010.

[10] Wenfei Fan, Jianzhong Li, Shuai Ma, Nan Tang, and Yinghui Wu, Graph Homomorphism Revisited for Graph Matching.  VLDB 2010.

42

Page 43: Shuai  Ma

References[11] Hossein Maserrat and Jian Pei, Neighbor query friendly compression of social

networks. KDD 2010.[12] Brian Gallaghe, Matching structure and semantics: A survey on graph-based

pattern matching. AAAI FS. 2006.[13] Marko A. Rodriguez, Peter Neubauer: The Graph Traversal Pattern. Graph

Data Management 2011: 29-46[14] S.Wasserman and K. Faust. Social Network Analysis: Methods and

Applications. Cambridge University Press, 1994.[15] Mehdi Kargar, Aijun An: Keyword Search in Graphs: Finding r-cliques. In VLDB

Conference, 2011.[16] Shuai Ma, Yang Cao, Wenfei Fan, Jinpeng Huai, and Tianyu Wo, Capturing

Topology in Graph Pattern Matching. VLDB 2012.[17] Wenfei Fan, Graph Pattern Matching Revised for Social Network Analysis.

ICDT 2012.[18] Eytan Adar and Christopher Re, Managing Uncertainty in Social Networks,

IEEE Data Eng. Bull., pp.15-22, 30(2), 2007.[19] Gueorgi Kossinets, Effects of missing data in social networks. Social

Networks 28:247-268, 2006.[20] Daniel Peng, Frank Dabek: Large-scale Incremental Processing Using

Distributed Transactions and Notifications. OSDI 2010.[21] Monika Rauch Henzinger, Thomas A. Henzinger, Peter W. Kopke: Computing

Simulations on Finite and Infinite Graphs. FOCS 1995: 43

Page 44: Shuai  Ma

Thanks!

Page 45: Shuai  Ma

Short Bio

45

• 2006~2010 University of Edinburgh, UK PhD• 2001~2004 Peking University, China PhD

• 2011~ Beihang University, China Full Professor• 2012 Microsoft Research, China Visiting Researcher • 2008 Bell Labs, USA Summer

Consultant• 2005~2010 University of Edinburgh, UK Research Fellow

Dr. Shuai Ma