Overtaking CPU DBMSes with a GPU in Whole-Query Analytic Processing with Parallelism-Friendly Execution Plan Optimization

  • Adnan Agbaria
  • David Minor
  • Natan Peterfreund
  • Eyal Rozenberg
  • Ofer Rosenberg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10195)

Abstract

Existing work on accelerating analytic DB query processing with (discrete) GPUs fails to fully realize their potential for speedup through parallelism: Published results do not achieve significant speedup over more performant CPU-only DBMSes when processing complete queries.

This paper presents a successful effort to better meet this challenge, in the form of a proof-of-concept query processing framework. The framework constitutes a graft onto an existing DBMS, altering some parts of it and replacing its execution engine entirely. It intensively refactors query execution plans, making them better-parallelizable, before executing them on either a CPU or on GPU. This results in a significant speedup even on a CPU, and a further speedup when using a GPU, over the chosen host DBMS (MonetDB) — which itself already bests most published results utilizing a GPU for query processing.

Finally, we outline some concrete future improvements on our results which can cut processing time by half and possibly much more.

References

  1. 1.
    Armbrust, M., Xin, R.S., Lian, C., Huai, Y., Liu, D., Bradley, J.K., Meng, X., Kaftan, T., Franklin, M.J., Ghodsi, A., Zaharia, M.: Spark SQL: relational data processing in spark. In: Proceedings of the SIGMOD, SIGMOD 2015, pp. 1383–1394. ACM (2015)Google Scholar
  2. 2.
    Bakkum, P., Chakradhar, S.: Efficient data management for GPU databases. NEC Laboratories America, Princeton, NJ, Technical report (2012)Google Scholar
  3. 3.
    Bakkum, P., Chakradhar, S.: Efficient data management for GPU databases. NEC Laboratories America, Princeton, NJ, Technical report [2]Google Scholar
  4. 4.
    Breß, S., Heimel, M., Siegmund, N., Bellatreche, L., Saake, G.: GPU-accelerated database systems: survey and open challenges. In: Proceedings of BigDataScience. ACM/IEEE (2014)Google Scholar
  5. 5.
    He, B., Lu, M., Yang, K., Fang, R., Govindaraju, N.K., Luo, Q., Sander, P.V.: Relational query coprocessing on graphics processors. Trans. DB Sys. 34(4), 21:1–21:39 (2009)Google Scholar
  6. 6.
    Heimel, M., Saecker, M., Pirk, H., Manegold, S., Markl, V.: Hardware-oblivious parallelism for in-memory column-stores. In: Proceedings of VLDB, vol. 9, pp. 709–720 (2013)Google Scholar
  7. 7.
    Kemper, A., Neumann, T., Garching, D.: HyPer: A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. In: Proceedings of ICDE (2011)Google Scholar
  8. 8.
  9. 9.
    Luitjens, J.: Faster parallel reductions on Kepler (2014). http://devblogs.nvidia.com/parallelforall/faster-parallel-reductions-kepler/
  10. 10.
    Manegold, S., Kersten, M., Boncz, P.: Database architecture evolution: mammals flourished long before dinosaurs became extinct. Proc. VLDB 2(2), 1648–1653 (2009)CrossRefGoogle Scholar
  11. 11.
    MonetDB webpage. http://www.monetdb.org
  12. 12.
    Neumann, T.: Efficiently compiling efficient query plans for modern hardware. Proc. VLDB 4(9), 539–550 (2011)CrossRefGoogle Scholar
  13. 13.
    Paul, J., He, J., He, B.: GPL: A GPU-based pipelined query processing engine. In: Proceedings of SIGMOD. ACM (2016)Google Scholar
  14. 14.
    Power, J., Li, Y., Hill, M.D., Patel, J.M., Wood, D.A.: Toward GPUs being mainstream in analytic processing: an initial argument using simple scan-aggregate queries. In: Proceedings of DaMoN, p. 11. ACM (2015)Google Scholar
  15. 15.
    Sidirourgos, L., Kersten, M.: Column imprints: a secondary index structure. In: Proceedings of SIGMOD, pp. 893–904. ACM (2013)Google Scholar
  16. 16.
    Sitaridi, E.A., Ross, K.A.: GPU-accelerated string matching for database applications. J. VLDB, 1–22 (2015)Google Scholar
  17. 17.
    Stonebraker, M., Hellerstein, J., Bailis, P.: Readings in Database Systems (The Red Book), 5th edn (2015). http://www.redbook.io/
  18. 18.
  19. 19.
  20. 20.
    The TPC Council: TPC Benchmark H (rev 2.17.1) (2014). http://www.tpc.org/tpch
  21. 21.
    Wu, H., Diamos, G., Sheard, T., Aref, M., Baxter, S., Garland, M., Yalamanchili, S.: Red fox: an execution environment for relational query processing on GPUs. In: Proceedings of CGO, p. 44. ACM (2014)Google Scholar
  22. 22.
    Yong, K.K., Karuppiah, E.K., See, S.: Galactica: A GPU parallelized database accelerator. In: Proceedings of BigDataScience. ACM/IEEE (2014)Google Scholar
  23. 23.
    Yuan, Y., Lee, R., Zhang, X.: The Yin and Yang of processing data warehousing queries on GPU devices. Proc. VLDB 6(10), 817–828 (2013)CrossRefGoogle Scholar
  24. 24.
    Zukowski, M., Boncz, P.: Vectorwise: beyond column stores. IEEE Data Eng. Bull. 35(1), 21–27 (2012)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Adnan Agbaria
    • 1
  • David Minor
    • 2
  • Natan Peterfreund
    • 3
  • Eyal Rozenberg
    • 4
  • Ofer Rosenberg
    • 3
  1. 1.IntelSanta ClaraUSA
  2. 2.GE Global ResearchNiskayunaUSA
  3. 3.Huawei ResearchRamot MenasheIsrael
  4. 4.CWI AmsterdamAmsterdamNetherlands

Personalised recommendations