Download presentation

Presentation is loading. Please wait.

Published byRey Orme Modified over 2 years ago

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

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

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

4
Universität Stuttgart SFB 627 There are More Sample Scenarios… Navigation application considering current position of mobile objects Online trajectory compression on mobile devices Tourist information guide … 4

5
Universität Stuttgart SFB 627 Operator Placement Problem Static Data 2 Sensor1 Sensor2 Static Data 1 5

6
Universität Stuttgart SFB 627 Operator Placement Problem Static Data 2 Sensor1 Sensor2 Static Data 1 Query Document

7
Universität Stuttgart SFB 627 Operator Placement Problem Static Data 2 Sensor1 Sensor2 Static Data 1 Pinned operators

8
Universität Stuttgart SFB 627 Operator Placement Problem Static Data 2 Sensor1 Sensor2 Static Data 1

9
Universität Stuttgart SFB 627 Operator Placement Problem Static Data 2 Sensor1 Sensor2 Static Data 1

10
Universität Stuttgart SFB 627 Operator Placement Problem Static Data 2 Sensor1 Sensor2 Static Data 1 But: Placement is NP-Complete! Approximation!

11
Universität Stuttgart SFB 627 Agenda Multi-Target Operator Placement Problem Classification of Placement Strategies M-TOP Approach Evaluation Conclusion and Future Work

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

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

14
Universität Stuttgart SFB 627 Multi-Target Operator Placement Problem – But What to Do? 14 O4 O2 Q1 Q2 O1 O3 S1 Bandwidth > 10 Mbit Latency <= 500 ms

15
Universität Stuttgart SFB 627 Multi-Target Operator Placement Problem – But What to Do? 15 Q2 O1 O2 S1 O4 O3 Q1 Q2 O1 O2 S1 O4 O3 Q1 ? Bandwidth > 10 Mbit Latency <= 500 ms O4 O2 Q1 Q2 O1 O3 S1 Optimize Bandwidth? Optimize Latency?

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

17
Universität Stuttgart SFB 627 A Classification of Existing Placement Strategies 17 Operator Placement Targets System Load Aurora, Medusa Latency SBON, Rizou et al. single targetmulti target fixed variable Decision Making Cost + Delay Mariposa a priori a posteriori Latency + Bandwidth Bonfils et al. Latency + Network Load Rizou et al. a priori Metaheuristic Search E.g.: Tabu Search, Sinnulated Annealing QoS-aware Placement M-TOP Bandwidth SAND/Borealis Operator Importance ACES Latency + System Load Zhou et al. Processing + Transmission + Storage Ying et al. a posteriori Multi-target operator placement with variable targets and a priori decision making

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

19
Universität Stuttgart SFB 627 The M-TOP Approach – Runtime Statistics 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 19 Operators QoS Nodes

20
Universität Stuttgart SFB 627 The M-TOP Approach 20 Conflation Early Prune Graph Assembly RankingMapping Execution Find Edges Between Nodes Rank Nodes And Edges Map Operators to Nodes Execution of Query Graph Merge Operators Node Preselection Statistics

21
Universität Stuttgart SFB 627 The M-TOP Approach – Conflation 21 Conflation Early Prune Graph Assembly RankingMapping Execution Find Edges Between Nodes Rank Nodes And Edges Map Operators to Nodes Execution of Query Graph Merge Operators Node Preselection Statistics Conflation

22
Universität Stuttgart SFB 627 The M-TOP Approach – Conflation 22 Conflation Early Prune Graph Assembly RankingMapping Execution Find Edges Between Nodes Rank Nodes And Edges Map Operators to Nodes Execution of Query Graph Merge Operators Node Preselection Statistics Conflation Reduce number of operators to place!

23
Universität Stuttgart SFB 627 The M-TOP Approach 23 Conflation Early Prune Graph Assembly RankingMapping Execution Find Edges Between Nodes Rank Nodes And Edges Map Operators to Nodes Execution of Query Graph Merge Operators Node Preselection Statistics

24
Universität Stuttgart SFB 627 The M-TOP Approach – Early Prune and Graph Assembly 24 Conflation Early Prune Graph Assembly RankingMapping Execution Find Edges Between Nodes Rank Nodes And Edges Map Operators to Nodes Execution of Query Graph Merge Operators Node Preselection Statistics Eliminated by Early Prune

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

26
Universität Stuttgart SFB 627 The M-TOP Approach – Early Prune and Graph Assembly 26 Conflation Early Prune Graph Assembly RankingMapping Execution Find Edges Between Nodes Rank Nodes And Edges Map Operators to Nodes Execution of Query Graph Merge Operators Node Preselection Statistics Eliminated by Graph Assembly Eliminated by Early Prune Reduce number of nodes!

27
Universität Stuttgart SFB 627 The M-TOP Approach 27 Conflation Early Prune Graph Assembly RankingMapping Execution Find Edges Between Nodes Rank Nodes And Edges Map Operators to Nodes Execution of Query Graph Merge Operators Node Preselection Statistics

28
Universität Stuttgart SFB 627 The M-TOP Approach – Ranking 28 Conflation Early Prune Graph Assembly RankingMapping Execution Find Edges Between Nodes Rank Nodes And Edges Map Operators to Nodes Execution of Query Graph Merge Operators Node Preselection Statistics bottleneck condition relative importance rank scheme Target – Bandwidth (500kBit - 50% - Max) Rank value 0.75 Rank value 0.6

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

30
Universität Stuttgart SFB 627 The M-TOP Approach 30 Conflation Early Prune Graph Assembly RankingMapping Execution Find Edges Between Nodes Rank Nodes And Edges Map Operators to Nodes Execution of Query Graph Merge Operators Node Preselection Statistics

31
Universität Stuttgart SFB 627 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
Universität Stuttgart SFB 627 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
Universität Stuttgart SFB 627 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
Universität Stuttgart SFB 627 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
Universität Stuttgart SFB 627 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
Universität Stuttgart SFB 627 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 The M-TOP Approach – Mapping as Genetic Algorithm 36 potential recombination points

37
Universität Stuttgart SFB 627 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
Universität Stuttgart SFB 627 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 38 Mapping

39
Universität Stuttgart SFB 627 Evaluation – Runtime Measurements 39

40
Universität Stuttgart SFB 627 Evaluation – Runtime Measurements – Mapping 40 Runtime: much faster than simply probing

41
Universität Stuttgart SFB 627 Evaluation – Runtime Measurements – Mapping 41 Runtime: much faster than simply probing Objective value: approximation works well (maybe better for bigger candidate node cardinalities)

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

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

44
Universität Stuttgart SFB 627 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
Universität Stuttgart SFB 627 Finish… And Flowers for You! 45

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google