Skip to main content
Log in

One size does not fit all: accelerating OLAP workloads with GPUs

  • Published:
Distributed and Parallel Databases Aims and scope Submit manuscript

Abstract

GPU has been considered as one of the next-generation platforms for real-time query processing databases. In this paper we empirically demonstrate that the representative GPU databases [e.g., OmniSci (Open Source Analytical Database & SQL Engine, https://www.omnisci.com/platform/omniscidb, 2019)] may be slower than the representative in-memory databases [e.g., Hyper (Neumann and Leis, IEEE Data Eng Bull 37(1):3–11, 2014)] with typical OLAP workloads (with Star Schema Benchmark) even if the actual dataset size of each query can completely fit in GPU memory. Therefore, we argue that GPU database designs should not be one-size-fits-all; a general-purpose GPU database engine may not be well-suited for OLAP workloads without careful designed GPU memory assignment and GPU computing locality. In order to achieve better performance for GPU OLAP, we need to re-organize OLAP operators and re-optimize OLAP model. In particular, we propose the 3-layer OLAP model to match the heterogeneous computing platforms. The core idea is to maximize data and computing locality to specified hardware. We design the vector grouping algorithm for data-intensive workload which is proved to be assigned to CPU platform adaptive. We design the TOP-DOWN query plan tree strategy to guarantee the optimal operation in final stage and pushing the respective optimizations to the lower layers to make global optimization gains. With this strategy, we design the 3-stage processing model (OLAP acceleration engine) for hybrid CPU-GPU platform, where the computing-intensive star-join stage is accelerated by GPU, and the data-intensive grouping & aggregation stage is accelerated by CPU. This design maximizes the locality of different workloads and simplifies the GPU acceleration implementation. Our experimental results show that with vector grouping and GPU accelerated star-join implementation, the OLAP acceleration engine runs 1.9×, 3.05× and 3.92× faster than Hyper, OmniSci GPU and OmniSci CPU in SSB evaluation with dataset of SF = 100.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Similar content being viewed by others

References

  1. Neumann, T., Leis, V.: Compiling database queries into machine code. IEEE Data Eng. Bull. 37(1), 3–11 (2014)

    Google Scholar 

  2. Open Source Analytical Database & SQL Engine. (2019). https://www.omnisci.com/platform/omniscidb

  3. HGX-2 Fuses HPC and AI Computing Architectures. (2018). https://devblogs.nvidia.com/hgx-2-fuses-ai-computing/

  4. Kinetica is the insight engine for the Extreme Data Economy. (2018). https://www.kinetica.com/

  5. SQream DB is the GPU Data Warehouse for massive data. (2018). https://sqream.com/

  6. FASTEST, SMARTEST-AI-Oriented Data Processing Platform. (2018). https://zilliz.com/

  7. PG-Strom - Master development repository. (2017). https://github.com/heterodb/pg-strom

  8. Balkesen, C., Teubner, J., Alonso, G., Tamer Özsu, M.: Main-memory hash joins on multi-core CPUs: tuning to the underlying hardware. ICDE 2013, 362–373 (2013)

    Google Scholar 

  9. Balkesen, C., Alonso, G., Teubner, J., Tamer Özsu, M.: Multi-core, main-memory joins: sort vs hash revisited. PVLDB 7(1), 85–96 (2013)

    Google Scholar 

  10. Richter, S., Alvarez, V., Dittrich, J.: A seven-dimensional analysis of hashing methods and its implications on query processing. PVLDB 9(3), 96–107 (2015)

    Google Scholar 

  11. Schuh, S., Chen, X., Dittrich, J.: An experimental comparison of thirteen relational equi-joins in main memory. SIGMOD Conference 2016, pp. 1961–1976 (2016)

  12. Cheng, X., He, B., Lu, M., Lau, C.T., Huynh, H.P., Goh, R.S.M.: Efficient query processing on many-core architectures: a case study with intel Xeon Phi Processor. SIGMOD Conference 2016, pp. 2081–2084 (2016)

  13. Cheng, X., He, B., Du, X., Lau, C.T.: A study of main-memory hash joins on many-core processor: a case with Intel knights landing architecture. CIKM 2017, pp. 657–666 (2017)

  14. He, B., Yang, K., Fang, R., Lu, M., Govindaraju, N.K., Luo, Q., Sander, P.V.: Relational joins on graphics processors. SIGMOD Conference 2008, pp. 511–524 (2008)

  15. Rui, R., Li, H., Tu, Y.-C.: Join algorithms on GPUs: a revisit after seven years. Big Data 2015, 2541–2550 (2015)

    Google Scholar 

  16. He, J., Mian, Lu, He, B.: Revisiting co-processing for hash joins on the coupled CPU-GPU architecture. PVLDB 6(10), 889–900 (2013)

    Google Scholar 

  17. Halstead, R.J., Absalyamov, I., Najjar, W.A., Tsotras, V.J.: FPGA-based Multithreading for In-Memory Hash Joins. CIDR (2015)

  18. Kara, K., Giceva, J., Alonso, G.: FPGA-based Data Partitioning. SIGMOD Conference 2017, pp. 433–445 (2017)

  19. MapD Technical Whitepaper. The world’s fastest platform for data exploration. (2018). https://go3.mapd.com/resources/whitepapers/mapd/lp

  20. Sompolski, J., Zukowski, M., Boncz, P.A.: Vectorization vs. compilation in query execution. DaMoN 2011, pp. 33–40 (2011)

  21. Furst, E., Oskin, M., Howe, B.: Profiling a GPU database implementation: a holistic view of GPU resource utilization on TPC-H queries. DaMoN 3(1–3), 6 (2017)

    Google Scholar 

  22. Boncz, P.A., Kersten, M.L., Manegold, S.: Breaking the memory wall in MonetDB. Commun. ACM 51(12), 77–85 (2008)

    Article  Google Scholar 

  23. Breß, S., Heimel, M., Siegmund, N., Bellatreche, L., Saake, G.: GPU-accelerated database systems: survey and open challenges. Trans. Large-Scale Data Knowl. Cent. Syst. 15, 1–35 (2014)

    Google Scholar 

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

    Google Scholar 

  25. Zhang, Y., Zhou, X., Ying Zhang, Yu, Zhang, M.S., Wang, S.: Virtual denormalization via array index reference for main memory OLAP. IEEE Trans. Knowl. Data Eng. 28(4), 1061–1074 (2016)

    Article  Google Scholar 

  26. Zhang, Y., Zhang, Y., Wang, S., Lu, J.: Fusion OLAP: fusing the pros of MOLAP and ROLAP together for in-memory OLAP. https://doi.org/10.1109/TKDE.2018.2867522. https://ieeexplore.ieee.org/document/8449096

  27. HyPer—a hybrid OLTP&OLAP high performance DBMS. (2015). https://hyper-db.com/

  28. https://docs.omnisci.com/latest/4_centos7-yum-gpu-os-recipe.html (2019)

  29. https://github.com/heterodb/pg-strom (2016)

  30. https://zilliz.com/docs/analytics_overview (2019)

  31. https://www.top500.org/lists/2018/06/ (2018)

  32. https://www.top500.org/green500/lists/2019/11/ (2019)

  33. GPU-Accelerated Analytics on your Data Lake. (2018). https://blazingdb.com/

  34. Paul, J., He, J., He, B: GPL: a GPU-based pipelined query processing engine. Proceedings of the 2016 International Conference on Management of Data. ACM (2016)

  35. Funke, H., Breß, S., Noll, S., Markl, V., Teubner, J.: Pipelined query processing in coprocessor environments. SIGMOD Conference 2018, pp. 1603–1618 (2018)

  36. Chrysogelos, P., et al.: HetExchange: encapsulating heterogeneous CPU-GPU parallelism in JIT compiled engines. Proc. VLDB Endow 12(5), 544–556 (2019)

    Article  Google Scholar 

Download references

Acknowledgements

This work was supported by the National Natural Science Foundation of China (Grant Nos. 61772533, 61732014), the Natural Science Foundation of Beijing (Grant No. 4192066) and Academy of Finland, Finland (Grant No. s310321). We also thank the cooperation project from Intel in China.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yu Zhang.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhang, Y., Zhang, Y., Lu, J. et al. One size does not fit all: accelerating OLAP workloads with GPUs. Distrib Parallel Databases 38, 995–1037 (2020). https://doi.org/10.1007/s10619-020-07304-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10619-020-07304-z

Keywords

Navigation