Presentation is loading. Please wait.

Presentation is loading. Please wait.

MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Grand Challenge: The BlueBay Soccer Monitoring Engine Hans-Arno Jacobsen Kianoosh Mokhtarian Tilmann Rabl Mohammad.

Similar presentations


Presentation on theme: "MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Grand Challenge: The BlueBay Soccer Monitoring Engine Hans-Arno Jacobsen Kianoosh Mokhtarian Tilmann Rabl Mohammad."— Presentation transcript:

1 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Grand Challenge: The BlueBay Soccer Monitoring Engine Hans-Arno Jacobsen Kianoosh Mokhtarian Tilmann Rabl Mohammad Sadoghi Reza Sherafat Kazemzadeh Young Yoon Kaiwen Zhang www.padres.msrg.utoronto.ca DEBS '13, July 1-3 2013 Middleware Systems Research Group University of Toronto

2 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 2 GUI Client http://msrg.org/datasets/blue-bay

3 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 3 Agenda Multi-stage monitoring pipeline World Cup: survey of existing solutions – Esper – Storm BlueBay: custom monitoring engine Evaluation

4 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 4 Monitoring architecture Event processing stage Data collection and dispatching Distribution stage

5 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 5 Baseline solutions for comparison – Our own custom solution: BlueBay Representative range of solutions – CEP Engine+Language: Esper – MapReduce-like: Storm – CEP Language+Compiler: StreamIT – DSMS: Stream World cup of event processing Library support for common languages such as Java

6 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 6 Esper Query #2 insert into b_possession_percent select *, sum(b_ts - prev(b_ts, 1)) as time_total, sum((b_ts - prev(b_ts, 1)) * msrg.GameSetting.equalStr(owner,prev(owner,1),'teamA')) as time_teamA, sum((b_ts - prev(b_ts, 1)) * msrg.GameSetting.equalStr(owner,prev(owner,1),'teamB')) as time_teamB from b_possession.win:time(10 seconds) Use of Esper stream primitives To process the stream Use of user-defined helper functions Use of Esper window semantics To extract stream at correct granularity

7 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 7 Storm Query #4 Project right attributes Split the stream (Map) User-defined functions Player Heatmap Player Position Sensor Events Player Position Output Player Position Player Position Player ID Merge output (Reduce)

8 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 8 BlueBay Origins

9 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 9 Written in C++ Modular design – Reusable and shared components Other possible queries: – Passing success (already implemented) – Offside detection – Man-marking success Implementation details

10 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 10 BlueBay Architecture Stream components per object w/ noise reduction Circular list of timestamp range buckets O(1) time and memory Trajectory Estimator Custom-built

11 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 11 Efficient implementation: – ID-to-index array-based maps – Avoid floating points – … Parallelization: – Inter-query & Intra-query – Q3 heatmaps is the most time consuming » Parallelize per player and per grid resolution Optimizations

12 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 12 Setup – Intel Xeon 3.20 GHz 4-core, 6 GB RAM Single-threaded benchmarking: Evaluation EngineQ1Q2Q3Q4 BlueBay141x165x30x187x Esper7.5x2.4x6.3x2.3x Storm9.7x8.6x9.8x8.6x Average speedup 30x

13 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 13 Impact of multi-threading Queue size to synchronize the queries Throughput bounded by slowest query Highest sustained average 790k e/s Missing ball data in workload BlueBay: 60x speedup!

14 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 14 Throughput-latency tradeoff Time required to fully process one input event for all queries Less throughput means less queue size Less queue size blocks faster threads Give full CPU usage to slower threads, clearing older events Combined throughput of output events for all queries Large queue size allows fast threads to process and emit events quickly and ahead of slower threads

15 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 15 Bluebay engine – Modular design to support other queries – Optimized for the soccer use case World cup of event processing – BlueBay: 790k e/s and 60x speedup – Esper and Storm finalists – Ability to define custom functions essential for rapid implementation Conclusion


Download ppt "MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Grand Challenge: The BlueBay Soccer Monitoring Engine Hans-Arno Jacobsen Kianoosh Mokhtarian Tilmann Rabl Mohammad."

Similar presentations


Ads by Google