skip to main content
10.1145/3533737.3535099acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

iGPU-Accelerated Pattern Matching on Event Streams

Published: 13 June 2022 Publication History

Abstract

Pattern matching, also known as Match-Recognize in SQL, is an expensive operator of particular relevance in many event stream applications. However, because of its sequential nature and challenging latency requirements, current stream processing engines do not provide any parallel processing support for pattern matching. In addition, hardware accelerators based on dedicated GPUs also offer limited support due to the overhead of transferring data between their local and main memory. In contrast, however, integrated GPUs (iGPUs), with their ability to access main memory directly, offer great potential to accelerate pattern matching. This paper presents the first full-fledged implementation of pattern matching cooperatively using iGPUs and CPUs. Our results obtained from a preliminary experimental performance comparison confirm the potential of our iGPU-based approaches for accelerating pattern matching.

References

[1]
2016. ISO/IEC TR 19075-5:2016, Information technology - Database languages - SQL Technical Reports - Part 5: Row Pattern Recognition in SQL. Retrieved March 13, 2019 from http://standards.iso.org/ittf/PubliclyAvailableStandards/ http://standards.iso.org/ittf/PubliclyAvailableStandards/, accessed March 13, 2019.
[2]
2019. Esper CEP. Retrieved October 28, 2019 from http://www.espertech.com/esper
[3]
Jagrati Agrawal, Yanlei Diao, Daniel Gyllstrom, and Neil Immerman. 2008. Efficient pattern matching over event streams. In Proceedings of the 2008 ACM SIGMOD international conference on Management of data - SIGMOD ’08. 147–160. https://doi.org/10.1145/1376616.1376634
[4]
Cagri Balkesen, Nihal Dindar, Matthias Wetter, and Nesime Tatbul. 2013. RIP: Run-based intra-query parallelism for scalable complex event processing. In Proceedings of the 2013 ACM International Conference on Distributed Event-Based Systems - DEBS ’13. 3–14. https://doi.org/10.1145/2488222.2488257
[5]
Paris Carbone, Asterios Katsifodimos, Stephan Ewen, Volker Markl, Seif Haridi, and Kostas Tzoumas. 2015. Apache Flink™: Stream and Batch Processing in a Single Engine. IEEE Data Eng. Bull. 38, 4 (2015), 28–38. http://sites.computer.org/debull/A15dec/p28.pdf
[6]
Niccolo’ Cascarano, Pierluigi Rolando, Fulvio Risso, and Riccardo Sisto. 2010. INFAnt: NFA Pattern Matching on GPGPU Devices. SIGCOMM Comput. Commun. Rev. 40, 5 (oct 2010), 20–26. https://doi.org/10.1145/1880153.1880157
[7]
Gianpaolo Cugola and Alessandro Margara. 2012. Low latency complex event processing on parallel hardware. J. Parallel Distributed Comput. 72, 2 (2012), 205–218. https://doi.org/10.1016/j.jpdc.2011.11.002
[8]
Alan Demers, Johannes Gehrke, Mingsheng Hong, Biswanath Panda, Mirek Riedewald, Varun Sharma, and Walker White. 2007. Cayuga: A General Purpose Event Monitoring System. In Proceedings of the 2007 Biennial Conference on Innovative Data Systems Research - CIDR ’07. 412–422. https://doi.org/10.1145/1247480.1247620
[9]
Yanlei Diao, Neil Immerman, and Daniel Gyllstrom. 2007. Sase+: An agile language for kleene closure over event streams. Technical Report. University of Massachusetts.
[10]
Yanlei Diao, Neil Immerman, and Daniel Gyllstrom. 2007. Sase+: An agile language for kleene closure over event streams. Technical Report.
[11]
Bugra Gedik, Rajesh Bordawekar, and Philip S. Yu. 2009. CellJoin: a parallel stream join operator for the cell processor. VLDB J. 18, 2 (2009), 501–519. https://doi.org/10.1007/s00778-008-0116-z
[12]
Martin Hirzel. 2012. Partition and Compose: Parallel Complex Event Processing. In Proceedings of the 2012 ACM International Conference on Distributed and Event-based Systems - DEBS ’12. 191–200. https://doi.org/10.1145/2335484.2335506
[13]
Mark Joselli, Marcelo Panaro de Moraes Zamith, Esteban Walter Gonzalez Clua, Anselmo Antunes Montenegro, Aura Conci, Regina Leal-Toledo, Luis Valente, Bruno Feijó, Marcos Cordeiro d’Ornellas, and Cesar Tadeu Pozzer. 2008. Automatic Dynamic Task Distribution between CPU and GPU for Real-Time Systems. In Proceedings of the 11th IEEE International Conference on Computational Science and Engineering, CSE 2008, São Paulo, SP, Brazil, July 16-18, 2008. 48–55.
[14]
Tomas Karnagel, Dirk Habich, Benjamin Schlegel, and Wolfgang Lehner. 2013. The HELLS-join: a heterogeneous stream join for extremely large windows. In Proceedings of the Ninth International Workshop on Data Management on New Hardware, DaMoN 1013, New York, NY, USA, June 24, 2013. 2.
[15]
Ilya Kolchinsky and Assaf Schuster. 2018. Join Query Optimization Techniques for Complex Event Processing Applications. Proc. VLDB Endow. 11, 11 (2018), 1332–1345. https://doi.org/10.14778/3236187.3236189
[16]
Ilya Kolchinsky and Assaf Schuster. 2019. Real-Time Multi-Pattern Detection over Event Streams. In Proceedings of the 2019 ACM SIGMOD international conference on Management of data - SIGMOD ’19. 589–606. https://doi.org/10.1145/3299869.3319869
[17]
Ilya Kolchinsky, Izchak Sharfman, and Assaf Schuster. 2015. Lazy evaluation methods for detecting complex events. In Proceedings of the 2015 ACM International Conference on Distributed Event-Based Systems - DEBS ’15. 34–45. https://doi.org/10.1145/2675743.2771832
[18]
Alexandros Koliousis, Matthias Weidlich, Raul Castro Fernandez, Alexander L. Wolf, Paolo Costa, and Peter R. Pietzuch. 2016. SABER: Window-Based Hybrid Stream Processing for Heterogeneous Architectures. In Proceedings of the 2016 International Conference on Management of Data, SIGMOD Conference 2016, San Francisco, CA, USA, June 26 - July 01, 2016. 555–569.
[19]
Michael Körber, Jakob Eckstein, Nikolaus Glombiewski, and Bernhard Seeger. 2019. Event Stream Processing on Heterogeneous System Architecture. In Proceedings of the 15th International Workshop on Data Management on New Hardware, DaMoN 2019, Amsterdam, The Netherlands, 1 July 2019. 3:1–3:10.
[20]
Yuan Mei and Samuel Madden. 2009. ZStream : A Cost-based Query Processor for Adaptively Detecting Composite Events Categories and Subject Descriptors. In Proceedings of the 2009 SIGMOD international conference on Management of data - SIGMOD ’09. 193–206. https://doi.org/10.1145/1559845.1559867
[21]
Wen mei W. Hwu. 2015. Heterogeneous System Architecture: A new compute platform infrastructure. Morgan Kaufmann.
[22]
Saoni Mukherjee, Yifan Sun, Paul Blinzer, Amir Kavyan Ziabari, and David R. Kaeli. 2016. A comprehensive performance analysis of HSA and OpenCL 2.0. In 2016 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2016, Uppsala, Sweden, April 17-19, 2016. 183–193.
[23]
Marcus Pinnecke, David Broneske, and Gunter Saake. 2015. Toward GPU Accelerated Data Stream Processing. In Proceedings of the 27th GI-Workshop Grundlagen von Datenbanken, Gommern, Germany, May 26-29, 2015. 78–83.
[24]
Medhabi Ray, Chuan Lei, and Elke A. Rundensteiner. 2016. Scalable Pattern Sharing on Event Streams. In Proceedings of the 2016 ACM SIGMOD international conference on Management of data - SIGMOD ’16. 495–510. https://doi.org/10.1145/2882903.2882947
[25]
Nicholas Poul Schultz-Møller, Matteo Migliavacca, and Peter Pietzuch. 2009. Distributed complex event processing with query rewriting. In Proceedings of the 2009 ACM International Conference on Distributed EventBased Systems - DEBS ’09. 4:1–4:12. https://doi.org/10.1145/1619258.1619264
[26]
Yifan Sun, Xiang Gong, Amir Kavyan Ziabari, Leiming Yu, Xiangyu Li, Saoni Mukherjee, Carter McCardwell, Alejandro Villegas, and David R. Kaeli. 2016. Hetero-mark, a benchmark suite for CPU-GPU collaborative computing. In 2016 IEEE International Symposium on Workload Characterization, IISWC 2016, Providence, RI, USA, September 25-27, 2016. 13–22.
[27]
Uri Verner, Assaf Schuster, and Mark Silberstein. 2011. Processing data streams with hard real-time constraints on heterogeneous systems. In Proceedings of the 25th International Conference on Supercomputing, 2011, Tucson, AZ, USA, May 31 - June 04, 2011. 120–129.
[28]
Matei Zaharia, Reynold S. Xin, Patrick Wendell, Tathagata Das, Michael Armbrust, Ankur Dave, Xiangrui Meng, Josh Rosen, Shivaram Venkataraman, Michael J. Franklin, Ali Ghodsi, Joseph Gonzalez, Scott Shenker, and Ion Stoica. 2016. Apache Spark: a unified engine for big data processing. Commun. ACM 59, 11 (2016), 56–65. https://doi.org/10.1145/2934664
[29]
Steffen Zeuch, Sebastian Breß, Tilmann Rabl, Bonaventura Del Monte, Jeyhun Karimov, Clemens Lutz, Manuel Renz, Jonas Traub, and Volker Markl. 2019. Analyzing Efficient Stream Processing on Modern Hardware. Proc. VLDB Endow. 12, 5 (2019), 516–530. https://doi.org/10.14778/3303753.3303758
[30]
Steffen Zeuch, Bonaventura Del Monte, Jeyhun Karimov, Clemens Lutz, Manuel Renz, Jonas Traub, Sebastian Breß, Tilmann Rabl, and Volker Markl. 2019. Analyzing efficient stream processing on modern hardware. Proceedings of the VLDB Endowment 12, 5 (2019), 516–530.
[31]
Feng Zhang, Lin Yang, Shuhao Zhang, Bingsheng He, Wei Lu, and Xiaoyong Du. 2020. FineStream: Fine-Grained Window-Based Stream Processing on CPU-GPU Integrated Architectures. In 2020 USENIX Annual Technical Conference, USENIX ATC 2020, July 15-17, 2020. 633–647.
[32]
Feng Zhang, Jidong Zhai, Bingsheng He, Shuhao Zhang, and Wenguang Chen. 2017. Understanding Co-Running Behaviors on Integrated CPU/GPU Architectures. IEEE Trans. Parallel Distributed Syst. 28, 3 (2017), 905–918. https://doi.org/10.1109/TPDS.2016.2586074
[33]
Feng Zhang, Jidong Zhai, Bo Wu, Bingsheng He, Wenguang Chen, and Xiaoyong Du. 2021. Automatic Irregularity-Aware Fine-Grained Workload Partitioning on Integrated Architectures. IEEE Trans. Knowl. Data Eng. 33, 3 (2021), 867–881. https://doi.org/10.1109/TKDE.2019.2940184
[34]
Haopeng Zhang, Yanlei Diao, and Neil Immerman. 2014. On complexity and optimization of expensive queries in complex event processing. In Proceedings of the 2014 ACM SIGMOD international conference on Management of data - SIGMOD ’14. 217–228. https://doi.org/10.1145/2588555.2593671

Cited By

View all
  • (2025)Efficient Event Processing on Modern HardwareScalable Data Management for Future Hardware10.1007/978-3-031-74097-8_3(65-89)Online publication date: 24-Jan-2025

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
DaMoN '22: Proceedings of the 18th International Workshop on Data Management on New Hardware
June 2022
83 pages
ISBN:9781450393782
DOI:10.1145/3533737
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 June 2022

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

SIGMOD/PODS '22
Sponsor:

Acceptance Rates

DaMoN '22 Paper Acceptance Rate 12 of 18 submissions, 67%;
Overall Acceptance Rate 94 of 127 submissions, 74%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)35
  • Downloads (Last 6 weeks)15
Reflects downloads up to 18 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Efficient Event Processing on Modern HardwareScalable Data Management for Future Hardware10.1007/978-3-031-74097-8_3(65-89)Online publication date: 24-Jan-2025

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media