Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wolfram77/5e2e7349d062b9dfa1bbf0445c7c2e01 to your computer and use it in GitHub Desktop.
Save wolfram77/5e2e7349d062b9dfa1bbf0445c7c2e01 to your computer and use it in GitHub Desktop.
A Parallel Packed Memory Array to Store Dynamic Graphs : NOTES

Highlighted notes on:
A Parallel Packed Memory Array to Store Dynamic Graphs.
While doing research work with Prof. Kishore Kothapalli.

Here they provide proofs of a concurrently updateable data structure for dynamic graph (read this in FPGA paper).

It is an extension of CSR with free spaces in between so new edges can be added or removed. If there is no free space, edges can be redistributed within a tree-like hierarchy of blocks (leaves). If still no space, the size can be doubled. Looking up an edge still takes O(logN) like in CSR. They compare it to Aspen (dynamic graph streaming) and Ligra (static CSR) /Ligra+ (static compressed CSR) and find it to be close in performance to Ligra+ (Ligra slightly faster). Since PPCSR is not compressed and has free space, it occupies the most space. They use a (popcount based) lock order so that it is deadlock free.

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment