skip to main content
10.1145/2335484.2335506acmconferencesArticle/Chapter ViewAbstractPublication PagesdebsConference Proceedingsconference-collections
research-article

Partition and compose: parallel complex event processing

Published:16 July 2012Publication History

ABSTRACT

Complex event processing uses patterns to detect composite events in streams of simple events. Typically, the events are logically partitioned by some key. For instance, the key can be the stock symbol in stock quotes, the author in tweets, the vehicle in transportation, or the patient in health-care. Composite event patterns often become meaningful only after partitioning. For instance, a pattern over stock quotes is typically meaningful over quotes for the same stock symbol. This paper proposes a pattern syntax and translation scheme organized around the notion of partitions. Besides making patterns meaningful, partitioning also benefits performance, since different keys can be processed in parallel. We have implemented partitioned parallel complex event processing as an extension to IBM's System S high-performance streaming platform. Our experiments with several benchmarks from finance and social media demonstrate processing speeds of up to 830,000 events per second, and substantial speedups for expensive patterns parallelized on multi-core machines as well as multi-machine clusters. Partitioning the event stream before detecting composite events makes event processing both more intuitive and parallel.

References

  1. D. J. Abadi, Y. Ahmad, M. Balazinska, U. Cetintemel, M. Cherniack, J.-H. Hwang, W. Lindner, A. S. Maskey, A. Rasin, E. Ryvkina, N. Tatbul, Y. Xing, and S. Zdonik. The design of the Borealis stream processing engine. In Conference on Innovative Data Systems Research (CIDR), pages 277--289, 2005.Google ScholarGoogle Scholar
  2. A. Adi and O. Etzion. Amit -- the situation manager. Journal on Very Large Data Bases (VLDB J.), pages 177--203, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Agrawal, Y. Diao, D. Gyllstrom, and N. Immerman. Efficient pattern matching over event streams. In International Conference on Management of Data (SIGMOD), pages 147--160, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Aho, M. S. Lam, R. Sethi, and J. Ullman. Compilers: principles, techniques, & tools. Addison-Wesley, second edition, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. Amini, H. Andrade, R. Bhagwan, F. Eskesen, R. King, P. Selo, Y. Park, and C. Venkatramani. SPC: A distributed, scalable platform for data mining. In Workshop on Data Mining Standards, Services and Platforms (DM-SSP), pages 27--37, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Arasu, S. Babu, and J. Widom. The CQL continuous query language: semantic foundations and query execution. Journal on Very Large Data Bases (VLDB J.), pages 121--142, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. H. Arpaci-Dusseau, E. Anderson, N. Treuhaft, D. E. Culler, J. M. Hellerstein, D. Patterson, and K. Yelick. Cluster I/O with River: Making the fast case common. In Workshop on I/O in Parallel and Distributed Systems (IOPADS), pages 10--22, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Brenna, J. Gehrke, D. Johansen, and M. Hong. Distributed event stream processing with non-deterministic finite automata. In Conference on Distributed Event-Based Systems (DEBS), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cayuga webpage with benchmark descriptions. http://www.cs.cornell.edu/bigreddata/cayuga/.Google ScholarGoogle Scholar
  10. J. Chen, D. J. DeWitt, F. Tian, and Y. Wang. NiagaraCQ: A scalable continuous query system for internet databases. In International Conference on Management of Data (SIGMOD), pages 379--390, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. N. H. Cohen and K. T. Kalleberg. EventScript: An event-processing language based on regular expressions with actions. In Languages, Compiler, and Tool Support for Embedded Systems (LCTES), pages 111--120, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Demers, J. Gehrke, B. Panda, M. Riedewald, V. Sharma, and W. White. Cayuga: A general purpose event monitoring system. In Conference on Innovative Data Systems Research (CIDR), pages 412--422, 2007.Google ScholarGoogle Scholar
  13. B. Gedik, H. Andrade, K.-L. Wu, P. S. Yu, and M. Doo. SPADE: The System S declarative stream processing engine. In International Conference on Management of Data (SIGMOD), pages 1123--1134, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Hirzel, H. Andrade, B. Gedik, V. Kumar, G. Losa, M. Mendell, H. Nasgaard, R. Soulé, and K.-L. Wu. SPL Streams Processing Language Specification. Technical Report RC24897, IBM Research, 2009.Google ScholarGoogle Scholar
  15. K. R. Jayaram and P. Eugster. Scalable efficient composite event detection. In Coordination Models and Languages, pages 168--182, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. Li, K. Agrawal, J. Buhler, and R. D. Chamberlain. Deadlock avoidance for streaming computations with filtering. In Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 243--252, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Mendell, H. Nasgaard, E. Bouillet, M. Hirzel, and B. Gedik. Extending a general-purpose streaming system for XML. In Extending Database Technology (EDBT), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. Sadri, C. Zaniolo, A. Zarkesh, and J. Adibi. Optimization of sequence queries in database systems. In Principles of Database Systems (PODS), pages 71--81, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. Schneider, M. Hirzel, B. Gedik, and K.-L. Wu. Auto-parallelizing stateful distributed streaming applications. In Parallel Architectures and Compilation Techniques (PACT), 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. Schultz-Møller, M. Migliavacca, and P. Pietzuch. Distributed complex event processing with query rewriting. In Conference on Distributed Event-Based Systems (DEBS), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. A. Shah, J. M. Hellerstein, and E. Brewer. Highly available, fault-tolerant, parallel dataflows. In International Conference on Management of Data (SIGMOD), pages 827--838, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Soulé, M. Hirzel, R. Grimm, B. Gedik, H. Andrade, V. Kumar, and K.-L. Wu. A universal calculus for stream processing languages. In European Symposium on Programming (ESOP), pages 507--528, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. L. Woods, J. Teubner, and G. Alonso. Complex event detection at wire speed with FPGAs. In Very Large Data Bases (VLDB), pages 660--669, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. E. Wu, Y. Diao, and S. Rizvi. High-performance complex event processing over streams. In International Conference on Management of Data (SIGMOD), pages 407--418, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. F. Zemke, A. Witkowski, M. Cherniak, and L. Colby. Pattern matching in sequences of rows. Technical report, ANSI Standard Proposal, 2007.Google ScholarGoogle Scholar

Index Terms

  1. Partition and compose: parallel complex event processing

          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
            DEBS '12: Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems
            July 2012
            410 pages
            ISBN:9781450313155
            DOI:10.1145/2335484

            Copyright © 2012 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: 16 July 2012

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate130of553submissions,24%

            Upcoming Conference

            DEBS '24

          PDF Format

          View or Download as a PDF file.

          PDFPresentation Slides

          eReader

          View online with eReader.

          eReader