  Large-scale distributed graph-parallel computing is challenging. On one hand,
due to the irregular computation pattern and lack of locality, it is hard to
express parallelism efficiently. On the other hand, due to the scale-free
nature, real-world graphs are hard to partition in balance with low cut. To
address these challenges, several graph-parallel frameworks including Pregel
and GraphLab (PowerGraph) have been developed recently. In this paper, we
present an alternative framework, Graph Runtime Engine (GRE). While retaining
the vertex-centric programming model, GRE proposes two new abstractions: 1) a
Scatter-Combine computation model based on active message to exploit massive
fined-grained edge-level parallelism, and 2) a Agent-Graph data model based on
vertex factorization to partition and represent directed graphs. GRE is
implemented on commercial off-the-shelf multi-core cluster. We experimentally
evaluate GRE with three benchmark programs (PageRank, Single Source Shortest
Path and Connected Components) on real-world and synthetic graphs of millions
billion of vertices. Compared to PowerGraph, GRE shows 2.5~17 times better
performance on 8~16 machines (192 cores). Specifically, the PageRank in GRE is
the fastest when comparing to counterparts of other frameworks (PowerGraph,
Spark,Twister) reported in public literatures. Besides, GRE significantly
optimizes memory usage so that it can process a large graph of 1 billion
vertices and 17 billion edges on our cluster with totally 768GB memory, while
PowerGraph can only process less than half of this graph scale.
