jasperzhong / read-papers-and-code

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

ATC '21 | GLIST: Towards In-Storage Graph Learning #350

Closed jasperzhong closed 1 year ago

jasperzhong commented 1 year ago

https://www.usenix.org/system/files/atc21-li-cangyuan.pdf

jasperzhong commented 1 year ago

考虑attributed graph,可惜还是同构图. 背景就是现实世界的图都是attribute graph,非常大,memory都放不下. 所以考虑把图完全放到SSD上,这个做法倒不新鲜,之前graph processing system比如GraphSSD的也这么去做了. 但是GLIST是第一个用于graph learning的. 这做的是inference任务. 下面这个图的例子不错.

image

先做了一个实验,如果图放SSD上,用GPU作训练,基本绝大多数时间都用来做SSD的I/O了. image

然后发现了两个observation

  1. 相邻的graph learning request之间有数据重用的机会 (主要说的是sampling可能有一些相近的nodes可能要采样的邻居也有很多重合,第二个是可能相邻的graph learning requests load相同的model parameters.)
  2. sample的时候存SSD的bandwidth underutlization的问题.

系统设计也主要是在SSD层面去做,利用SSD里面的DRAM做cache,利用SSD里面的arm processor做graph learning request的scheduling,最后用一个FPGA accelerator做sampling. 说实话这些方法我一个都没接触过.

这篇文章说半天都没说具体怎么存储的. 只说了一个graph reorginazation的优化,看上去就是relabel下vertex ID. 但是说支持graph update.