当前位置: X-MOL 学术ACM Trans. Database Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
EmptyHeaded
ACM Transactions on Database Systems ( IF 2.2 ) Pub Date : 2017-10-27 , DOI: 10.1145/3129246
Christopher R. Aberger 1 , Andrew Lamb 1 , Susan Tu 1 , Andres Nötzli 1 , Kunle Olukotun 1 , Christopher Ré 1
Affiliation  

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 execution engine 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 3× worse performance on SSSP. Finally, we show that the EmptyHeaded design can easily be extended to accommodate a standard resource description framework (RDF) workload, the LUBM benchmark. On the LUBM benchmark, we show that EmptyHeaded can compete with and sometimes outperform two high-level, but specialized RDF baselines (TripleBit and RDF-3X), while outperforming MonetDB by up to three orders of magnitude and LogicBlox by up to two orders of magnitude.

中文翻译:

空头

有两种类型的高性能图形处理引擎:低级引擎和高级引擎。低级引擎(Galois、PowerGraph、Snap)提供优化的数据结构和计算模型,但需要用户编写低级命令式代码,从而确保效率是用户的负担。在高级引擎中,用户使用数据日志 (SociaLite) 或 SQL (Grail) 等查询语言进行编写。高级引擎更易于使用,但比低级图形引擎慢几个数量级。我们提出了 EmptyHeaded,这是一个高级引擎,它支持丰富的类似数据日志的查询语言,并实现与低级引擎相当的性能。EmptyHeaded 设计的核心是一类新的连接算法,它满足强大的理论保证,但迄今为止还没有达到与专门的图形处理引擎相媲美的性能。为了实现高性能,EmptyHeaded 引入了新的连接引擎架构,包括利用单指令多数据 (SIMD) 并行性的新型查询优化器和执行引擎。使用这种架构,EmptyHeaded 在图形模式查询、PageRank 和单源最短路径 (SSSP) 上的性能比高级方法高出三个数量级,并且比许多低级基线快一个数量级。我们验证 EmptyHeaded 与同类最佳的低级引擎 (Galois) 竞争,在 PageRank 上实现了可比的性能,在 SSSP 上的性能最多差 3 倍。最后,我们展示了 EmptyHeaded 设计可以轻松扩展以适应标准资源描述框架 (RDF) 工作负载,即 LUBM 基准。在 LUBM 基准测试中,我们表明 EmptyHeaded 可以与两个高级但专业的 RDF 基线(TripleBit 和 RDF-3X)竞争,有时甚至超过它们,同时比 MonetDB 和 LogicBlox 高出两个数量级。震级。
更新日期:2017-10-27
down
wechat
bug