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.