There are two types of high-performance graph processing engines: low- and high-level engines. Low-level engines (Galois, PowerGraph, Snap) provide optimized data structures and computation models but require users to write low-level imperative code, hence ensuring that efficiency is the burden of the user. In high-level engines, users write in query languages like datalog (SociaLite) or SQL (Grail). High-level engines are easier to use but are orders of magnitude slower than the low-level graph engines. We present EmptyHeaded, a high-level engine that supports a rich datalog-like query language and achieves performance comparable to that of low-level engines. At the core of EmptyHeaded's design is a new class of join algorithms that satisfy strong theoretical guarantees but have thus far not achieved performance comparable to that of specialized graph processing engines. To achieve high performance, EmptyHeaded introduces a new join engine architecture, including a novel query optimizer and data layouts that leverage single-instruction multiple data (SIMD) parallelism. With this architecture, EmptyHeaded outperforms high-level approaches by up to three orders of magnitude on graph pattern queries, PageRank, and Single-Source Shortest Paths (SSSP) and is an order of magnitude faster than many low-level baselines. We validate that EmptyHeaded competes with the best-of-breed low-level engine (Galois), achieving comparable performance on PageRank and at most 3x worse performance on SSSP.


翻译:高性能图形处理引擎有两种类型的高性能图形处理引擎:低级和高级引擎。低级引擎(Galois、PowerGraph、Snap)提供优化的数据结构和计算模型,但需要用户写出低级要求代码,从而确保效率是用户的负担。在高级引擎中,用户用像数据仪(SociaLite)或SQL(Gilight)这样的查询语言写作。高级引擎较容易使用,但数量级比低级图形引擎慢。我们展示了空头引擎,这是一个支持丰富数据类查询语言的高级引擎,其性能可与低级引擎的性能相当。在“空面”设计的核心是一个新的组合算法,它满足了强大的理论保证,但迄今没有达到与专业图形处理引擎(Grail)相似的性能。为了达到高性能,空头引擎推出一个新的组合引擎架构,包括更差的查询优化和数据布局,利用单级的多级数据(SIMD)平行。随着这个架构,在最低级的级别上,低级的内位超性能性能性能性能性能和最低水平的SPLSPLSPLSD,在三个级标准级的级别上将达到一个最高级的级的级的级的级的级级的性能,在高级级级级的级的性能,在高级排序,在高级和低级的级的级排序上,在高水平上,我们级和低级平级平级指令。

1
下载
关闭预览

相关内容

商业数据分析,39页ppt
专知会员服务
157+阅读 · 2020年6月2日
因果图,Causal Graphs,52页ppt
专知会员服务
238+阅读 · 2020年4月19日
【新书】Python数据科学食谱(Python Data Science Cookbook)
专知会员服务
113+阅读 · 2020年1月1日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【论文】图上的表示学习综述
机器学习研究会
12+阅读 · 2017年9月24日
最佳实践:深度学习用于自然语言处理(三)
待字闺中
3+阅读 · 2017年8月20日
Arxiv
15+阅读 · 2018年4月5日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【论文】图上的表示学习综述
机器学习研究会
12+阅读 · 2017年9月24日
最佳实践:深度学习用于自然语言处理(三)
待字闺中
3+阅读 · 2017年8月20日
Top
微信扫码咨询专知VIP会员