  The paper provides a unified co-design of 1) a programming and execution
model that allows spawning tasks from within the vertex data at runtime, 2)
language constructs for \textit{actions} that send work to where the data
resides, combining parallel expressiveness of local control objects (LCOs) to
implement asynchronous graph processing primitives, 3) and an innovative
vertex-centric data-structure, using the concept of Rhizomes, that parallelizes
both the out and in-degree load of vertex objects across many cores and yet
provides a single programming abstraction to the vertex objects. The data
structure hierarchically parallelizes the out-degree load of vertices and the
in-degree load laterally. The rhizomes internally communicate and remain
consistent, using event-driven synchronization mechanisms, to provide a unified
and correct view of the vertex.
  Simulated experimental results show performance gains for BFS, SSSP, and Page
Rank on large chip sizes for the tested input graph datasets containing highly
skewed degree distribution. The improvements come from the ability to express
and create fine-grain dynamic computing task in the form of \textit{actions},
language constructs that aid the compiler to generate code that the runtime
system uses to optimally schedule tasks, and the data structure that shares
both in and out-degree compute workload among memory-processing elements.
