jasperzhong / read-papers-and-code

My paper/code reading notes in Chinese
44 stars 3 forks source link

HPEC '12 | STINGER: High Performance Data Structure for Streaming Graphs #297

Closed jasperzhong closed 2 years ago

jasperzhong commented 2 years ago

http://lovesgoodfood.com/jason/CV/material/hpec12-stinger.pdf

HPEC到底是个什么会议. 咋这么多相关paper都发这上面,但是CCF上找不到?

jasperzhong commented 2 years ago

STINGER (Spatio-Temporal Interaction Networks and Graphs Extensible Representation).

简单来讲就是Blocked adjacency list. 每个vertex有一个自己的linked list of edge blocks. vertex和edge带type的(可能是为了heterogeneous graph). 每个edge表示为(neighbor vertex ID, type, weight, two timestamps). 每个block里面的edges都是相同的edge type. 所以他们还会有一个edge type array (ETA)作为一个二级索引,指向所有给定type的edge blocks.

他们一开始是edge by edge更新,这样很慢. 后面就开始batch processing edge updates,根据vertex进行group.

有个概念scale-free graph. 意思是在网络中的大部分节点只和很少节点连接,而有极少的节点与非常多的节点连接. 就是符合power-law那种分布.

但对于scale-free graph,少数vertices会有很多updates,而大多数都几乎没有update. 所以他们就不做grouping,直接并行处理. 这样有可能遇到多个线程同时对同一个vertex的edge list进行更新的情况,所以他们使用了fine-grained synchronization来实现同步. 这个做法和 #291 如出一辙.

实验,scalability还行. image