The Oracle Labs PGX project [1] aims at developing high-performance graph analytic and query processing solutions for billion-edge-scale graphs. PGX comes in two flavors [2]: A single-machine (PGX.SM) and a distributed (PGX.D), both in-memory, engines.
In this presentation, I will focus on PGX.D [3, 4], which can process graphs much larger than the memory capacity of single multi-cores. PGX.D achieves great performance by leveraging fast network interconnects and modern multi-cores using various techniques (e.g., graph partitioning, partial replication, message batching). I will also describe the different needs between graph analytics and queries and show how PGX.D achieves good scalability on both.
[1]http://www.oracle.com/technetwork/oracle-labs/parallel-graph-analytix/overview/index.html
[2] Using domain-specific languages for analytic graph databases. VLDB'16.
[3] PGX.D: A fast distributed graph processing engine. SC'15.
[4] PGX.D/Async: A scalable distributed graph pattern matching engine.
GRADES'17.