2016
DOI: 10.14778/3007328.3007336
|View full text |Cite
|
Sign up to set email alerts
|

Voodoo - a vector algebra for portable database performance on modern hardware

Abstract: In-memory databases require careful tuning and many engineering tricks to achieve good performance. Such database performance engineering is hard: a plethora of data and hardware-dependent optimization techniques form a design space that is difficult to navigate for a skilled engineer-even more so for a query compiler. To facilitate performanceoriented design exploration and query plan compilation, we present Voodoo, a declarative intermediate algebra that abstracts the detailed architectural properties of the… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
40
0
1

Year Published

2018
2018
2023
2023

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 85 publications
(41 citation statements)
references
References 31 publications
0
40
0
1
Order By: Relevance
“…Similarly, the literature on optimizing fusion plans is very sparse. Frameworks such as OptiML [88], Emma [2], Kasen [94], Voodoo [73], SystemML-SPOOF [27], Weld [70], and TensorFlow XLA [1,33] all use fusion heuristics, which misses significant opportunities. Tupleware [22] combines heuristics and cost-based decisions for micro-optimizations such as predication and loop tiling.…”
Section: Related Workmentioning
confidence: 99%
“…Similarly, the literature on optimizing fusion plans is very sparse. Frameworks such as OptiML [88], Emma [2], Kasen [94], Voodoo [73], SystemML-SPOOF [27], Weld [70], and TensorFlow XLA [1,33] all use fusion heuristics, which misses significant opportunities. Tupleware [22] combines heuristics and cost-based decisions for micro-optimizations such as predication and loop tiling.…”
Section: Related Workmentioning
confidence: 99%
“…Pirk and others propose the Voodoo framework, which consists of an intermediate algebra representation based on vectors and a code generator for OpenCL [39]. Based on the algebra, Voodoo is capable of generating code for different processors, including CPUs and GPUs.…”
Section: Query Compilation For Cpus and Gpusmentioning
confidence: 99%
“…Unlike VOODOO [23], Weld [19] and MRQL [8] it includes control-flow operations. This allows the program to be implemented using specialized operations on chunked data (i.e.…”
Section: Domain-specific Languagementioning
confidence: 99%
“…Previous approaches, such as VOODOO [23], Weld [19] and MRQL [8], proposed domain-specific languages (DSLs) that abstract implementation and hardware-specific details away. However, these attempts impose two challenges: First, the simplifying assumptions these make on data storage to make data fit across all platforms make it hard to leverage existing data ordering/clustering and, second, there is no generic way to exploit specialized instructions as this requires matching a code pattern to the instruction's specific use-case.…”
Section: Introductionmentioning
confidence: 99%