Skip to content

Dynamic Graphs

Yogesh Simmhan edited this page Jul 28, 2016 · 8 revisions

Dynamic Graphs

Kineograph

  • Presented by Ravikant
  • Updates only to graph structure, not metadata/properties. Add/remove vertices/edges.
  • Ingest nodes convert input data into transactions, with a unique sequence no. assigned to the subset of transactions applied to a data node. Once a transaction is completed, a progress table maintains the latest seq no. that has been completed (including all prior transactions) for that ingest node.
  • Ordering of sequence nos across ingest is not considered.
  • Creation of snapshots commits a particular seq no for each ingest node at each data node.
  • Snapshots are taken periodically. Applications operate on the snapshots.
  • After creating a snapshot, each partition decides if each of its vertex was changed (a lot) or not, and based on that calls the compute method on that vertex.
  • Vertex centric algo, with both push (message passing) and pull (async).
  • Incremental execution of algo when each new snapshot is created.
  • Desiderata:
  • Topo update
  • Property update
  • Distributed update
  • Consistent temporal snapshots
  • Incremental algorithm
  • Additional Reading:
Clone this wiki locally