GraphX:分布式数据流框架中的图形处理
摘要
为了追求图处理性能,系统社区已经在很大程度上放弃了通用的分布式数据流框架,转而支持专门的图处理系统,这些系统提供定制的编程抽象,并加速迭代图算法的执行。在本文中,我们认为专业图形处理系统的许多优点可以在现代通用分布式数据流系统中恢复。我们将介绍GraphX,这是一个嵌入式图形处理框架,构建在广泛使用的分布式数据流系统Apache Spark之上。GraphX提供了一个熟悉的可组合的图形抽象,足以表达现有的图形api,但仅使用几个基本的数据流操作符(例如,join、map、group-by)就可以实现。为了实现与专用图系统同等的性能,GraphX将特定于图的优化重新定义为分布式连接优化和物化视图维护。通过利用分布式数据流框架的进步,GraphX为图处理带来了低成本的容错。我们在实际工作负载上评估了GraphX,并证明GraphX在基础数据流框架上实现了一个数量级的性能增益,并与专用图形处理系统的性能相匹配,同时支持更广泛的计算范围。