[论文解读] Pregelix: Big(ger) Graph Analytics on A Dataflow Engine
Pregelix 是一种新颖的分布式图处理系统,通过基于 Hyracks 数据流引擎构建的数据流架构,重新构想了 Pregel 编程模型。通过将顶点状态和消息建模为关系元组,并将 Pregel 工作负载作为带有优化物理计划的迭代数据流执行,Pregelix 在分布式 GraphLab 上实现了最高 35 倍的性能提升,在 Apache Giraph 上实现了最高 15 倍的性能提升,同时以透明的运行时灵活性高效支持内存内和内存外工作负载。
There is a growing need for distributed graph processing systems that are capable of gracefully scaling to very large graph datasets. Unfortunately, this challenge has not been easily met due to the intense memory pressure imposed by process-centric, message passing designs that many graph processing systems follow. Pregelix is a new open source distributed graph processing system that is based on an iterative dataflow design that is better tuned to handle both in-memory and out-of-core workloads. As such, Pregelix offers improved performance characteristics and scaling properties over current open source systems (e.g., we have seen up to 15x speedup compared to Apache Giraph and up to 35x speedup compared to distributed GraphLab), and makes more effective use of available machine resources to support Big(ger) Graph Analytics.
研究动机与目标
- 解决以进程为中心、基于消息传递的图处理系统在内存压力下表现不佳且内存外支持能力差的问题。
- 在单一系统中透明地支持内存内和内存外工作负载,而无需用户干预。
- 通过暴露多种物理执行策略以适应不同图工作负载和集群配置,实现运行时灵活性。
- 通过重用 Hyracks 中成熟的数据库查询执行技术和算子,降低实现复杂度。
- 构建一个支持多用户工作负载并在共享无依赖集群上高效扩展的系统。
提出的方法
- 将 Pregel 的顶点和消息语义建模为具有明确定义模式的关系元组,支持类似 SQL 的逻辑查询计划。
- 将整个 Pregel 计算表示为关系算子的迭代数据流,包括连接和分组运算,以模拟消息传递。
- 利用 Hyracks 作为底层数据流引擎,原生支持内存外处理、缓冲管理与数据洗牌。
- 实现物理执行计划,支持运行时选择分区策略、存储格式和数据重分布方法等策略。
- 从演绎数据库中采用半朴素评估技术,高效评估递归图算法。
- 暴露与 Giraph 相同的 Pregel API,确保向后兼容性,同时开启新的优化机会。
实验结果
研究问题
- RQ1基于数据流的架构能否提升类似 Pregel 的图处理系统的性能与可扩展性?
- RQ2在不牺牲性能的前提下,如何高效支持类似 Pregel 的系统中的内存外工作负载?
- RQ3现有数据库查询优化与执行技术在多大程度上可被适配以支持迭代图分析?
- RQ4统一系统能否在透明性能调优下同时支持内存内与内存外执行?
- RQ5物理计划灵活性对大规模图工作负载的执行时间和资源利用率有何影响?
主要发现
- 在大规模图工作负载上,Pregelix 相较于 Apache Giraph 最高可实现 15 倍性能提升,相较于分布式 GraphLab 最高可实现 35 倍性能提升。
- 该系统可透明地高效支持内存内与内存外工作负载,无需修改用户代码。
- 通过将 Pregel 建模为数据流,Pregelix 支持多种物理执行计划,使运行时能够根据工作负载和集群特性自适应调整。
- 使用 Hyracks 使优化算子(如洗牌、缓冲与存储)得以复用,降低实现复杂度并提高系统可靠性。
- Pregelix 支持多用户工作负载并保持高吞吐量,证明其适用于生产环境。
- 该系统已在真实应用场景中成功部署,自 2012 年起提供稳定开源版本。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。