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

BriskStream: Scaling Data Stream Processing on Shared-Memory Multicore Architectures

Authors Info & Claims
Published:25 June 2019Publication History

ABSTRACT

We introduce BriskStream, an in-memory data stream processing system (DSPSs) specifically designed for modern shared-memory multicore architectures. BriskStream's key contribution is an execution plan optimization paradigm, namely RLAS, which takes relative-location (i.e., NUMA distance) of each pair of producer-consumer operators into consideration. We propose a branch and bound based approach with three heuristics to resolve the resulting nontrivial optimization problem. The experimental evaluations demonstrate that BriskStream yields much higher throughput and better scalability than existing DSPSs on multi-core architectures when processing different types of workloads.

References

  1. 2008. Classmexer. https://www.javamex.com/classmexer/Google ScholarGoogle Scholar
  2. 2015. SGI UV 300 UV300EX Data Sheet, http://www.newroute.com/ upload/updocumentos/a06ee4637786915bc954e850a6b5580f.pdf.Google ScholarGoogle Scholar
  3. 2017. NUMA patch for Flink, https://issues.apache.org/jira/browse/ FLINK-3163.Google ScholarGoogle Scholar
  4. 2018. Apache Flink. https://flink.apache.org/Google ScholarGoogle Scholar
  5. 2018. Apache Storm. http://storm.apache.org/Google ScholarGoogle Scholar
  6. 2018. HP ProLiant DL980 G7 server with HP PREMA Architecture Technical Overview. https://community.hpe.com/hpeb/attachments/ hpeb/itrc-264/106801/1/363896.pdfGoogle ScholarGoogle Scholar
  7. 2018. Intel Memory Latency Checker, https://software.intel.com/ articles/intelr-memory-latency-checker.Google ScholarGoogle Scholar
  8. 2018. Intel VTune Amplifier. https://software.intel.com/en-us/ intel-vtune-amplifier-xe.Google ScholarGoogle Scholar
  9. 2018. OpenHFT. https://github.com/OpenHFT/Java-Thread-AffinityGoogle ScholarGoogle Scholar
  10. Daniel J. Abadi, Yanif Ahmad, Magdalena Balazinska, Ugur Cetintemel, Mitch Cherniack, Jeong H. Hwang, Wolfgang Lindner, Anurag S. Maskey, Alexander Rasin, Esther Ryvkina, Nesime Tatbul, Ying Xing, and Stan Zdonik. 2005. The Design of the Borealis Stream Processing Engine. In CIDR.Google ScholarGoogle Scholar
  11. Anastassia Ailamaki, David J. DeWitt, Mark D. Hill, and David A. Wood. 2009. DBMSs on a Modern Processor: Where Does Time Go?. In VLDB. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Akdere, U. Çetintemel, M. Riondato, E. Upfal, and S. B. Zdonik. 2012. Learning-based Query Performance Modeling and Prediction. In ICDE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Leonardo Aniello, Roberto Baldoni, and Leonardo Querzoni. 2013. Adaptive Online Scheduling in Storm. In DEBS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Raja Appuswamy, Christos Gkantsidis, Dushyanth Narayanan, Orion Hodson, and Antony Rowstron. 2013. Scale-up vs scale-out for hadoop: Time to rethink?. In SoCC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. Balkesen, J. Teubner, G. Alonso, and M. T. Özsu. 2013. Main-Memory Hash Joins on Multi-Core CPUs: Tuning to the Underlying Hardware. In ICDE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Peter A. Boncz, Stefan Manegold, and Martin L. Kersten. 1999. Database Architecture Optimized for the new. Bottleneck: Memory Access. In VLDB.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Surendra Byna, Xian He Sun, William Gropp, and Rajeev Thakur. 2004. Predicting memory-access cost based on data-access patterns. In ICCC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Valeria Cardellini, Vincenzo Grassi, Francesco Lo Presti, and Matteo Nardelli. 2016. Optimal Operator Placement for Distributed Stream Processing Applications. In DEBS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Valeria Cardellini, Vincenzo Grassi, Francesco Lo Presti, and Matteo Nardelli. 2017. Optimal Operator Replication and Placement for Distributed Stream Processing Systems. In SIGMETRICS Perform. Eval. Rev. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. V. Cardellini, M. Nardelli, and D. Luzi. 2016. Elastic Stateful Stream Processing in Storm. In HPCS.Google ScholarGoogle Scholar
  21. Sirish Chandrasekaran and et al. 2003. TelegraphCQ: Continuous dataflow processing for an uncertain world. In CIDR.Google ScholarGoogle Scholar
  22. Xuntao Cheng, Bingsheng He, Xiaoli Du, and Chiew Tong Lau. 2017. A Study of Main-Memory Hash Joins on Many-core Processor: A Case with Intel Knights Landing Architecture. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management (CIKM '17). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Alvin Cheung, Owen Arden, Samuel Madden, and Andrew C. Myers. 2013. Speeding up database applications with Pyxis. In SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Tathagata Das, Yuan Zhong, Ion Stoica, and Scott Shenker. 2014. Adaptive Stream Processing usingDynamic Batch Sizing. SOCC (2014). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Raul Castro Fernandez, Matteo Migliavacca, Evangelia Kalyvianaki, and Peter R. Pietzuch. 2013. Integrating scale out and fault tolerance in stream processing using operator state management. In SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. B. Gedik, S. Schneider, M. Hirzel, and K. L. Wu. 2014. Elastic Scaling for Data Stream Processing. TPDS (2014). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Jana Giceva, Gustavo Alonso, Timothy Roscoe, and Tim Harris. 2014. Deployment of Query Plans on Multicores. In VLDB. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Stavros Harizopoulos and Anastassia Ailamaki. 2006. Improving Instruction Cache Performance in OLTP. TODS (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Bingsheng He, Qiong Luo, and B. Choi. 2005. Cache-conscious automata for XML filtering. In ICDE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Martin Hirzel, Robert Soulé, Scott Schneider, Bura Gedik, and Robert Grimm. 2014. A Catalog of Stream Processing Optimizations. ACM Comput. Surv. (2014).Google ScholarGoogle Scholar
  31. C. Iancu, S. Hofmeyr, F. Blagojevic, and Y. Zheng. 2010. In IPDPS.Google ScholarGoogle Scholar
  32. Navendu Jain, Lisa Amini, Henrique Andrade, Richard King, Yoonho Park, Philippe Selo, and Chitra Venkatramani. 2006. Design, Implementation, and Evaluation of the Linear Road Bnchmark on the Stream Processing Core. In SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Saurabh Jha, Bingsheng He, Mian Lu, Xuntao Cheng, and Huynh Phung Huynh. 2015. Improving Main Memory Hash Joins on Intel Xeon Phi Processors: An Experimental Approach. Proc. VLDB Endow. (2015). Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Khandekar, Rohit and Hildrum, Kirsten and Parekh, Sujay and Rajan, Deepak andWolf, Joel andWu, Kun-Lung and Andrade, Henrique and Gedik, Bufra. 2009. COLA: Optimizing Stream Processing Applications via Graph Partitioning. In Middleware. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Sanjeev Kulkarni, Nikunj Bhagat, Maosong Fu, Vikas Kedigehalli, Christopher Kellogg, Sailesh Mittal, Jignesh M. Patel, Karthikeyan Ramasamy, and Siddarth Taneja. 2015. Twitter Heron: Stream Processing at Scale. In SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Geetika T. Lakshmanan, Ying Li, and Robert E. Strom. 2008. Placement Strategies for Internet-Scale Data Stream Systems. IEEE Internet Computing (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Jaekyu Lee, Hyesoon Kim, and Richard Vuduc. 2012. When Prefetching Works, When It Doesn&Rsquo;T, and Why. ACM Trans. Archit. Code Optim. (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Viktor Leis, Peter Boncz, Alfons Kemper, and Thomas Neumann. 2014. Morsel-driven Parallelism: A NUMA-aware Query Evaluation Framework for the Many-core Age. In SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Yinan Li, Ippokratis Pandis, René Müller, Vijayshankar Raman, and Guy M. Lohman. 2013. NUMA-aware algorithms: the case of data shuffling. In CIDR.Google ScholarGoogle Scholar
  41. Devroye Luc and Zamora Cura Carlos. 1999. On the Complexity of Branch-and Bound Search for Random Trees. Random Struct. Algorithms (1999). Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Hongyu Miao, Heejin Park, Myeongjae Jeon, Gennady Pekhimenko, Kathryn S. McKinley, and Felix Xiaozhu Lin. 2017. StreamBox: Modern Stream Processing on a Multicore Machine. In ATC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. David R. Morrison, Sheldon H. Jacobson, Jason J. Sauppe, and Edward C. Sewell. 2016. Branch-and-bound algorithms: A survey of recent advances in searching, branching, and pruning. Discrete Optimization (2016). Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Boyang Peng, Mohammad Hosseini, Zhihao Hong, Reza Farivar, and Roy Campbell. 2015. R-Storm: Resource-Aware Scheduling in Storm. In Middleware. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Achille Peternier, Daniele Bonetta,Walter Binder, and Cesare Pautasso. 2011. Overseer: low-level hardware monitoring and management for Java. In PPPJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Danica Porobic, Ippokratis Pandis, Miguel Branco, Pinar Tözün, and Anastasia Ailamaki. 2012. OLTP on Hardware Islands. PVLDB (2012).Google ScholarGoogle Scholar
  47. Iraklis Psaroudakis, Tobias Scheuer, Norman May, Abdelkader Sellami, and Anastasia Ailamaki. 2015. Scaling up concurrent main-memory column-store scans: towards adaptive NUMA-aware data and task placement. In VLDB.Google ScholarGoogle Scholar
  48. Iraklis Psaroudakis, Tobias Scheuer, Norman May, Abdelkader Sellami, and Anastasia Ailamaki. 2016. Adaptive NUMA-aware data placement and task scheduling for analytical workloads in main-memory columnstores. Proc of the VLDB Endow. (2016). Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Scott Schneider, JoelWolf, Kirsten Hildrum, Rohit Khandekar, and Kun- Lung Wu. 2016. Dynamic Load Balancing for Ordered Data-Parallel Regions in Distributed Streaming Systems. (2016).Google ScholarGoogle Scholar
  50. Kian-Lee Tan, Qingchao Cai, Beng Chin Ooi, Weng-Fai Wong, Chang Yao, and Hao Zhang. 2015. In-memory Databases: Challenges and Opportunities From Software and Hardware Perspectives. SIGMOD Record (2015).Google ScholarGoogle Scholar
  51. Stratis D. Viglas and Jeffrey F. Naughton. 2002. Rate-based Query Optimization for Streaming Information Sources. In SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. J. Xu, Z. Chen, J. Tang, and S. Su. 2014. T-Storm: Traffic-Aware Online Scheduling in Storm. In ICDCS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. H. Zhang, G. Chen, B. C. Ooi, K. Tan, and M. Zhang. 2015. In-Memory Big Data Management and Processing: A Survey. TKDE (2015).Google ScholarGoogle Scholar
  54. Shuhao Zhang, Bingsheng He, Daniel Dahlmeier, Amelie Chi Zhou, and Thomas Heinze. 2017. Revisiting the Design of Data Stream Processing Systems on Multi-Core Processors. In ICDE.Google ScholarGoogle Scholar
  55. Jingren Zhou and Kenneth A. Ross. 2004. Buffering Databse Operations for Enhanced Instruction Cache Performance. In SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. BriskStream: Scaling Data Stream Processing on Shared-Memory Multicore Architectures

      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 '19: Proceedings of the 2019 International Conference on Management of Data
        June 2019
        2106 pages
        ISBN:9781450356435
        DOI:10.1145/3299869

        Copyright © 2019 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: 25 June 2019

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        SIGMOD '19 Paper Acceptance Rate88of430submissions,20%Overall Acceptance Rate785of4,003submissions,20%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader