中文

iPregel:以顶点为中心的可编程性 vs 内存效率与性能,何必二选一?

分布式、并行与集群计算 2020-10-20 v1

摘要

为提升图处理应用编写的可编程性而设计的以顶点为中心编程模型,多年来备受关注。然而,实现该接口的共享内存框架均暴露出一个共同权衡:可编程性与内存效率及性能之间的对立。我们的方法 iPregel 保留了以顶点为中心的可编程性,同时实现了性能优化,且这些优化对用户应用代码透明,因此不影响可编程性。本文中,我们将 iPregel 与特性相同的 FemtoGraph、异步对应框架 GraphChi 以及顶点子集中心框架 Ligra 进行对比评估。我们的实验包含三个最流行的以顶点为中心基准应用,基于 4 个真实公开图,边数量级从百万到十亿不等,测量执行时间与峰值内存占用。最后,我们通过对比 Google 原始 Pregel 框架评估各框架可编程性。实验表明,iPregel 与 FemtoGraph 一样,未以牺牲以顶点为中心可编程性换取额外性能与内存效率优化,这与 GraphChi 和 Ligra 相反。后者牺牲以顶点为中心可编程性从而获益于显著的性能与内存效率提升。我们展示 iPregel 比 FemtoGraph 快达 2300 倍,且内存占用小达 100 倍。Ligra 和 GraphChi 比 FemtoGraph 快达 17000 和 700 倍,但与 iPregel 相比,该最大加速比降至 10。此外,在 PageRank 上,iPregel 总体最快。内存效率方面,iPregel 提供与 Ligra 相同的内存效率,平均比 GraphChi 轻 3 至 6 倍。

关键词

引用

@article{arxiv.2010.08781,
  title  = {iPregel: Vertex-centric programmability vs memory efficiency and performance, why choose?},
  author = {Ludovic A. R. Capelli and Zhenjiang Hu and Timothy A. K. Zakian and Nick Brown and J. Mark Bull},
  journal= {arXiv preprint arXiv:2010.08781},
  year   = {2020}
}