GPOP:一个高效缓存和工作的分区图处理框架
GPOP: A cache- and work-efficient framework for Graph Processing Over Partitions
摘要:
在过去的十年中,已经看到了许多共享内存的图形处理框架的发展,旨在减少开发高性能并行应用程序的努力。然而,许多这些框架,基于顶点为中心或边缘为中心的范例遭受几个问题,如缓存利用率差,不规则的内存访问,大量使用的同步原语和理论上的低效率,恶化的整体性能和可扩展性。最近,我们提出了一个高速缓存和内存有效的分区为中心的范例计算PageRank。在本文中,我们推广这种方法来开发一种新的图形处理分区(GPOP)的框架,是高速缓存效率,可扩展性和工作效率。GPOP通过增加对称为“分区”的顶点子集的执行粒度来诱导存储器访问的局部性,从而极大地提高了各种图形算法的缓存性能。它通过实现完全无锁和无原子的计算来实现高可伸缩性。GPOP的内置分析性能模型使其能够以确保每次迭代工作效率的方式使用源和分区中心通信模式的混合,同时提高高带宽顺序内存访问。我们广泛评估GPOP的各种图形算法的性能,使用几个大型数据集。我们观察到,GPOP导致高达9倍,6.8倍和5.5倍的L2缓存未命中相比,Ligra,GraphMat和伽罗瓦,分别。在执行时间方面,GPOP分别比Ligra、GraphMat和Galois快19倍、9.3倍和3.6倍。
英文摘要:
Past decade has seen the development of many shared-memory graph processing frameworks, intended to reduce the effort of developing high performance parallel applications. However many of these frameworks, based on Vertex-centric or Edge-centric paradigms suffer from several issues, such as poor cache utilization, irregular memory accesses, heavy use of synchronization primitives and theoretical inefficiency, that deteriorate overall performance and scalability. Recently, we proposed a cache and memory efficient partition-centric paradigm for computing PageRank. In this paper, we generalize this approach to develop a novel Graph Processing Over Partitions (GPOP) framework that is cache-efficient, scalable and work-efficient. GPOP induces locality in memory accesses by increasing granularity of execution to vertex subsets called 'partitions', thereby dramatically improving the cache performance of a variety of graph algorithms. It achieves high scalability by enabling completely lock and atomic free computation. GPOP's built-in analytical performance model enables it to use a hybrid of source and partitioncentric communication modes in a way that ensures work-efficiency each iteration, while simultaneously boosting high bandwidth sequential memory accesses. We extensively evaluate the performance of GPOP for a variety of graph algorithms, using several large datasets. We observe that GPOP incurs up to 9x, 6.8x and 5.5x less L2 cache misses compared to Ligra, GraphMat and Galois, respectively. In terms of execution time, GPOP is upto 19x, 9.3x and 3.6x faster than Ligra, GraphMat and Galois respectively.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。