1 / 45

M-TOP: Multi-Target Operator Placement of Query Graphs for Data Streams

M-TOP: Multi-Target Operator Placement of Query Graphs for Data Streams. Nazario Cipriani , Oliver Schiller, Bernhard Mitschang IDEAS 2011 – Lisbon, 21. September 2011. Mobile Client: Display Images. Sample Scenario – Distributed Visualization Pipeline. Sources. Operators. Sinks.

macon
Download Presentation

M-TOP: Multi-Target Operator Placement of Query Graphs for Data Streams

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. M-TOP: Multi-Target Operator Placementof Query Graphs for Data Streams NazarioCipriani, Oliver Schiller, Bernhard Mitschang IDEAS 2011 – Lisbon, 21. September 2011

  2. Mobile Client: Display Images Sample Scenario – Distributed Visualization Pipeline Sources Operators Sinks Update User Location Position Tracker: Tracks the Positions of the Mobile Objects Calculate Stream Ribbons:Stream Ribbons Calculation Interpolator:Interpolates the Velocity Field Update Mobile Objects Fluid Solver: Calcutales the Vector Field Calculate Magnitude:Calculates the Velocity Magnitude Calculate Stream Lines:Stream Lines Calculation Update Orientation Rendering: Project Primitives,Rasterize Primitives Rendering: Project Primitives,Rasterize Primitives Desktop Computer: Display Images Update Window States Distribute:Seeds the Stream Lines Starting Positions Window Tracker: Tracks the Window States Environment: Provides Data for Environment Update Orientation 2

  3. Mobile Client: Display Images Sample Scenario – Distributed Visualization Pipeline Sources Operators Sinks Update User Location Position Tracker: Tracks the Positions of the Mobile Objects Calculate Stream Ribbons:Stream Ribbons Calculation Interpolator:Interpolates the Velocity Field Update Mobile Objects Fluid Solver: Calcutales the Vector Field Calculate Magnitude:Calculates the Velocity Magnitude Calculate Stream Lines:Stream Lines Calculation Update Orientation Rendering: Project Primitives,Rasterize Primitives Rendering: Project Primitives,Rasterize Primitives Desktop Computer: Display Images Update Window States Distribute:Seeds the Stream Lines Starting Positions Window Tracker: Tracks the Window States Environment: Provides Data for Environment Update Orientation 3

  4. There are More Sample Scenarios… • Navigation application considering current position of mobile objects • Online trajectory compression on mobile devices • Tourist information guide • … 4

  5. Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1 5

  6. Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1 Query Document

  7. Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1 Pinned operators

  8. Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1

  9. Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1

  10. Operator Placement Problem Static Data 2 Static Data 1 But: Placement isNP-Complete!  Approximation! Sensor2 Sensor1

  11. Agenda • Multi-Target Operator Placement Problem • Classification of Placement Strategies • M-TOP Approach • Evaluation • Conclusion and Future Work

  12. Multi-Target Operator Placement Problem – Domain-specific Requirements • Customer (c) • Bandwidth • > 500 kbit • Cost • No costs • Customer (b) • Bandwidth • > 1 Mbit • Latency • < 2 s • Cost • < 1 Unit • Customer (a) • Bandwidth • > 10 Mbit • Latency • <= 500 ms 12

  13. Multi-Target Operator Placement Problem – Domain-specific Requirements • Customer (c) • Bandwidth • > 500 kbit • Cost • No costs • Customer (b) • Bandwidth • > 1 Mbit • Latency • < 2 s • Cost • < 1 Unit • Customer (a) • Bandwidth • > 10 Mbit • Latency • <= 500 ms  Multi-Target Operator Placement Problem!  Different requirements for placement decision! 13

  14. Multi-Target Operator Placement Problem – But What to Do? S1 Q1 O1 O2 O4 O3 Q2 • Bandwidth • > 10 Mbit • Latency • <= 500 ms 14

  15. Multi-Target Operator Placement Problem – But What to Do? S1 O2 Q1 ? O1 O2 O3 O4 Q2 O1 O2 S1 O4 O3 Q2 O4 S1 O3 Q1 Q1 Q2 OptimizeBandwidth? O1 OptimizeLatency? • Bandwidth • > 10 Mbit • Latency • <= 500 ms 15

  16. A Classification of Existing Placement Strategies Operator Placement single target multi target • Bandwidth • SAND/Borealis • Operator Importance • ACES System Load Aurora, Medusa Latency SBON, Rizou et al. Targets fixed variable Decision Making Decision Making a posteriori a priori Metaheuristic Search E.g.: Tabu Search, Sinnulated Annealing QoS-aware Placement M-TOP a posteriori a priori • Latency + System Load • Zhou et al. • Processing + Transmission + Storage • Ying et al. Latency + Bandwidth Bonfils et al. Latency + Network Load Rizouet al. Cost + Delay Mariposa 16

  17. A Classification of Existing Placement Strategies Operator Placement single target multi target Multi-targetoperatorplacementwithvariable targetsanda priori decisionmaking • Bandwidth • SAND/Borealis • Operator Importance • ACES System Load Aurora, Medusa Latency SBON, Rizou et al. Targets fixed variable Decision Making Decision Making a posteriori a priori Metaheuristic Search E.g.: Tabu Search, Sinnulated Annealing QoS-aware Placement M-TOP a posteriori a priori • Latency + System Load • Zhou et al. • Processing + Transmission + Storage • Ying et al. Latency + Bandwidth Bonfils et al. Latency + Network Load Rizouet al. Cost + Delay Mariposa 17

  18. The M-TOP Approach – Target Definition • Query graph developers provide target specifications • Example QoS-Targets specification Target – Bandwidth (500kBit - 50% - Max) rank scheme bottleneck condition relative importance 18

  19. Nodes The M-TOP Approach – Runtime Statistics QoS • QoS-Statistics include • Bandwidth, Latency, Reliability, … • Collected during execution of operators • Node–Node QoS-statistics • Describe link performance between nodes • Node–Operator QoS-statistics • Describe node performance executing a certain operator • Characteristic diagram of QoS-statistics as fixed length time series • Describe the expected probabilities for a certain value w.r.t. QoS-statistics • Lookup returns min, avg, and max value as well as the characteristic diagram Nodes Operators 19

  20. The M-TOP Approach Merge Operators Statistics Execution of Query Graph Node Preselection Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 20

  21. The M-TOP Approach – Conflation Merge Operators Statistics Execution of Query Graph Node Preselection Conflation Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 21

  22. The M-TOP Approach – Conflation Merge Operators Reduce number of operators to place! Statistics Execution of Query Graph Node Preselection Conflation Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 22

  23. The M-TOP Approach Merge Operators Statistics Execution of Query Graph Node Preselection Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 23

  24. The M-TOP Approach – Early Prune and Graph Assembly Merge Operators Statistics Execution of Query Graph Node Preselection Eliminated by Early Prune Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 24

  25. The M-TOP Approach – Early Prune and Graph Assembly Merge Operators Statistics Target – Bandwidth (500kBit - 50% - Max) Execution of Query Graph Node Preselection Execution of Query Graph rank scheme bottleneck condition relative importance Eliminated by Graph Assembly Eliminated by Early Prune Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 25

  26. The M-TOP Approach – Early Prune and Graph Assembly Merge Operators Reduce number of nodes! Statistics Execution of Query Graph Node Preselection Eliminated by Graph Assembly Eliminated by Early Prune Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 26

  27. The M-TOP Approach Merge Operators Statistics Execution of Query Graph Node Preselection Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 27

  28. The M-TOP Approach – Ranking Merge Operators Statistics Target – Bandwidth (500kBit - 50% - Max) Execution of Query Graph Node Preselection rank scheme bottleneck condition Rank value 0.75 relative importance Rank value 0.6 Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 28

  29. The M-TOP Approach – Ranking Merge Operators Bring to front candidates by scoring value! Statistics Target – Bandwidth (500kBit - 50% - Max) Execution of Query Graph Node Preselection rank scheme bottleneck condition Rank value 0.75 relative importance Rank value 0.6 Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 29

  30. The M-TOP Approach Merge Operators Statistics Execution of Query Graph Node Preselection Find Edges Between Nodes Map Operators to Nodes Rank Nodes And Edges 30

  31. The M-TOP Approach – Mapping • By modeling the Mapping Problem as CSP instance NP-formalisms are applicable • Use a meta heuristic to solve the complex problem • Genetic Algorithm (GA) but also other methods (Backtracking, …) are possible • Reason: Computationally too expensive to calculate all possibilities and pick best solution • A Genetic Algorithm (GA) is inspired by the Darwinian law that the fittest individuals (or solutions) have higher probability to survive than others • E.g., fitter ones can better adapt to changing conditions 31

  32. The M-TOP Approach – Mapping as Genetic Algorithm • Loop until termination condition is true • Maximum number m of iterations reached or best solution did not change over last k steps 32

  33. The M-TOP Approach – Mapping as Genetic Algorithm • Loop until termination condition is true • Maximum number m of iterations reached or best solution did not change over last k steps • Step1: Assign fitness values to individuals • Corresponds to the objective function for the mapping step with additional constraints 33

  34. The M-TOP Approach – Mapping as Genetic Algorithm • Loop until termination condition is true • Maximum number m of iterations reached or best solution did not change over last k steps • Step1: Assign fitness values to individuals • Corresponds to the objective function for the mapping step with additional constraints 34

  35. The M-TOP Approach – Mapping as Genetic Algorithm • Loop until termination condition is true • Maximum number m of iterations reached or best solution did not change over last k steps • Step1: Assign fitness values to individuals • Corresponds to the objective function for the mapping step with additional constraints • Step2: Select individuals for recombination and mutation • Step3: Recombine and mutate individuals 35

  36. The M-TOP Approach – Mapping as Genetic Algorithm • Loop until termination condition is true • Maximum number m of iterations reached or best solution did not change over last k steps • Step1: Assign fitness values to individuals • Corresponds to the objective function for the mapping step with additional constraints • Step2: Select individuals for recombination and mutation • Step3: Recombine and mutate individuals potential recombination points 36

  37. The M-TOP Approach – Mapping as Genetic Algorithm • Loop until termination condition is true • Maximum number m of iterations reached or best solution did not change over last k steps • Step1: Assign fitness values to individuals • Corresponds to the objective function for the mapping step with additional constraints • Step2: Select individuals for recombination and mutation • Step3: Recombine and mutate individuals • Step4: Store fittest individuals, go to Step1 if term. condition is false • Return the fittest (the best) individual 37

  38. The M-TOP Approach – Mapping as Genetic Algorithm • Loop until termination condition is true • Maximum number m of iterations reached or best solution did not change over last k steps • Step1: Assign fitness values to individuals • Corresponds to the objective function for the mapping step with additional constraints • Step2: Select individuals for recombination and mutation • Step3: Recombine and mutate individuals • Step4: Store fittest individuals, go to Step1 if term. condition is false • Return the fittest (the best) individual Mapping 38

  39. Evaluation – Runtime Measurements 39

  40. Evaluation – Runtime Measurements – Mapping Runtime: much faster than simply probing 40

  41. Evaluation – Runtime Measurements – Mapping Objective value: approximation works well (maybe better for bigger candidate node cardinalities) Runtime: much faster than simply probing 41

  42. Evaluation – Runtime Measurements – Mapping Objective value: approximation works well (maybe better for bigger candidate node cardinalities) Runtime: much faster than simply probing Additive QoS: approximation and best latency possible not far-off 42

  43. Evaluation – Runtime Measurements – Mapping Objective value: approximation works well (maybe better for bigger candidate node cardinalities) M-TOP achieves approx. 90%-95% of optimal solution. Runtime: much faster than simply probing Additive QoS: approximation and best latency possible not far-off 43

  44. Conclusion and Future Work • Multi-target operator placement with variable targets and a priori decision making • Specify placement requirements in terms of QoS-targets • Bottleneck condition, relative importance, rank scheme • To find possible solutions M-TOP adopts a meta-heuristic in form of a GA to sample the search space • Future work include • Consider already running query graphs, adapt to changing conditions (e.g., operator migration) 44

  45. Finish… And Flowers for You! 45

More Related