Skip to main content
QUICK REVIEW

[论文解读] Lightweight Fault Tolerance in Large-Scale Distributed Graph Processing

Da Yan, James Cheng|arXiv (Cornell University)|Jan 25, 2016
Graph Theory and Algorithms参考文献 17被引用 8
一句话总结

本文提出轻量级检查点机制(LWCP),一种用于大规模分布式图处理的新颖容错机制,仅存储顶点状态和增量边更新,与传统方法相比,检查点时间最多减少30倍。通过将LWCP与顶点状态日志结合,该方法可在不牺牲无故障性能的前提下实现快速恢复,在WebUK和Friendster等真实图上,检查点和日志管理的开销均接近可忽略不计。

ABSTRACT

The success of Google's Pregel framework in distributed graph processing has inspired a surging interest in developing Pregel-like platforms featuring a user-friendly "think like a vertex" programming model. Existing Pregel-like systems support a fault tolerance mechanism called checkpointing, which periodically saves computation states as checkpoints to HDFS, so that when a failure happens, computation rolls back to the latest checkpoint. However, a checkpoint in existing systems stores a huge amount of data, including vertex states, edges, and messages sent by vertices, which significantly degrades the failure-free performance. Moreover, the high checkpointing cost prevents frequent checkpointing, and thus recovery has to replay all the computations from a state checkpointed some time ago. In this paper, we propose a novel checkpointing approach which only stores vertex states and incremental edge updates to HDFS as a lightweight checkpoint (LWCP), so that writing an LWCP is typically tens of times faster than writing a conventional checkpoint. To recover from the latest LWCP, messages are generated from the vertex states, and graph topology is recovered by replaying incremental edge updates. We show how to realize lightweight checkpointing with minor modifications of the vertex-centric programming interface. We also apply the same idea to a recently-proposed log-based approach for fast recovery, to make it work efficiently in practice by significantly reducing the cost of garbage collection of logs. Extensive experiments on large real graphs verified the effectiveness of LWCP in improving both failure-free performance and the performance of recovery.

研究动机与目标

  • 为解决Pregel类系统中传统检查点机制带来的高性能开销问题,该机制存储完整的顶点状态、边和消息,导致无故障性能下降。
  • 通过仅存储顶点状态和增量边更新,降低检查点成本,利用静态或可预测的图拓扑结构以及从顶点值计算消息的特性。
  • 通过结合LWCP与顶点状态日志,实现快速恢复,避免故障后幸存机器的冗余重新计算。
  • 在最小化程序员开销的前提下,保持与顶点中心编程模型的向后兼容性。
  • 证明轻量级检查点与日志机制在实践中可显著优于重量级检查点与基于日志的恢复机制,尤其在高消息负载场景下。

提出的方法

  • 提出轻量级检查点(LWCP),仅存储顶点状态和增量边更新,省略完整消息和邻接表存储。
  • 在恢复期间,从输入图和重放增量边更新重建图拓扑结构,假设图拓扑为静态或版本化。
  • 仅从顶点状态重建传出消息,无需存储或重放传入消息。
  • 将LWCP与基于日志的恢复机制集成,仅记录顶点状态而非完整消息,从而降低日志管理开销。
  • 对顶点中心接口进行最小化修改以支持检查点和日志记录,同时保留“像顶点一样思考”的编程模型。
  • 利用操作系统内存缓存优化顺序日志写入和读取,确保日志操作的低开销。

实验结果

研究问题

  • RQ1能否设计一种检查点机制,在不牺牲容错能力的前提下,显著降低大规模图处理中的检查点开销?
  • RQ2如何从最小化的检查点数据中高效重建图拓扑结构和消息计算?
  • RQ3与基于消息的日志记录相比,轻量级日志能否在保持极低无故障性能开销的同时显著减少恢复时间?
  • RQ4所提出方法在图规模增大和故障频率提高时,其可扩展性如何?
  • RQ5在真实工作负载下,轻量级检查点的性能与重量级检查点及基于日志的恢复机制相比如何?

主要发现

  • 在WebUK图(55亿条边)上,传统检查点耗时约60秒,而LWCP将时间缩短至仅2秒,提升30倍。
  • LWCP在WebUK和Friendster上的检查点开销均低于2.5秒,与正常执行时间相比可忽略不计。
  • 使用轻量级日志(LWLog)的基于日志的恢复机制,日志写入开销仅为约1秒,而重量级日志系统中垃圾回收的开销高达约100秒。
  • 由于避免了幸存节点的冗余重新计算,LWLog的恢复时间显著快于正常执行时间,尤其在多个工作节点故障时更为明显。
  • 该系统在无故障性能和检查点效率方面优于Giraph、GraphLab和GraphX等现有框架,恢复时间相当或更优。
  • LWLog的垃圾回收开销可忽略不计,因为仅需管理轻量级的顶点状态日志,而无需像重量级系统那样删除昂贵的消息日志。

更好的研究,从现在开始

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

无需绑定信用卡

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