Assessing and Optimizing Microarchitectural Performance of Event Processing Systems

  • Marcelo R. N. Mendes
  • Pedro Bizarro
  • Paulo Marques
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6417)


Event Processing (EP) systems are being progressively used in business critical applications in domains such as algorithmic trading, supply chain management, production monitoring, or fraud detection. To deal with high throughput and low response time requirements, these EP systems mainly use the CPU-RAM sub-system for data processing. However, as we show here, collected statistics on CPU usage or on CPU-RAM communication reveal that available systems are poorly optimized and grossly waste resources. In this paper we quantify some of these inefficiencies and propose cache-aware algorithms and changes on internal data structures to overcome them. We test the before and after system both at the microarchitecture and application level and show that: i) the changes improve microarchitecture metrics such as clocks-per-instruction, cache misses or TLB misses; ii) and that some of these improvements result in very high application level improvements such as a 44% improvement on stream-to-table joins with 6-fold reduction on memory consumption, and order-of-magnitude increase on throughput for moving aggregation operations.


Benchmarking Complex Event Processing Performance Tuning 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, D.J., Madden, S.R., Hachem, N.: Column-stores vs. row-stores: how different are they really? In: Proc. of the 2008 ACM SIGMOD Vancouver, Canada (2008)Google Scholar
  2. 2.
    Ailamaki, A., DeWitt, D.J., Hill, M.D., Wood, D.A.: DBMSs On A Modern Processor: Where Does Time Go? In: Proc. of the 25th VLDB Conference, Edinburgh, Scotland (1999)Google Scholar
  3. 3.
    Ailamaki, A., De Witt, D.J., Hill, M.D., Wood, D.A., Skounakis, M.: Weaving Relations for Cache Performance. In: Proc.of the 27th VLDB Conference, Roma, Italy (2001)Google Scholar
  4. 4.
    Arasu, A., Babu, S., Widom, J.: The CQL continuous query language: semantic foundations and query execution. VLDB Journal 15(2), 121–142 (2006)CrossRefGoogle Scholar
  5. 5.
    Arasu, A., Widom, J.: Resource Sharing in Continuous Sliding-Window Aggregates. In: Proceedings of the 30th VLDB Conference, Toronto, Canada (2004)Google Scholar
  6. 6.
  7. 7.
    Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 4th edn. Morgan Kaufman Publishers, San Francisco (2007)zbMATHGoogle Scholar
  8. 8.
  9. 9.
    Kitsuregawa, M., Tanaka, H., Moto-Oka, T.: Application of Hash to Data Base Machine and Its Architecture. New Generation Computing 1(1), 63–74 (1983)CrossRefGoogle Scholar
  10. 10.
    Mendes, M.R.N., Bizarro, P., Marques, P.: A performance study of event processing systems. In: Nambiar, R., Poess, M. (eds.) TPCTC 2009. LNCS, vol. 5895, pp. 221–236. Springer, Heidelberg (2009)Google Scholar
  11. 11.
    Ramamurthy, R., DeWitt, D.J.: Buffer-pool Aware Query Optimization. In: CIDR 2005, pp. 250–261 (2005)Google Scholar
  12. 12.
    Stonebraker, M., Abadi, D.J., et al.: C-Store: A Column-Oriented DBMS. In: Proc. of the 31st VLDB Conference, Trondheim, Norway (2005)Google Scholar
  13. 13.
    Zukowski, M., Boncz, P.A., Nes, N., Heman, S.: MonetDB/X100 - A DBMS In The CPU Cache. IEEE Data Engineering Bulletin 28(2), 17–22 (2005)Google Scholar
  14. 14.
    Zukowski, M., Heman, S., Nes, N., Boncz, P.A.: Super-Scalar RAM-CPU Cache Compression. In: Proc. of the 22nd ICDE, Atlanta, USA (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Marcelo R. N. Mendes
    • 1
  • Pedro Bizarro
    • 1
  • Paulo Marques
    • 1
  1. 1.Dep. Eng. Informática – Pólo IICISUC, University of CoimbraCoimbraPortugal

Personalised recommendations