Low-latency query compilation
-
Published:2022-05-10
Issue:6
Volume:31
Page:1171-1184
-
ISSN:1066-8888
-
Container-title:The VLDB Journal
-
language:en
-
Short-container-title:The VLDB Journal
Author:
Funke HenningORCID, Mühlig Jan, Teubner Jens
Abstract
AbstractQuery compilation is a processing technique that achieves very high processing speeds but has the disadvantage of introducing additional compilation latencies. These latencies cause an overhead that is relatively high for short-running and high-complexity queries. In this work, we present Flounder IR and ReSQL, our new approach to query compilation. Instead of using a general purpose intermediate representation (e.g., LLVM IR) during compilation, ReSQL uses Flounder IR, which is specifically designed for database processing. Flounder IR is lightweight and close to machine assembly. This simplifies the translation from IR to machine code, which otherwise is a costly translation step. Despite simple translation, compiled queries still benefit from the high processing speeds of the query compilation technique. We analyze the performance of our approach with micro-benchmarks and with ReSQL, which employs a full translation stack from SQL to machine code. We show reductions in compilation times up to two orders of magnitude over LLVM and show improvements in overall execution time for TPC-H queries up to 5.5
$$\times $$
×
over state-of-the-art systems.
Funder
Technische Universität Dortmund
Publisher
Springer Science and Business Media LLC
Subject
Hardware and Architecture,Information Systems
Reference36 articles.
1. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers, principles, techniques. Addison wesley 7(8), 9 (1986) 2. Auslander, J., Philipose, M., Chambers, C., Eggers, S.J., Bershad, B.N.: Fast, effective dynamic compilation. ACM SIGPLAN Not. 31(5), 149–159 (1996) 3. Balkesen, C., Alonso, G., Teubner, J., Özsu, M.T.: Multi-core, main-memory joins: sort vs. hash revisited. Proceedings of the VLDB Endowment 7(1), 85–96 (2013) 4. Bharadwaj, J., Chen, W.Y., Chuang, W., Hoflehner, G., Menezes, K., Muthukumar, K., Pierce, J.: The Intel IA-64 compiler code generator. IEEE Micro 20(5), 44–53 (2000) 5. Boncz, P.A., Kersten, M.L.: MIL primitives for querying a fragmented world. VLDB J. 8(2), 101–119 (1999)
|
|