Pregel's vertex-centric model allows us to implement many interesting graph algorithms, where optimization plays an important role in making it practically useful. Although many optimizations have been developed for dealing with different performance issues, it is hard to compose them together to optimize complex algorithms, where we have to deal with multiple performance issues at the same time. In this paper, we propose a new approach to composing optimizations, by making use of the \emph{channel} interface, as a replacement of Pregel's message passing and aggregator mechanism, which can better structure the communication in Pregel algorithms. We demonstrate that it is convenient to optimize a Pregel program by simply using a proper channel from the channel library or composing them to deal with multiple performance issues. We intensively evaluate the approach through many nontrivial examples. By adopting the channel interface, our system achieves an all-around performance gain for various graph algorithms. In particular, the composition of different optimizations makes the S-V algorithm 2.20x faster than the current best implementation.
翻译:Pregel 的顶端偏心模型让我们得以实施许多有趣的图表算法, 优化在使其实际有用方面起着重要作用。 虽然已经为处理不同性能问题制定了许多优化方法, 但很难把它们组合在一起优化复杂的算法, 以便我们同时处理多种性能问题。 在本文中, 我们提出一种新的方法来配置优化, 方法是利用 emph{channel} 界面, 以替代 Pregel 的信息传递和聚合器机制, 以更好地构建 Pregel 算法中的通信结构。 我们证明, 只需使用来自频道图书馆的适当频道或者将它组合起来来处理多种性能问题, 就能优化Pregel 程序。 我们通过许多非边际的示例来深入评估该方法。 通过采用频道界面, 我们的系统可以实现各种图形算法的全方位性能增益。 特别是, 不同性能的构成使得S- V 运算法比当前最佳实施速度更快。