Skip to main content

Multi-level Parallel Query Execution Framework for CPU and GPU

  • Conference paper
Advances in Databases and Information Systems (ADBIS 2013)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 8133))

Abstract

Recent developments have shown that classic database query execution techniques, such as the iterator model, are no longer optimal to leverage the features of modern hardware architectures. This is especially true for massive parallel architectures, such as many-core processors and GPUs. Here, the processing of single tuples in one step is not enough work to utilize the hardware resources and the cache efficiently and to justify the overhead introduced by iterators. To overcome these problems, we use just-in-time compilation to execute whole OLAP queries on the GPU minimizing the overhead for transfer and synchronization. We describe several patterns, which can be used to build efficient execution plans and achieve the necessary parallelism. Furthermore, we show that we can use similar processing models (and even the same source code) on GPUs and modern CPU architectures, but point out also some differences and limitations for query execution on GPUs. Results from our experimental evaluation using a TPC-H subset show that using these patterns we can achieve a speed-up of up to factor 5 compared to a CPU implementation.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Bakkum, P., Skadron, K.: Accelerating SQL database operations on a GPU with CUDA. In: Proc. 3rd Workshop on GPGPU, p. 94 (2010)

    Google Scholar 

  2. Boncz, P., Zukowski, M., Nes, N.: MonetDB/X100: Hyper-Pipelining Query Execution. In: Proc. CIDR, vol. 5 (2005)

    Google Scholar 

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

    Article  Google Scholar 

  4. Daga, M., Aji, A., Feng, W.: On the Efficacy of a Fused CPU+GPU Processor (or APU) for Parallel Computing. In: SAAHPC. IEEE (2011)

    Google Scholar 

  5. Dean, J., Ghemawat, S.: MapReduce. Comm. of the ACM 51(1), 107 (2008)

    Article  Google Scholar 

  6. Dees, J., Sanders, P.: Efficient Many-Core Query Execution in Main Memory Column-Stores. To appear on ICDE 2013 (2013)

    Google Scholar 

  7. Graefe, G.: Encapsulation of Parallelism in the Volcano Query Processing System, vol. 19. ACM (1990)

    Google Scholar 

  8. He, B., Lu, M., Yang, K., Fang, R., Govindaraju, N.K., Luo, Q., Sander, P.V.: Relational Query Coprocessing on Graphics Processors. ACM Transactions on Database Systems 34 (2009)

    Google Scholar 

  9. He, B., Yu, J.X.: High-Throughput Transaction Executions on Graphics Processors. PVLDB 4, 314–325 (2011)

    Google Scholar 

  10. Kaldewey, T., Lohman, G., Mueller, R., Volk, P.: GPU Join Processing Revisited. In: Proc. 8th DaMoN (2012)

    Google Scholar 

  11. Kemper, A., Neumann, T.: HyPer: A hybrid OLTP&OLAP Main Memory Database System Based on Virtual Memory Snapshots. In: Proc. of ICDE (2011)

    Google Scholar 

  12. Krikellas, K., Viglas, S., Cintra, M.: Generating Code for Holistic Query Evaluation. In: Proc. of ICDE, pp. 613–624. IEEE (2010)

    Google Scholar 

  13. Lattner, C.: LLVM and Clang: Next Generation Compiler Technology. In: The BSD Conference (2008)

    Google Scholar 

  14. Neumann, T.: Efficiently Compiling Efficient Query Plans for Modern Hardware. Proc. of VLDB 4(9), 539–550 (2011)

    Google Scholar 

  15. NVidia: CUDA C Best Practices Guide (2012)

    Google Scholar 

  16. Valiant, L.G.: A Bridging Model for Parallel Computation. Comm. ACM 33 (1990)

    Google Scholar 

  17. Zukowski, M., Boncz, P.A.: From X100 to Vectorwise: Opportunities, Challenges and Things Most Researchers do not Think About. In: SIGMOD Conference (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Rauhe, H., Dees, J., Sattler, KU., Faerber, F. (2013). Multi-level Parallel Query Execution Framework for CPU and GPU. In: Catania, B., Guerrini, G., Pokorný, J. (eds) Advances in Databases and Information Systems. ADBIS 2013. Lecture Notes in Computer Science, vol 8133. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40683-6_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40683-6_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40682-9

  • Online ISBN: 978-3-642-40683-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics