Skip to main content
QUICK REVIEW

[论文解读] PMV: Pre-partitioned Generalized Matrix-Vector Multiplication for Scalable Graph Mining

Chiwan Park, Ha-Myung Park|arXiv (Cornell University)|Sep 26, 2017
Graph Theory and Algorithms参考文献 41被引用 3
一句话总结

PMV 提出了一种用于在分布式系统上可扩展图挖掘的预分区广义矩阵-向量乘法框架。通过预先划分输入图,并基于子矩阵密度采用自适应的水平/垂直块放置策略,PMV 减少了通信和 I/O 开销,使处理的图规模达到以往基于主存的分布式方法的 16 倍,并且相比基于磁盘的系统实现了 9 倍的性能提升。

ABSTRACT

How can we analyze enormous networks including the Web and social networks which have hundreds of billions of nodes and edges? Network analyses have been conducted by various graph mining methods including shortest path computation, PageRank, connected component computation, random walk with restart, etc. These graph mining methods can be expressed as generalized matrix-vector multiplication which consists of few operations inspired by typical matrix-vector multiplication. Recently, several graph processing systems based on matrix-vector multiplication or their own primitives have been proposed to deal with large graphs; however, they all have failed on Web-scale graphs due to insufficient memory space or the lack of consideration for I/O costs. In this paper, we propose PMV (Pre-partitioned generalized Matrix-Vector multiplication), a scalable distributed graph mining method based on generalized matrix-vector multiplication on distributed systems. PMV significantly decreases the communication cost, which is the main bottleneck of distributed systems, by partitioning the input graph in advance and judiciously applying execution strategies based on the density of the pre-partitioned sub-matrices. Experiments show that PMV succeeds in processing up to 16x larger graphs than existing distributed memory-based graph mining methods, and requires 9x less time than previous disk-based graph mining methods by reducing I/O costs significantly.

研究动机与目标

  • 解决现有分布式图挖掘系统在具有数千亿条边的网络规模图上的可扩展性限制。
  • 通过最小化数据重排和磁盘访问,克服分布式矩阵-向量乘法中的 I/O 和通信瓶颈。
  • 设计一个与 Hadoop 和 Spark 等主流分布式计算平台兼容的通用框架。
  • 实现与机器数量和图规模的线性可扩展性,并处理超出单台机器或分布式内存系统容量的图。

提出的方法

  • 在迭代计算前预先将输入图的邻接矩阵划分为块,以消除重复分区操作。
  • 基于顶点出度使用阈值 θ 将矩阵块分类为稀疏和密集区域。
  • 对稀疏块采用水平放置,对密集块采用垂直放置,以最小化 I/O 和通信开销。
  • 采用混合策略(PMVhybrid),根据每个块的密度选择最优放置方式,相比仅垂直放置可减少高达 44% 的 I/O。
  • 在 Hadoop 和 Spark 上实现该框架,分别利用 Hadoop 的原地更新机制和 Spark 的迭代优化。
  • 优化块到工作节点的分配,以平衡负载并减少 I/O,尤其针对在 MapReduce 系统中造成瓶颈的高程度顶点。

实验结果

研究问题

  • RQ1预分区矩阵能否在分布式广义矩阵-向量乘法中减少通信和 I/O 开销?
  • RQ2在稀疏图与密集图中,水平与垂直块放置策略的选择如何影响 I/O 和性能?
  • RQ3在混合放置策略中,平衡 I/O 与计算开销的最优阈值 θ 是多少?
  • RQ4PMV 是否能实现与机器数量和图规模的线性可扩展性?
  • RQ5PMV 在处理 Web 规模图(如 ClueWeb12)方面与现有系统相比表现如何?

主要发现

  • PMV 可成功处理完整的 ClueWeb12 图(60 亿个顶点,710 亿条边),而所有对比系统均因内存不足或超时失败。
  • 与 GraphLab 和 GraphX 等现有基于主存的分布式系统相比,PMV 的可扩展性最高提升 16 倍,后者在图超过其内存容量时即告失败。
  • 当 θ = 200 时,PMV 相比仅垂直放置策略(PMVvertical)减少 44% 的 I/O,对应性能相比基于磁盘的 MapReduce 系统提升 9 倍。
  • 在 YahooWeb 图上,PMV 展现出线性机器可扩展性,每台工作节点数量加倍时速度提升接近 1.0,优于 PEGASUS,因其避免了最后一个 reducer 的瓶颈。
  • 在小规模图上,由于 Spark 的迭代计算优化,PMV 在 Spark 上的性能优于 Hadoop;在大规模图上,由于原地更新带来的更低内存占用,PMV 在 Hadoop 上的性能优于 Spark。
  • 混合策略(PMVhybrid)相比选择性策略(PMVselective)最高提升 18% 的性能,证明了自适应块放置的有效性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。