skip to main content
10.1145/2882903.2882936acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Robust Query Processing in Co-Processor-accelerated Databases

Published:26 June 2016Publication History

ABSTRACT

Technology limitations are making the use of heterogeneous computing devices much more than an academic curiosity. In fact, the use of such devices is widely acknowledged to be the only promising way to achieve application-speedups that users urgently need and expect. However, building a robust and efficient query engine for heterogeneous co-processor environments is still a significant challenge.

In this paper, we identify two effects that limit performance in case co-processor resources become scarce. Cache thrashing occurs when the working set of queries does not fit into the co-processor's data cache, resulting in performance degradations up to a factor of 24. Heap contention occurs when multiple operators run in parallel on a co-processor and when their accumulated memory footprint exceeds the main memory capacity of the co-processor, slowing down query execution by up to a factor of six.

We propose solutions for both effects. Data-driven operator placement avoids data movements when they might be harmful; query chopping limits co-processor memory usage and thus avoids contention. The combined approach-data-driven query chopping-achieves robust and scalable performance on co-processors. We validate our proposal with our open-source GPU-accelerated database engine CoGaDB and the popular star schema and TPC-H benchmarks.

References

  1. CUDA C programming guide, CUDA version 6.5, 77--78. NVIDIA, 2014. http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf.Google ScholarGoogle Scholar
  2. D. J. Abadi, S. R. Madden, and N. Hachem. Column-stores vs. row-stores: How different are they really? In SIGMOD, pages 967--980. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Arumugam, A. Dobra, C. M. Jermaine, N. Pansare, and L. Perez. The DataPath system: A data-centric analytic processing engine for large data warehouses. In SIGMOD, pages 519--530. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. A. Boncz and M. L. Kersten. MIL primitives for querying a fragmented world. The VLDB Journal, 8(2):101--119, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. A. Boncz, M. Zukowski, and N. Nes. MonetDB/X100: Hyper-pipelining query execution. In CIDR, pages 225--237, 2005.Google ScholarGoogle Scholar
  6. S. Borkar and A. A. Chien. The future of microprocessors. Communications of the ACM, 54(5):67--77, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Breß, F. Beier, H. Rauhe, K.-U. Sattler, E. Schallehn, and G. Saake. Efficient co-processor utilization in database query processing. Information Systems, 38(8):1084--1096, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Breß, M. Heimel, M. Saecker, B. Kocher, V. Markl, and G. Saake. Ocelot/HyPE: Optimized data processing on heterogeneous hardware. PVLDB, 7(13):1609--1612, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Breß, N. Siegmund, M. Heimel, M. Saecker, T. Lauer, L. Bellatreche, and G. Saake. Load-aware inter-co-processor parallelism in database query processing. Data & Knowledge Engineering, 93(0):60--79, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. Chen, X. Huo, and G. Agrawal. Accelerating mapreduce on a coupled cpu-gpu architecture. In SC, pages 25:1--25:11. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Gregg and K. Hazelwood. Where is the data? why you cannot debate CPU vs. GPU performance without the answer. In ISPASS, pages 134--144. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Harizopoulos, V. Shkapenyuk, and A. Ailamaki. QPipe: A simultaneously pipelined relational query engine. In SIGMOD, pages 383--394. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. He, M. Lu, K. Yang, R. Fang, N. K. Govindaraju, Q. Luo, and P. V. Sander. Relational query co-processing on graphics processors. In ACM Trans. Database Syst., volume 34. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. He, M. Lu, and B. He. Revisiting co-processing for hash joins on the coupled CPU-GPU architecture. Proc. VLDB Endow., 6(10):889--900, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Heimel, M. Saecker, H. Pirk, S. Manegold, and V. Markl. Hardware-oblivious parallelism for in-memory column-stores. PVLDB, 6(9):709--720, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Héman, N. Nes, M. Zukowski, and P. Boncz. Vectorized data processing on the Cell broadband engine. In DaMoN, pages 4:1--4:6. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Idreos, F. Groffen, N. Nes, S. Manegold, K. S. Mullender, and M. L. Kersten. MonetDB: Two decades of research in column-oriented database architectures. IEEE Data Eng. Bull., 35(1):40--45, 2012.Google ScholarGoogle Scholar
  18. S. Jha, B. He, M. Lu, X. Cheng, and H. P. Huynh. Improving main memory hash joins on Intel Xeon Phi processors: An experimental approach. PVLDB, 8(6):642--653, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. Karnagel et al. Demonstrating efficient query processing in heterogeneous environments. In SIGMOD, pages 693--696. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Karnagel, D. Habich, and W. Lehner. Local vs. global optimization: Operator placement strategies in heterogeneous environments. In DAPHNE, EDBT/ICDT Workshops, pages 48--55, 2015.Google ScholarGoogle Scholar
  21. K. Krikellas, S. Viglas, and M. Cintra. Generating code for holistic query evaluation. In ICDE, pages 613--624. IEEE, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  22. V. Leis, P. Boncz, A. Kemper, and T. Neumann. Morsel-driven parallelism: A NUMA-aware query evaluation framework for the many-core age. In SIGMOD, pages 743--754. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Lu, L. Zhang, H. P. Huynh, Z. Ong, Y. Liang, B. He, R. Goh, and R. Huynh. Optimizing the mapreduce framework on Intel Xeon Phi coprocessor. In Big Data, pages 125--130. IEEE, 2013.Google ScholarGoogle Scholar
  24. T. Mostak. An overview of MapD (massively parallel database). White Paper, MIT, April 2013. http://geops.csail.mit.edu/docs/mapd_overview.pdf.Google ScholarGoogle Scholar
  25. R. Mueller, J. Teubner, and G. Alonso. Data processing on FPGAs. PVLDB, 2(1):910--921, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. T. Mühlbauer, W. Rödiger, R. Seilbeck, A. Kemper, and T. Neumann. Heterogeneity-conscious parallel query execution: Getting a better mileage while driving faster! In DaMoN, pages 2:1--2:10. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. T. Neumann. Efficiently compiling efficient query plans for modern hardware. PVLDB, 4(9):539--550, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. P. O'Neil, E. J. O'Neil, and X. Chen. The star schema benchmark (SSB), 2009. Revision 3, http://www.cs.umb.edu/poneil/StarSchemaB.pdf.Google ScholarGoogle Scholar
  29. I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented transaction execution. PVLDB, 3(1--2):928--939, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. H. Pirk, S. Manegold, and M. Kersten. Waste not... efficient co-processing of relational data. In ICDE. IEEE, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  31. H. Pirk, T. Sellam, S. Manegold, and M. Kersten. X-Device Query Processing by Bitwise Distribution. In DaMoN, pages 48--54. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. I. Psaroudakis, M. Athanassoulis, and A. Ailamaki. Sharing data and work across concurrent analytical queries. PVLDB, 6(9):637--648, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. I. Psaroudakis, T. Scheuer, N. May, and A. Ailamaki. Task scheduling for highly concurrent analytical and transactional main-memory workloads. In ADMS, pages 36--45. VLDB Endowment, 2013.Google ScholarGoogle Scholar
  34. J. Sanders and E. Kandrot. CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison-Wesley Professional, 1st edition, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. K. Wang, K. Zhang, Y. Yuan, S. Ma, R. Lee, X. Ding, and X. Zhang. Concurrent analytical query processing with GPUs. PVLDB, 7(11):1011--1022, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. H. Wu, G. Diamos, T. Sheard, M. Aref, S. Baxter, M. Garland, and S. Yalamanchili. Red Fox: An execution environment for relational query processing on GPUs. In CGO, pages 44:44--44:54. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Y. Yuan, R. Lee, and X. Zhang. The yin and yang of processing data warehousing queries on GPU devices. PVLDB, 6(10):817--828, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. S. Zhang et al. OmniDB: Towards portable and efficient query processing on parallel CPU/GPU architectures. PVLDB, 6(12):1374--1377, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Robust Query Processing in Co-Processor-accelerated Databases

          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
          • Published in

            cover image ACM Conferences
            SIGMOD '16: Proceedings of the 2016 International Conference on Management of Data
            June 2016
            2300 pages
            ISBN:9781450335317
            DOI:10.1145/2882903

            Copyright © 2016 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 26 June 2016

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate785of4,003submissions,20%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader