EGA: An Efficient GPU Accelerated Groupby Aggregation Algorithm
Source abstract
Abstract
With the exponential growth of big data, efficient groupby aggregation (GA) has become critical for real-time analytics across industries. GA is a key method for extracting valuable information. Current CPU-based solutions (such as large-scale parallel processing platforms) face computational throughput limitations. Since CPU-based platforms struggle to support real-time big data analysis, the GPU is introduced to support real-time GA analysis. Most GPU GA algorithms are based on hashing methods, and these algorithms experience performance degradation when the load factor of the hash table is too high or when the data volume exceeds the GPU memory capacity limit. This paper proposes an efficient hash-based GPU-accelerated groupby aggregation algorithm (EGA) that addresses these limitations. EGA features different designs for different scenarios: single-pass EGA (SP-EGA) maintains high efficiency when data fit in the GPU memory, while multipass EGA (MP-EGA) supports GA for data exceeding the GPU memory capacity. EGA demonstrates significant acceleration: SP-EGA outperforms SOTA hash-based GPU algorithms by 1.16–5.39× at load factors >0.90 and surpasses SOTA sort-based GPU methods by 1.30–2.48×. MP-EGA achieves 6.45–29.12× speedup over SOTA CPU implementations.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Energy Efficient Wireless Sensor Networks · Machine Learning and ELM · Advanced Algorithms and Applications
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Department of Computer Science and Engineering, Shanghai Jiao Tong University, Shanghai 200240, China
References (29)
Show source-provided references
1. Karnagel, T., Müller, R., and Lohman, G.M. (2015, January 31). Optimizing GPU-accelerated Group-By and Aggregation. Proceedings of the ADMS@VLDB, Kohala Coast, HI, USA.
2. A Survey on Automated Log Analysis for Reliability Engineering
3. Social media analytics: A survey of techniques, tools and platforms10.1007/s00146-014-0549-4 ↗
4. Walker, T., Davis, F., and Schwartz, T. (2022). Big Data in Finance: An Overview. Big Data in Finance: Opportunities and Challenges of Financial Digitalization, Springer International Publishing.10.1007/978-3-031-12240-8 ↗
5. A Survey of Big Data Analytics in Healthcare and Government10.1016/j.procs.2015.04.021 ↗
6. Dremel: Interactive analysis of web-scale datasets10.14778/1920841.1920886 ↗
7. Apache Spark: A unified engine for big data processing10.1145/2934664 ↗
8. Furst, E., Oskin, M., and Howe, B. (2017, January 14–19). Profiling a GPU database implementation: A holistic view of GPU resource utilization on TPC-H queries. Proceedings of the 13th International Workshop on Data Management on New Hardware, Chicago, IL, USA.10.1145/3076113.3076119 ↗
9. Shanbhag, A., Madden, S., and Yu, X. (2020, January 14–19). A study of the fundamental performance characteristics of GPUs and CPUs for database analytics. Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, Portland, OR, USA.10.1145/3318464.3380595 ↗
10. GPU Database Systems Characterization and Optimization10.14778/3632093.3632107 ↗
11. Query processing on heterogeneous CPU/GPU systems10.1145/3485126 ↗
12. Rosenfeld, V., Breß, S., Zeuch, S., Rabl, T., and Markl, V. (2019, January 1). Performance Analysis and Automatic Tuning of Hash Aggregation on GPUs. Proceedings of the 15th International Workshop on Data Management on New Hardware, Amsterdam, The Netherlands.10.1145/3329785.3329922 ↗
13. Müller, I., Sanders, P., Lacurie, A., Lehner, W., and Färber, F. (June, January 31). Cache-efficient aggregation: Hashing is sorting. Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, Melbourne, VIC, Australia.10.1145/2723372.2747644 ↗
14. Cieslewicz, J., and Ross, K.A. (2007, January 23–27). Adaptive aggregation on chip multiprocessors. Proceedings of the 33rd International Conference on Very Large Data Bases, Vienna, Austria.
15. Relational query coprocessing on graphics processors10.1145/1620585.1620588 ↗
16. Bakkum, P., and Skadron, K. (2010, January 14). Accelerating SQL database operations on a GPU with CUDA. Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units, Pittsburgh, PA, USA.10.1145/1735688.1735706 ↗
17. Efficient sorting, duplicate removal, grouping, and aggregation10.1145/3568027 ↗
18. Novel insights on atomic synchronization for sort-based group-by on GPUs10.1007/s10619-023-07424-2 ↗
19. Amenta, N., and Alcantara, D.A. (2011, January 3–5). Efficient hash tables on the GPU. Proceedings of the 2011 ACM International Conference on Computing Frontiers, Ischia, Italy.
20. Tomé, D.G., Gubner, T., Raasveldt, M., Rozenberg, E., and Boncz, P.A. (2018, January 27). Optimizing Group-By and Aggregation using GPU-CPU Co-Processing. Proceedings of the ADMS@VLDB, Rio de Janeiro, Brazil.
21. SGPAC: Generalized Scalable Spatial GroupBy Aggregations over Complex Polygons10.1007/s10707-023-00491-8 ↗
22. Kaldewey, T., Lohman, G., Müller, R., and Volk, P. (2012, January 21). GPU join processing revisited. Proceedings of the Eighth International Workshop on Data Management on New Hardware, Scottsdale, Arizona.10.1145/2236584.2236592 ↗
23. An experimental study of group-by and aggregation on CPU-GPU processors10.1186/s44147-022-00108-1 ↗
24. (2024, August 30). DuckDB. Available online: https://github.com/duckdb/duckdb.
25. (2024, August 30). ClickHouse. Available online: https://github.com/ClickHouse/ClickHouse.
26. (2024, August 30). HeavyDB. Available online: https://github.com/heavyai/heavydb.
27. (2024, August 30). BlazingSQL. Available online: https://github.com/BlazingDB/blazingsql.
28. He, D., Nakandala, S., Banda, D., Sen, R., Saur, K., Park, K., Curino, C., Camacho-Rodríguez, J., Karanasos, K., and Interlandi, M. (2022). Query processing on tensor computation runtimes. arXiv.10.14778/3551793.3551833 ↗
29. (2024, March 23). cuDF. Available online: https://github.com/rapidsai/cudf.