skip to main content
research-article
Artifacts Available / v1.1

BOSS - An Architecture for Database Kernel Composition

Published:05 March 2024Publication History
Skip Abstract Section

Abstract

Composable Database System Research has yielded components such as Apache Arrow for Storage, Meta's Velox for processing and Apache Calcite for query planning. What is lacking, however, is a design for a general, efficient and easy-to-use architecture to connect them. We propose such an architecture. Our proposal is based on the ideas of partial query evaluation and a carefully designed, unified exchange format for query plans and data. We implement the architecture in a system called BOSS1 that combines the Apache Arrow, the GPU-accelerated compute kernel ArrayFire and the CPU-oriented Velox kernel into a fully-featured relational Data Management System (DMS). We demonstrate that the architecture is general enough to incorporate practically any DMS component, easy-to-use and virtually overhead-free. Based on the architecture, BOSS achieves significant performance improvement over the CPU-only Velox kernel and even outperforms the highly-optimized GPU-only DMS HeavyDB for some queries.

References

  1. Apache Arrow. 2023. Retrieved 2023-02-24 from https://arrow.apache.orgGoogle ScholarGoogle Scholar
  2. BlazingSQL. 2023. BlazingDB. Retrieved April 14, 2023 from https://github.com/BlazingDB/blazingsqlGoogle ScholarGoogle Scholar
  3. Nils Boeschen and Carsten Binnig. 2022. GaccO - A GPU-Accelerated OLTP DBMS. In Proceedings of the 2022 International Conference on Management of Data (SIGMOD '22). Association for Computing Machinery, New York, NY, USA, 1003--1016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Peter Boncz and M. L Kersten. 2002. Monet: A next-Generation DBMS Kernel for Query-Intensive Applications. Ph.D. Dissertation. Universiteit van Amsterdam.Google ScholarGoogle Scholar
  5. Peter Boncz, Thomas Neumann, and Orri Erling. 2013. TPC-H Analyzed: Hidden Messages and Lessons Learned from an Influential Benchmark. In Technology Conference on Performance Evaluation and Benchmarking. Springer, 61--76.Google ScholarGoogle Scholar
  6. BOSS. 2023. Retrieved 2023-12-12 from http://boss.lsds.ukGoogle ScholarGoogle Scholar
  7. Sebastian Breß. 2014. The Design and Implementation of CoGaDB: A Column-Oriented GPU-accelerated DBMS. Datenbank-Spektrum 14 (2014), 199--209.Google ScholarGoogle ScholarCross RefCross Ref
  8. Sebastian Breß, Henning Funke, and Jens Teubner. 2016. Robust Query Processing in Co-Processor-Accelerated Databases. In Proceedings of the 2016 International Conference on Management of Data (SIGMOD '16). Association for Computing Machinery, New York, NY, USA, 1891--1906. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. José Cambronero, John K Feser, Micah J Smith, and Samuel Madden. 2017. Query Optimization for Dynamic Imputation. Proceedings of the VLDB Endowment 10, 11 (2017), 1310--1321.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jiashen Cao, Rathijit Sen, Matteo Interlandi, Joy Arulraj, and Hyesoon Kim. 2023. Revisiting Query Performance in GPU Database Systems. arXiv:2302.00734 [cs.DB]Google ScholarGoogle Scholar
  11. Michael J Carey, David J DeWitt, Goetz Graefe, David M Haight, Joel E Richardson, Daniel T Schuh, Eugene J Shekita, and Scott L Vandenberg. 1988. The EXODUS Extensible DBMS Project: An Overview. (1988).Google ScholarGoogle Scholar
  12. Periklis Chrysogelos, Manos Karpathiotakis, Raja Appuswamy, and Anastasia Ailamaki. 2019. HetExchange: Encapsulating Heterogeneous CPU-GPU Parallelism in JIT Compiled Engines. Proc. VLDB Endow. 12, 5 (Jan. 2019), 544--556. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. The Transaction Processing Council. 2013. TPC-H Benchmark (Revision 2.16.0). Retrieved 2023-02-24 from http://www.tpc.org/tpch/Google ScholarGoogle Scholar
  14. Dominik Durner, Viktor Leis, and Thomas Neumann. 2021. JSON Tiles: Fast Analytics on Semi-Structured Data. In Proceedings of the 2021 International Conference on Management of Data. 445--458.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Henning Funke, Sebastian Breß, Stefan Noll, Volker Markl, and Jens Teubner. 2018. Pipelined Query Processing in Coprocessor Environments. In Proceedings of the 2018 International Conference on Management of Data (SIGMOD '18). Association for Computing Machinery, New York, NY, USA, 1603--1618. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Vincent Garcia, Eric Debreuve, and Michel Barlaud. 2008. Fast k Nearest Neighbor Search Using GPU. In 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops. 1--6. Google ScholarGoogle ScholarCross RefCross Ref
  17. Vincent Garcia, Éric Debreuve, Frank Nielsen, and Michel Barlaud. 2010. K-Nearest Neighbor Search: Fast GPU-based Implementations and Application to High-Dimensional Feature Matching. In 2010 IEEE International Conference on Image Processing. 3757--3760. Google ScholarGoogle ScholarCross RefCross Ref
  18. Google. 2023. Google SQL. Retrieved 2023-04-13 from https://cloud.google.com/spanner/docs/reference/standard-sql/overviewGoogle ScholarGoogle Scholar
  19. G. Graefe. Feb./1994. Volcano-an Extensible and Parallel Query Evaluation System. IEEE Transactions on Knowledge and Data Engineering 6, 1 (Feb./1994), 120--135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Chris Gregg and Kim Hazelwood. 2011. Where Is the Data? Why You Cannot Debate CPU vs. GPU Performance without the Answer. In (IEEE ISPASS) IEEE International Symposium on Performance Analysis of Systems and Software. IEEE, 134--144.Google ScholarGoogle ScholarCross RefCross Ref
  21. K. O. W. Group. 2023. The OpenCL Specification. Retrieved April 15, 2023 from https://registry.khronos.org/OpenCL/specs/opencl-2.0.pdfGoogle ScholarGoogle Scholar
  22. HEAVY.AI. 2023. HeavyDB. Retrieved April 14, 2023 from https://www.heavy.ai/product/heavydbGoogle ScholarGoogle Scholar
  23. Max Heimel, Michael Saecker, Holger Pirk, Stefan Manegold, and Volker Markl. 2013. Hardware-Oblivious Parallelism for in-Memory Column-Stores. Proc. VLDB Endow. 6, 9 (July 2013), 709--720. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Denis Hirn and Torsten Grust. 2021. One WITH RECURSIVE Is Worth Many GOTOs. In Proceedings of the 2021 International Conference on Management of Data. ACM, Virtual Event China, 723--735. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Intel. 2023. VTune Profiler. Retrieved 2023-02-24 from https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.htmlGoogle ScholarGoogle Scholar
  26. Will Jones, Tony Field, and Tristan Allwood. 2012. Deconstraining DSLs. In Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming. ACM, Copenhagen Denmark, 299--310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Julia. 2023. Retrieved 2023-02-24 from https://julialang.orgGoogle ScholarGoogle Scholar
  28. Timo Kersten, Viktor Leis, Alfons Kemper, Thomas Neumann, Andrew Pavlo, and Peter Boncz. 2018. Everything You Always Wanted to Know about Compiled and Vectorized Queries but Were Afraid to Ask. Proceedings of the VLDB Endowment 11, 13 (Sept. 2018), 2209--2222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Delta Lake. 2023. Retrieved 2023-04-19 from https://delta.io/Google ScholarGoogle Scholar
  30. Jing Li, Hung-Wei Tseng, Chunbin Lin, Yannis Papakonstantinou, and Steven Swanson. 2016. HippogriffDB: Balancing I/O and GPU Bandwidth in Big Data Analytics. Proc. VLDB Endow. 9, 14 (Oct. 2016), 1647--1658. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Clemens Lutz, Sebastian Breß, Steffen Zeuch, Tilmann Rabl, and Volker Markl. 2020. Pump Up the Volume: Processing Large Data on GPUs with Fast Interconnects. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data. ACM, Portland OR USA, 1633--1649. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. James Malcolm, Pavan Yalamanchili, Chris McClanahan, Vishwanath Venugopalakrishnan, Krunal Patel, and John Melonakos. 2012. ArrayFire: A GPU Acceleration Platform. In SPIE Defense, Security, and Sensing, Eric J. Kelmelis (Ed.). Baltimore, Maryland, USA, 84030A. Google ScholarGoogle ScholarCross RefCross Ref
  33. Tobias Maltenberger, Ivan Ilic, Ilin Tolovski, and Tilmann Rabl. 2022. Evaluating Multi-GPU Sorting with Modern Interconnects. In Proceedings of the 2022 International Conference on Management of Data (SIGMOD '22). Association for Computing Machinery, New York, NY, USA, 1795--1809. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. John McCarthy. 1960. Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I. Commun. ACM 3, 4 (April 1960), 184--195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Thomas Neumann. 2011. Efficiently Compiling Efficient Query Plans for Modern Hardware. Proceedings of the VLDB Endowment 4, 9 (June 2011), 539--550. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Johns Paul, Jiong He, and Bingsheng He. 2016. GPL: A GPU-Based Pipelined Query Processing Engine. In Proceedings of the 2016 International Conference on Management of Data (SIGMOD '16). Association for Computing Machinery, New York, NY, USA, 1935--1950. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Johns Paul, Shengliang Lu, Bingsheng He, and Chiew Tong Lau. 2021. MG-Join: A Scalable Join for Massively Parallel Multi-GPU Architectures. In Proceedings of the 2021 International Conference on Management of Data (SIGMOD '21). Association for Computing Machinery, New York, NY, USA, 1413--1425. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Pedro Pedreira, Orri Erling, Masha Basmanova, Kevin Wilfong, Laith Sakka, Krishna Pai, Wei He, and Biswapesh Chattopadhyay. 2022. Velox: Meta's Unified Execution Engine. Proc. VLDB Endow. 15, 12 (Aug. 2022), 3372--3384. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Pedro Pedreira, Orri Erling, Konstantinos Karanasos, Scott Schneider, Wes McKinney, Satya R Valluri, Mohamed Zait, and Jacques Nadeau. 2023. The Composable Data Management System Manifesto. Proceedings of the VLDB Endowment 16, 10 (2023), 2679--2685.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Mark Raasveldt and Hannes Mühleisen. 2020. Data Management for Data Science Towards Embedded Analytics. (2020).Google ScholarGoogle Scholar
  41. Karthik Ramachandra, Kwanghyun Park, K. Venkatesh Emani, Alan Halverson, César Galindo-Legaria, and Conor Cunningham. 2017. Froid: Optimization of Imperative Programs in a Relational Database. Proceedings of the VLDB Endowment 11, 4 (Dec. 2017), 432--444. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Ran Rui, Hao Li, and Yi-Cheng Tu. 2020. Efficient Join Algorithms for Large Database Tables in a Multi-GPU Environment. Proc. VLDB Endow. 14, 4 (Dec. 2020), 708--720. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Ran Rui and Yi-Cheng Tu. 2017. Fast Equi-Join Algorithms on GPUs: Design and Implementation. In Proceedings of the 29th International Conference on Scientific and Statistical Database Management (SSDBM '17). Association for Computing Machinery, New York, NY, USA, Article 17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Nikola Samardzic, Weikang Qiao, Vaibhav Aggarwal, Mau-Chung Frank Chang, and Jason Cong. 2020. Bonsai: High-performance Adaptive Merge Tree Sorting. In 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA). 282--294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Anil Shanbhag, Samuel Madden, and Xiangyao Yu. 2020. A Study of the Fundamental Performance Characteristics of GPUs and CPUs for Database Analytics. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data (SIGMOD '20). Association for Computing Machinery, New York, NY, USA, 1617--1632. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Anil Shanbhag, Holger Pirk, and Samuel Madden. 2018. Efficient Top-K Query Processing on Massively Parallel Hardware (SIGMOD '18). Association for Computing Machinery, New York, NY, USA, 1557--1570. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Panagiotis Sioulas, Periklis Chrysogelos, Manos Karpathiotakis, Raja Appuswamy, and Anastasia Ailamaki. 2019. Hardware-Conscious Hash-Joins on GPUs. In 2019 IEEE 35th International Conference on Data Engineering (ICDE). IEEE, Macao, Macao, 698--709. Google ScholarGoogle ScholarCross RefCross Ref
  48. Panagiotis Sioulas, Periklis Chrysogelos, Manos Karpathiotakis, Raja Appuswamy, and Anastasia Ailamaki. 2019. Hardware-Conscious Hash-Joins on GPUs. In 2019 IEEE 35th International Conference on Data Engineering (ICDE). 698--709. Google ScholarGoogle ScholarCross RefCross Ref
  49. Elias Stehle and Hans-Arno Jacobsen. 2017. A Memory Bandwidth-Efficient Hybrid Radix Sort on GPUs. In Proceedings of the 2017 ACM International Conference on Management of Data (SIGMOD '17). Association for Computing Machinery, New York, NY, USA, 417--432. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Substrait. 2023. Retrieved 2023-02-24 from https://substrait.ioGoogle ScholarGoogle Scholar
  51. Yuchao Tao, Xi He, Ashwin Machanavajjhala, and Sudeepa Roy. 2020. Computing Local Sensitivities of Counting Queries with Joins. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data (SIGMOD '20). Association for Computing Machinery, New York, NY, USA, 479--494. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Patrick Wieschollek, Oliver Wang, Alexander Sorkine-Hornung, and Hendrik Lensch. 2016. Efficient Large-Scale Approximate Nearest Neighbor Search on the Gpu. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2027--2035.Google ScholarGoogle ScholarCross RefCross Ref
  53. Haicheng Wu, Gregory Diamos, Srihari Cadambi, and Sudhakar Yalamanchili. 2012. Kernel Weaver: Automatically Fusing Database Primitives for Efficient GPU Computation. In 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture. 107--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Bobbi W. Yogatama, Weiwei Gong, and Xiangyao Yu. 2022. Orchestrating Data Placement and Query Execution in Heterogeneous CPU-GPU DBMS. Proc. VLDB Endow. 15, 11 (July 2022), 2491--2503. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Yuan Yuan, Rubao Lee, and Xiaodong Zhang. 2013. The Yin and Yang of Processing Data Warehousing Queries on GPU Devices. Proc. VLDB Endow. 6, 10 (Aug. 2013), 817--828. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Marcin Zukowski, Peter A Boncz, Niels Nes, and Sándor Héman. 2005. MonetDB/X100-A DBMS in the CPU Cache. IEEE Data Eng. Bull. 28, 2 (2005), 17--22.Google ScholarGoogle Scholar

Index Terms

  1. BOSS - An Architecture for Database Kernel Composition
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image Proceedings of the VLDB Endowment
              Proceedings of the VLDB Endowment  Volume 17, Issue 4
              December 2023
              309 pages
              ISSN:2150-8097
              Issue’s Table of Contents

              Publisher

              VLDB Endowment

              Publication History

              • Published: 5 March 2024
              Published in pvldb Volume 17, Issue 4

              Check for updates

              Qualifiers

              • research-article
            • Article Metrics

              • Downloads (Last 12 months)49
              • Downloads (Last 6 weeks)29

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader