Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Christopher R. Aberger

dblp:160/8839 · also Christopher Richard Aberger · DBLP profile ↗
← Back
5ranked-venue papers
4as first author
0since 2021 · last 2018
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 4 · 4 first-authorSystems, architecture and hardware · 1Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
4 papers
Query processing and optimization · 74% Graph data management · 18% Information retrieval · 8%

Topics — the 11 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Query processing and optimization › join processing › join algorithms
worst-case optimal join
1.242018
LevelHeaded: A Unified Engine for Business Intelligence and Linear Algebra Querying · ICDE 2018
EmptyHeaded: A Relational Engine for Graph Processing · ACM Trans. Database Syst. 2017
Mind the Gap: Bridging Multi-Domain Query Workloads with EmptyHeaded · Proc. VLDB Endow. 2017
Query processing and optimization
join processing
0.522017
Mind the Gap: Bridging Multi-Domain Query Workloads with EmptyHeaded · Proc. VLDB Endow. 2017
EmptyHeaded: A Relational Engine for Graph Processing · SIGMOD Conference 2016
Graph data management
graph query processing
0.422017
EmptyHeaded: A Relational Engine for Graph Processing · ACM Trans. Database Syst. 2017
Mind the Gap: Bridging Multi-Domain Query Workloads with EmptyHeaded · Proc. VLDB Endow. 2017
Graph data management › graph query
graph pattern query
0.422017
EmptyHeaded: A Relational Engine for Graph Processing · ACM Trans. Database Syst. 2017
EmptyHeaded: A Relational Engine for Graph Processing · SIGMOD Conference 2016
Query processing and optimization
query optimization
0.322017
EmptyHeaded: A Relational Engine for Graph Processing · SIGMOD Conference 2016
EmptyHeaded: A Relational Engine for Graph Processing · ACM Trans. Database Syst. 2017
Query processing and optimization › query execution
in-memory query processing
0.312018
LevelHeaded: A Unified Engine for Business Intelligence and Linear Algebra Querying · ICDE 2018
Query processing and optimization › join processing
join algorithms
0.312017
EmptyHeaded: A Relational Engine for Graph Processing · ACM Trans. Database Syst. 2017
Information retrieval
multi-domain query
0.312017
Mind the Gap: Bridging Multi-Domain Query Workloads with EmptyHeaded · Proc. VLDB Endow. 2017
Query processing and optimization
query processing architecture
0.312017
Mind the Gap: Bridging Multi-Domain Query Workloads with EmptyHeaded · Proc. VLDB Endow. 2017
Graph data management
graph analytics
0.112016
EmptyHeaded: A Relational Engine for Graph Processing · SIGMOD Conference 2016
Information retrieval › ranking › graph-based ranking
pagerank
0.112016
EmptyHeaded: A Relational Engine for Graph Processing · SIGMOD Conference 2016

Methods — techniques the papers use, named apart from their topics

datalog · 0.5SIMD parallelism · 0.5worst-case optimal join · 0.3in-memory query processing · 0.3query optimization · 0.3in-query data transformation · 0.3data layout optimization · 0.2
YearPublicationVenuePosition
2018 LevelHeaded: A Unified Engine for Business Intelligence and Linear Algebra Querying
abstract
Pipelines combining SQL-style business intelligence (BI) queries and linear algebra (LA) are becoming increasingly common in industry. As a result, there is a growing need to unify these workloads in a single framework. Unfortunately, existing solutions either sacrifice the inherent benefits of ex-clusively using a relational database (e.g. logical and physical independence) or incur orders of magnitude performance gaps compared to specialized engines (or both). In this work, we study applying a new type of query processing architecture to standard BI and LA benchmarks. To do this, we present a new in-memory query processing engine called LevelHeaded. LevelHeaded uses worst-case optimal joins as its core execution mechanism for both BI and LA queries. With LevelHeaded, we show how crucial optimizations for BI and LA queries can be captured in a worst-case optimal query architecture. Using these optimizations, LevelHeaded outperforms other relational database engines (LogicBlox, MonetDB, and HyPer) by orders of magnitude on standard LA benchmarks, while performing on average within 31% of the best-of-breed BI (HyPer) and LA (Intel MKL) solutions on their own benchmarks. Our results show that such a single query processing architecture can be efficient on both BI and LA queries.
Christopher R. Aberger, Andrew Lamb, Kunle Olukotun, Christopher Ré
ICDE1
2017 Mind the Gap: Bridging Multi-Domain Query Workloads with EmptyHeaded
abstract
Executing domain specific workloads from a relational data warehouse is an increasingly popular task. Unfortunately, classic relational database management systems (RDBMS) are suboptimal in many domains (e.g., graph and linear algebra queries), and it is challenging to transfer data from an RDBMS to a domain specific toolkit in an efficient manner. This demonstration showcases the EmptyHeaded engine: an interactive query processing engine that leverages a novel query architecture to support efficient execution in multiple domains. To enable a unified design, the EmptyHeaded architecture is built around recent theoretical advancements in join processing and automated in-query data transformations. This demonstration highlights the strengths and weaknesses of this novel type of query processing architecture while showcasing its flexibility in multiple domains. In particular, attendees will use EmptyHeaded's Jupyter notebook front-end to interactively learn the theoretical advantages of this new (and largely unknown) approach and directly observe its performance impact in multiple domains.
Christopher R. Aberger, Andrew Lamb, Kunle Olukotun, Christopher Ré
Proc. VLDB Endow.1
2017 EmptyHeaded: A Relational Engine for Graph Processing
abstract
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.
Christopher R. Aberger, Andrew Lamb, Susan Tu, Andres Nötzli, Kunle Olukotun, Christopher Ré
ACM Trans. Database Syst.1
2016 Have abstraction and eat performance, too: optimized heterogeneous computing with parallel patterns
abstract
High performance in modern computing platforms requires programs to be parallel, distributed, and run on heterogeneous hardware. However programming such architectures is extremely difficult due to the need to implement the application using multiple programming models and combine them together in ad-hoc ways. To optimize distributed applications both for modern hardware and for modern programmers we need a programming model that is sufficiently expressive to support a variety of parallel applications, sufficiently performant to surpass hand-optimized sequential implementations, and sufficiently portable to support a variety of heterogeneous hardware. Unfortunately existing systems tend to fall short of these requirements. In this paper we introduce the Distributed Multiloop Language (DMLL), a new intermediate language based on common parallel patterns that captures the necessary semantic knowledge to efficiently target distributed heterogeneous architectures. We show straightforward analyses that determine what data to distribute based on its usage as well as powerful transformations of nested patterns that restructure computation to enable distribution and optimize for heterogeneous devices. We present experimental results for a range of applications spanning multiple domains and demonstrate highly efficient execution compared to manually-optimized counterparts in multiple distributed programming models.
Kevin J. Brown, HyoukJoong Lee, Tiark Rompf, Arvind K. Sujeeth, Christopher De Sa, Christopher R. Aberger, Kunle Olukotun
CGO6
2016 EmptyHeaded: A Relational Engine for Graph Processing
abstract
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 3× worse performance on SSSP.
Christopher R. Aberger, Susan Tu, Kunle Olukotun, Christopher Ré
SIGMOD Conference1