Oracle Labs Graph Analytics Research Hassan Chafi Sr
Oracle Labs Graph Analytics Research Hassan Chafi Sr. Research Manager Oracle Labs Graph-TA 2/21/2014
§ The following is intended to provide some insight into a line of research in Oracle Labs. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in connection with any Oracle product or service remains at the sole discretion of Oracle. Any views expressed in this presentation are my own and do not necessarily reflect the views of Oracle. 2 Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. Confidential – Oracle Restricted
Green-Marl A DSL for Graph Analysis § Green-Marl – A DSL for graph algorithms – started as Stanford Project (2011) § Approach – User program graph algorithms in an intuitive way (productivity) – The compiler creates an efficient implantation (performance) – For multiple different environments (portability) 3 Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. Confidential – Oracle Restricted
Technical Challenges for Graph Processing Different Challenges for Different Concerns User Flexibility How to specify graph algorithms? How to visualize data and results? Execution How to run algorithms fast? How to handle very large graphs? Data Management Which graph data model to use? How to persist the graph data? Raw Data 4 Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. Confidential – Oracle Restricted How to specify pattern-matching queries? How to find patterns efficiently? How to construct the graph representation?
Competitive Landscape Oracle already has expertise in this area But, the product group (OSG) is trying to enter these sectors as well Flexibility Execution Hadoop/Giraph ` Data Management + Other PG DBs. . HDFS Property Graph Database v. Recent camp of so-called graph databases v. Adopt property graph data model v. Major focus on data management 5 Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. (Distributed) Analytic Engines v. Engines (only) built for execution of graph algorithms v. May consider distributed execution for very large graphs v. Programming can be challenging Confidential – Oracle Restricted RDF + Other RDF DBs. . RDF Database (Pattern Matching) v. RDF: more traditional, standardized graph data model v. One big focus on patternmatching applications
Our Approach § We provide powerful graph analytic engines that are integrated with existing or developing Oracle technologies Pattern-Matching QL for PG DSL that generates programs. Flexibility for both environments Execution Data Management Distributed Graph Analysis In-Memory Graph Analysis PG BDA Property Graph Database Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. Big Graph Analysis Distributed graph analytic engine for Oracle PG In-memory graph analytic engine for Oracle PG 6 GMQL Green-Marl DSL + Compiler Confidential – Oracle Restricted In-Memory Pattern Matching RDF In memory patternmatching accelerator RDF Database (Pattern Matching)
Major Milestones Achieved So Far CY 2011 (3 Q) Green-Marl DSL CY 2012 Spec & Initial Compiler Started as University Project In-Memory Graph Analytic Engine (PG) Distributed Graph Analytic (BDA) In-Memory Pattern Matching (RDF) 7 Showed: we can compile into very different environments CY 2013 Compiler for multiple back-ends Parallel C++ Runtime (Standalone) Showed: our inmemory analysis runs 10~100 x faster than a popular PG Database (Neo 4 J) Showed: Giraph has critical, innate performance and compatibility issues Handles: multiple client, snapshot consistency, sharing instances … An Open-Source Distributed Engine (Giraph) Showed: we can exploit network BW very efficiently Can we apply the same parallel, inmemory approach to pattern matching? Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. Enables: 30+ Builtin Algorithms for the analytic engine Language Extension Algorithms Implementation Compilation to Java Compiler Optimization Integration with Oracle PG Database Tech-Transfer Planned (OSG) In-Memory Engine Design Basic Feature Implementation Tech-Transfer Discussion ((BDA) Design Exploration Basic Feature Implementation (On-going) Algorithm Exploration Initial Implementation Tech-Transfer Discussion (OSG/RDF) Confidential – Oracle Restricted Will be a part of Oracle Property Graph Option *First target is to use the inmemory engine Showed: x 200 faster than SQLbased solutions
Algorithm Implementation Detecting Components and Communities Ranking and Walking Tarjan’s, Kosaraju’s, Weakly Connected Components, Label Propagation (w/ variants), Soman and Narang’s Evaluating Community Structures ∑ ∑ Link Prediction 8 Pagerank, Personalized Pagerank, Betwenness Centrality (w/ variants), Closeness Centrality, Degree Centrality, Eigenvector Centrality, HITS, Random walking and sampling (w/ variants) Path-Finding Hop-Distance (BFS) Dijkstra’s, Bi-directional Dijkstra’s Bellman-Ford’s Conductance, Modularity Clustering Coefficient (Triangle Counting) Adamic-Adar SALSA (Twitter’s Who-to-follow) Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. Confidential – Oracle Restricted Other Classics Vertex Cover Minimum Spanning-Tree(Prim’s)
Algorithm: Triangle Counting Experimental Results Our implementation running on two different architectures (1 machine) Ours (x 86) Graph. Lab’s implementation running on 31 machines Ours (SPARC, T 4 -4) Hadoop implementation running on 1000+ machines Graph. Lab (x 86 x 31) Hadoop(x 86 x 1000+) Execution Time (secs) 100000 10000 Hadoop takes a lot of execution time Our single machine implementation outperforms other distributed systems 1000 SPARC provides additional performance benefits 100 10 1 0. 1 Patents Live. Journal Wikipedia Twitter-2010 UK-2006 Graph Instances Hadoop numbers are excerpted from WWW’ 11 paper *preprocessing time included 9 Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. Confidential – Oracle Restricted
Subgraph Isomorphism Problem Data Graph G Query Graph Q X A B Z Z Y B C B Y C Z Y Z X B B Y Z B A X Z C Y Z Z A A C X B Z Z B X Subgraphs of G that are isomorphic to Q 10 Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. Confidential – Oracle Restricted
Experimental Results: Comparison against DB LUBM 8 K and 25 K on x 86 and Sparc LUBM 8 K on x 86 GMX LUBM 25 K on x 86 SQL GMX 100 x 100 221 x 1000 206 x 174 x 219 x 100 Time (s) 10 1 q 2 q 6 q 9 q 14 1 0. 01 0. 1 q 2 LUBM 8 K on SPARC GMX SQL 100 92 x 162 x 80 x 103 x Time (s) 10 1 q 6 0. 1 0. 01 11 Copyright © 2013 -2014, Oracle and/or its affiliates. All rights reserved. Confidential – Oracle Restricted 266 x 139 x 309 x 10 0. 1 q 2 SQL q 9 q 14 q 6 q 9 q 14
- Slides: 11