[论文解读] Scalable Analytics over Distributed Time-series Graphs using GoFFish
该论文提出了 GoFFish,一个用于可扩展时序图处理的分布式分析平台,结合了子图中心的迭代批量同步并行(iBSP)编程模型与 GoFS——一种专门的分布式存储系统。结果表明,时间打包、子图分箱和缓存技术显著减少了 I/O 开销,并在大规模时序图上提升了性能,当经过优化后,iBSP SSSP 工作负载表现出强烈的计算密集型特征。
Graphs are a key form of Big Data, and performing scalable analytics over them is invaluable to many domains. As our ability to collect data grows, there is an emerging class of inter-connected data which accumulates or varies over time, and on which novel analytics - both over the network structure and across the time-variant attribute values - is necessary. We introduce the notion of time-series graph analytics and propose Gopher, a scalable programming abstraction to develop algorithms and analytics on such datasets. Our abstraction leverages a sub-graph centric programming model and extends it to the temporal dimension using an iterative BSP (Bulk Synchronous Parallel) approach. Gopher is co-designed with GoFS, a distributed storage specialized for time-series graphs, as part of the GoFFish distributed analytics platform. We examine storage optimizations for GoFS, design patterns in Gopher to leverage the distributed data layout, and evaluate the GoFFish platform using time-series graph data and applications on a commodity cluster.
研究动机与目标
- 为应对时序图分析日益增长的可扩展性需求——即图的拓扑结构变化缓慢,但顶点和边的属性频繁更新。
- 形式化定义一种时序图模型,以同时捕捉图的拓扑结构以及在多个时间实例中变化的属性值。
- 设计并实现 Gopher,一种面向时序图的分布式子图中心迭代 BSP 抽象,用于支持时序图的迭代式分析。
- 协同设计 GoFS,一种针对时序图布局优化的分布式存储系统,以实现高效的 I/O 操作与数据局部性。
- 通过真实世界工作负载(如时间 SSSP)对 GoFFish 平台进行实证评估,验证存储与执行优化带来的性能提升。
提出的方法
- 提出一种时序图模型,其中静态模板定义图的拓扑结构,多个实例分别存储不同时间戳下的时变属性值。
- 引入 Gopher,一种以子图为重心的 iBSP 编程抽象,支持在时序图实例上进行迭代式、分布式的分析。
- 设计 GoFS,一种面向图的文件系统,按拓扑结构分区图数据,将同一子图的时间序列实例分组存储,并高效存储属性-值对。
- 采用时间打包技术,将多个时间实例共置于同一磁盘分片上,以减少 I/O 延迟并提升数据局部性。
- 应用子图分箱技术,将相关子图分组,以减少分布式执行过程中的 I/O 操作次数。
- 集成缓存策略,预取频繁访问的数据,从而最小化磁盘 I/O,提升迭代工作负载的性能。
实验结果
研究问题
- RQ1如何设计一种可扩展的编程模型,用于在具有静态拓扑和动态属性值的时序图上进行分布式分析?
- RQ2在通用集群上,针对时序图工作负载,哪些存储优化最有效以减少 I/O 开销?
- RQ3时间打包、子图分箱与缓存如何协同作用,以提升迭代图分析的性能?
- RQ4与传统图处理模型相比,采用子图中心执行的 iBSP 模型在时序数据上能多大程度上实现性能优势?
- RQ5在真实工作负载(如时间 SSSP)中,结合存储布局优化与分布式执行,其性能影响如何?
主要发现
- 当每个分片打包 20 个实例时,对拥有超过 80 个实例的子图,其性能优于非打包方案,表明存在一个性能拐点,打包在此时开始产生效益。
- 使用 20 个分箱的子图分箱方案相比 40 个分箱方案表现出显著性能提升,尤其在与时间打包和缓存结合时更为明显。
- 缓存显著降低了 I/O 开销,缓存版本(s20-i20-c14)的性能接近非缓存版本(s20-i20-c0)的三倍。
- iBSP SSSP 实现转变为计算密集型而非 I/O 密集型,表明存储优化有效隐藏了 I/O 延迟。
- 时间打包、子图分箱与缓存的组合带来了最佳性能,最优配置下磁盘分片的总读取次数显著减少。
- GoFFish 平台表明,像 Gopher 和 GoFS 这类面向存储的编程抽象能够有效利用数据局部性并减少 I/O,从而实现高效的超大规模时序图分析。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。