  An efficient data structure is fundamental to meeting the growing demands in
dynamic graph processing. However, the dual requirements for graph computation
efficiency (with contiguous structures) and graph update efficiency (with
linked list-like structures) present a conflict in the design principles of
graph structures. After experimental studies of existing state-of-the-art
dynamic graph structures, we observe that the overhead of cache misses accounts
for a major portion of the graph computation time. This paper presents
GastCoCo, a system with graph storage and coroutine-based prefetch co-design.
By employing software prefetching via stackless coroutines and introducing a
prefetch-friendly data structure CBList, GastCoCo significantly alleviates the
performance degradation caused by cache misses. Our results show that GastCoCo
outperforms state-of-the-art graph storage systems by 1.3x - 180x in graph
updates and 1.4x - 41.1x in graph computation.
