Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

An Empirical Analysis of Just-in-Time Compilation in Modern Databases

  • Conference paper
  • First Online:
Databases Theory and Applications (ADC 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14386))

Included in the following conference series:

Abstract

JIT (Just-in-Time) technology has garnered significant attention for improving the efficiency of database execution. It offers higher performance by eliminating interpretation overhead compared to traditional execution engines. LLVM serves as the primary JIT architecture, which was implemented in PostgreSQL since version 11. However, recent advancements in WASM-based databases, such as Mutable, present an alternative JIT approach. This approach minimizes the extensive engineering efforts associated with the execution engine and focuses on optimizing supported operators for lower latency and higher throughput. In this paper, we perform comprehensive experiments on these two representative open-source databases to gain deeper insights into the effectiveness of different JIT architectures.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine. Commun. ACM 3, 01 (1960)

    Article  Google Scholar 

  2. Neumann, T.: Efficiently compiling efficient query plans for modern hardware. Proc. VLDB Endowment 4(9), 539–550 (2011)

    Article  Google Scholar 

  3. PostgreSQL. “Postgresql”, 8 June 2023. https://www.postgresql.org/

  4. M.O. “Github - mutable-org/mutable: a database system for research and fast prototyping”, 7 June 2023. https://github.com/mutable-org/mutable/

  5. Wade, A.W., Kulkarni, P.A., Jantz, M.R.: AOT vs. JIT: impact of profile data on code quality. In: ACM SIGPLAN Notices, vol. 52, pp. 1–10 (2017)

    Google Scholar 

  6. (Margaret Rouse, A. P.), “Intermediate language.techopedia”, 16 Nov 2011. https://www.techopedia.com/definition/24290/intermediate-language-il-net

  7. Metula, E.: Chapter 1 - introduction. In: Managed Code Rootkits (E. Metula, ed.), pp. 3–21. Syngress, Boston (2011)

    Google Scholar 

  8. ( TPC-H Homepage. (n.d.)), TPC-H homepage. https://www.tpc.org/tpch/

  9. Graefe, G.: Volcano-an extensible and parallel query evaluation system. IEEE Trans. Knowl. Data Eng. 6, 120–135 (1994)

    Article  Google Scholar 

  10. Boncz, P.A., Zukowski, M., Nes, N.: MonetDB/x100: hyper-pipelining query execution. In: 2nd Biennial Conference on Innovative Data Systems Research, CIDR 2005 (2005)

    Google Scholar 

  11. Krikellas, K., Viglas, S.D., Cintra, M.: Generating code for holistic query evaluation, pp. 613–624 (2010)

    Google Scholar 

  12. Muehlbauer, T.: HyPer: Hybrid OLTP &OLAP high-performance database system (n.d). https://hyper-db.de/

  13. Leis, V., Boncz, P., Kemper, A., Neumann, T.: Morsel-driven parallelism: a NUMA-aware query evaluation framework for the many-core age. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, pp. 743–754 (2014)

    Google Scholar 

  14. Kohn, A., Leis, V., Neumann, T.: Adaptive execution of compiled queries. In: 2018 IEEE 34th International Conference on Data Engineering (ICDE), pp. 197–208. IEEE (2018)

    Google Scholar 

  15. Haffner, I., Dittrich, J.: A simplified architecture for fast, adaptive compilation and execution of SQL queries. In: Proceedings of the EDTB (2023)

    Google Scholar 

  16. S., “Python JIT compilers”. Accessed 21 June 2023

    Google Scholar 

  17. The LuaJIT Project. “The luajit project” (n.d.)

    Google Scholar 

  18. Cwi, T., Boncz, P.: Exploring query execution strategies for JIT, vectorization and SIMD (2017)

    Google Scholar 

  19. postgresql-llvmjit Fedora Packages. “Postgresql-llvmjit - fedora packages” (n.d.). https://packages.fedoraproject.org/pkgs/postgresql/postgresql-llvmjit/

  20. Pop, S., Yazdani, R., Neill, Q.: Improving GCC’s auto-vectorization with if-conversion and loop flattening for AMD’s bulldozer processors. In: GCC Developers’ Summit, p. 89 (2010)

    Google Scholar 

  21. Graefe, G.: Volcano/splminus/an extensible and parallel query evaluation system. IEEE Trans. Knowl. Data Eng. 6(1), 120–135 (1994)

    Article  Google Scholar 

  22. W. (n.d.) “binaryen/readme.md at main” (2017). https://github.com/WebAssembly/binaryen

  23. Liftoff: a new baseline compiler for WebAssembly in V8, “Liftoff: A new baseline compiler for webassembly in v8 \(\cdots \) v8” 20 August 2018. https://v8.dev/blog/liftoff

  24. Boncz, P., Neumann, T., Erling, O.: TPC-H analyzed: Hidden messages and lessons learned from an influential benchmark, pp. 61–76 (2014)

    Google Scholar 

  25. Boncz, P., Neumann, T., Erling, O.: TPC-H analyzed: hidden messages and lessons learned from an influential benchmark. In: Nambiar, R., Poess, M. (eds.) TPCTC 2013. LNCS, vol. 8391, pp. 61–76. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-04936-6_5

    Chapter  Google Scholar 

  26. Quinoñes, E., Parcerisa, J.M., Gonzáilez, A.: Improving branch prediction and predicated execution in out-of-order processors, pp. 75–84 (2007)

    Google Scholar 

  27. LLDB, 4 Sept 2023. https://lldb.llvm.org/

  28. GDB: The GNU Project Debugger (n.d.). https://www.sourceware.org/gdb/

  29. W. (n.d.). “relaxed-simd/proposals/simd/simd.md at main \(\cdot \) webassembly/relaxed-simd. github”. https://github.com/WebAssembly/relaxed-simd/blob/main/proposals/simd/SIMD.md

  30. Dreseler, M., Kossmann, J., Frohnhofen, J., Uflacker, M., Plattner, H.: Fused table scans: combining AVX-512 and JIT to double the performance of multi-predicate scans, pp. 102–109 (2018)

    Google Scholar 

  31. Kemper, A., Neumann, T.: Hyper: A hybrid OLTP &OLAP main memory database system based on virtual memory snapshots, pp. 195–206 (2011)

    Google Scholar 

  32. Kersten, T., Leis, V., Neumann, T.: Tidy tuples and flying start: fast compilation and fast execution of relational queries in umbra. VLDB J. 30, 09 (2021)

    Article  Google Scholar 

  33. Zukowski, M., Boncz, P., Nes, N., Héman, S.: MonetDB/x100 - a DBMS in the CPU cache. IEEE Data Eng. Bull. 28, 17–22 (2005)

    Google Scholar 

Download references

Acknowledgements

Zhengyi Yang is supported by Enmotech Data AU. We would like thank the anonymous reviewers at ADC2023 Shepherding Track for their valuable insights and suggestions that significantly contributed to the paper’s improvement.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhengyi Yang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Ma, M., Yang, Z., Hao, K., Chen, L., Wang, C., Jin, Y. (2024). An Empirical Analysis of Just-in-Time Compilation in Modern Databases. In: Bao, Z., Borovica-Gajic, R., Qiu, R., Choudhury, F., Yang, Z. (eds) Databases Theory and Applications. ADC 2023. Lecture Notes in Computer Science, vol 14386. Springer, Cham. https://doi.org/10.1007/978-3-031-47843-7_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-47843-7_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-47842-0

  • Online ISBN: 978-3-031-47843-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics