450 likes | 549 Views
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.
E N D
M-TOP: Multi-Target Operator Placementof Query Graphs for Data Streams NazarioCipriani, Oliver Schiller, Bernhard Mitschang IDEAS 2011 – Lisbon, 21. September 2011
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
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
There are More Sample Scenarios… • Navigation application considering current position of mobile objects • Online trajectory compression on mobile devices • Tourist information guide • … 4
Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1 5
Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1 Query Document
Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1 Pinned operators
Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1
Operator Placement Problem Static Data 2 Static Data 1 Sensor2 Sensor1
Operator Placement Problem Static Data 2 Static Data 1 But: Placement isNP-Complete! Approximation! Sensor2 Sensor1
Agenda • Multi-Target Operator Placement Problem • Classification of Placement Strategies • M-TOP Approach • Evaluation • Conclusion and Future Work
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
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
Multi-Target Operator Placement Problem – But What to Do? S1 Q1 O1 O2 O4 O3 Q2 • Bandwidth • > 10 Mbit • Latency • <= 500 ms 14
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Evaluation – Runtime Measurements – Mapping Runtime: much faster than simply probing 40
Evaluation – Runtime Measurements – Mapping Objective value: approximation works well (maybe better for bigger candidate node cardinalities) Runtime: much faster than simply probing 41
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
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
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