[论文解读] BigSparse: High-performance external graph analytics
BigSparse 是一个完全外部的图分析系统,通过将边和顶点数据均存储在 SSD 上,在仅配备有限 DRAM 的机器上实现了对 TB 级图的高性能处理。它通过记录顶点更新、将排序与归约操作交错以最小化 I/O 开销,从而在大型图上超越了内存内和半外部系统,即使仅使用 32–64GB DRAM 也能实现高性能。
We present BigSparse, a fully external graph analytics system that picks up where semi-external systems like FlashGraph and X-Stream, which only store vertex data in memory, left off. BigSparse stores both edge and vertex data in an array of SSDs and avoids random updates to the vertex data, by first logging the vertex updates and then sorting the log to sequentialize accesses to the SSDs. This newly introduced sorting overhead is reduced significantly by interleaving sorting with vertex reduction operations. In our experiments on a server with 32GB to 64GB of DRAM, BigSparse outperforms other in-memory and semi-external graph analytics systems for algorithms such as PageRank, BreadthFirst Search, and Betweenness-Centrality for terabyte-size graphs with billions of vertices. BigSparse is capable of highspeed analytics of much larger graphs, on the same machine configuration.
研究动机与目标
- 解决内存内和半外部图系统在需要大量 DRAM 存储顶点数据时面临的可扩展性限制。
- 通过实现顺序访问模式,克服二级存储上细粒度随机 I/O 的性能瓶颈。
- 设计一个完全外部的系统,即使顶点数据超过可用 DRAM 容量,也能保持高性能。
- 通过交错排序与归约操作,最小化顶点更新排序带来的 I/O 开销。
- 通过使用经济实惠的 SSD 存储而非昂贵的内存扩展,实现基于单节点的、成本效益高的十亿顶点图分析。
提出的方法
- 将边和顶点数据均存储在一组 SSD 上,避免将顶点数据存储在内存中。
- 将所有顶点更新外部记录,而非执行随机写入,从而减少随机 I/O 开销。
- 分批对更新日志进行排序,将随机访问模式转换为顺序 I/O 操作。
- 在合并阶段交错执行排序与归约操作,逐步减少中间数据的大小。
- 使用内存中的归并排序阶段,随后进行外部归并-归约,以最小化数据向 SSD 的移动量。
- 利用现实图中数据的高局部性,加速归约过程,使第一次归并阶段后中间数据大小减少高达 90%。
实验结果
研究问题
- RQ1完全外部的图系统是否能在显著减少 DRAM 使用量的前提下,实现与内存内系统相当的性能?
- RQ2交错排序与归约在最小化顶点更新处理的 I/O 开销方面有多有效?
- RQ3当顶点数据超过内存容量时,仅使用极少量 DRAM(如 32–64GB)的系统在多大程度上能超越半外部系统?
- RQ4BigSparse 如何在处理大规模图时,对 PageRank 和介数中心性等稀疏算法保持高性能?
- RQ5数据归约对闪存存储磨损和外部图处理中系统 I/O 效率有何影响?
主要发现
- 当 DRAM 限制在 32–64GB 时,BigSparse 在 TB 级图(如包含 35 亿个顶点的 Web Data Commons 图)上的性能优于内存内系统和半外部系统(如 FlashGraph 和 X-Stream)。
- 在 Web Data Commons 图上,使用 48GB 内存时,BigSparse 是唯一能够对所有测试算法(PageRank、BFS、介数中心性)实现高速分析的系统。
- 将排序与归约交错处理,相比先排序后归约,使总数据移动量减少了高达 90%。
- 在第一次内存归并阶段后,Twitter 图的中间数据减少了超过 80%,WDC 图减少了 90%,显著降低了 I/O 数据量。
- BigSparse 达到了 1800% 的 CPU 利用率,显著低于 FlashGraph(3200%)和 X-Stream(3200%),表明由于 I/O 为性能瓶颈,其资源利用率更高。
- 该系统通过仅将原始中间数据大小的 5–10% 写入 SSD,减少了闪存写入放大,延长了闪存寿命并提高了 I/O 效率。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。