论文标题
IPREGEL:以顶点为中心的可编程性与内存效率和性能,为什么选择?
iPregel: Vertex-centric programmability vs memory efficiency and performance, why choose?
论文作者
论文摘要
以顶点为中心的编程模型,旨在提高图形处理应用程序写作的可编程性,多年来引起了极大的关注。但是,实现以顶点界面的共享内存框架都公开了共同的权衡:针对内存效率和性能的可编程性。 我们的方法iPregel保留了以顶点为中心的可编程性,同时实现了性能的优化并设计这些功能,因此它们与用户的应用程序代码透明,因此不会影响可编程性。在本文中,我们评估了iPregel针对女性的特征,其特征是相同的,一个异步的对应物graphchi和以顶点掩体为中心的framework Ligra。我们的实验包括4个现实世界中最受欢迎的三个以顶点为中心的基准应用程序,可公开可访问的图表,涵盖了一百万到十亿个边缘之间的数量级,从而测量了执行时间和峰值内存使用情况。最后,我们通过与Google的原始Pregel框架进行比较来评估每个框架的可编程性。 实验表明,像女性批仪一样,IPREGEL并不牺牲以顶点为中心的可编程性来实现额外的性能和记忆效率优化,这与Graphchi和Ligra进行了对比。牺牲以顶点为中心的可编程性使后者从可观的性能和记忆效率提高中受益。我们证明,IPRegel的速度比女性截图的速度快2300倍,并且会产生记忆足迹高达100倍的100倍。 Ligra和Graphchi的速度比女权扫描快17000和700倍,但是,与IPRegel进行比较时,此最大速度下降到10。此外,与Pagerank相比,iPregel是总体上最快的。为了记忆效率,IPREGEL提供的内存效率与LIGRA相同,平均比Graphchi轻3至6倍。
The vertex-centric programming model, designed to improve the programmability in graph processing application writing, has attracted great attention over the years. However, shared memory frameworks that implement the vertex-centric interface all expose a common tradeoff: programmability against memory efficiency and performance. Our approach, iPregel, preserves vertex-centric programmability, while implementing optimisations for performance, and designing these so they are transparent to a user's application code, hence not impacting programmability. In this paper, we evaluate iPregel against FemtoGraph, whose characteristics are identical, an asynchronous counterpart GraphChi and the vertex-subset-centric framework Ligra. Our experiments include three of the most popular vertex-centric benchmark applications over 4 real-world publicly accessible graphs, which cover orders of magnitude between a million to a billion edges, measuring execution time and peak memory usage. Finally, we evaluate the programmability of each framework by comparing against Google's original Pregel framework. Experiments demonstrate that iPregel, like FemtoGraph, does not sacrifice vertex-centric programmability for additional performance and memory efficiency optimisations, which contrasts against GraphChi and Ligra. Sacrificing vertex-centric programmability allowed the latter to benefit from substantial performance and memory efficiency gains. We demonstrate that iPregel is up to 2300 times faster than FemtoGraph, as well as generating a memory footprint up to 100 times smaller. Ligra and GraphChi are up to 17000 and 700 times faster than FemtoGraph but, when comparing against iPregel, this maximum speed-up drops to 10. Furthermore, with PageRank, iPregel is the fastest overall. For memory efficiency, iPregel provides the same memory efficiency as Ligra and 3 to 6 times lighter than GraphChi on average.