The Graph Based Benchmark Suite (GBBS)

The Graph Based Benchmark Suite (GBBS)
复制标题

DOI:
10.1145/3398682.3399168
复制
发表时间:
2020-06
期刊:
Proceedings of the 3rd Joint International Workshop on Graph Data Management Experiences & Systems (GRADES) and Network Data Analytics (NDA)
影响因子:
--
通讯作者:
Laxman Dhulipala;Jessica Shi;Tom Tseng;G. Blelloch;Julian Shun
Laxman Dhulipala;Jessica Shi;Tom Tseng;G. Blelloch;Julian Shun
中科院分区:
其他
文献类型:
--
作者:
Laxman Dhulipala;Jessica Shi;Tom Tseng;G. Blelloch;Julian Shun

文献摘要

被引文献

相似文献

在这篇演示论文中,我们介绍了基于图的基准测试套件(GBBS),这是一套针对共享内存多核机器的20多个基本图问题的可扩展且经证明高效的实现。我们的结果是通过一个用C++编写的图处理接口获得的,该接口用具有明确成本界限的附加功能原语扩展了Ligra接口。我们的方法通过使用高度优化的原语,能够编写既简单又高性能的高级代码。另一个好处是,诸如图压缩等优化对高级用户代码是透明实现的,因此无需更改实现即可使用。我们的方法使我们的代码能够在单个多核机器上扩展到包含超过2000亿条边的最大的公开可用的真实世界图。我们展示了如何使用GBBS处理真实世界的图并在其上执行各种任务。我们介绍了高级C++应用程序编程接口(API),这些接口使我们能够编写简洁、高性能的实现。我们还引入了一个到GBBS的Python接口,它使用户能够轻松地在Python中对算法和流程进行原型设计,并且其性能显著优于NetworkX(一种成熟的基于Python的图处理解决方案)。
In this demonstration paper, we present the Graph Based Benchmark Suite (GBBS), a suite of scalable, provably-efficient implementations of over 20 fundamental graph problems for shared-memory multicore machines. Our results are obtained using a graph processing interface written in C++, extending the Ligra interface with additional functional primitives that have clearly defined cost bounds. Our approach enables writing high-level codes that are simultaneously simple and high-performance by virtue of using highly-optimized primitives. Another benefit is that optimizations, such as graph compression, are implemented transparently to high-level user code, and can thus be utilized without changing the implementation. Our approach enables our codes to scale to the largest publicly-available real-world graph containing over 200 billion edges on a single multicore machine. We show how to use GBBS to process and perform a variety of tasks on real-world graphs. We present the high-level C++ APIs that enable us to write concise, high-performance implementations. We also introduce a Python interface to GBBS, which lets users easily prototype algorithms and pipelines in Python that significantly outperform NetworkX, a mature Python-based graph processing solution.