optimizing the tradeoff between discovery, composition, and execution cost in service composition
DESCRIPTION
SOSOA talk presented at ICWS 2011.TRANSCRIPT
Optimizing the Tradeoff between Discovery, Composition, and Execution Cost in Service
Composition
Authors:Immanuel Trummer, Boi Faltings
Presentation Plan
1. Introduction to Quality-Driven Service Composition
2. Tradeoff between Composition Effort and Solution Quality
3. Algorithm for Automatically Tuning Composition Effort
4. Experimental Evaluation5. Conclusion
INTRODUCTION TO QUALITY-DRIVEN SERVICE COMPOSITION
Problem of Quality-Driven Service Composition
Compression WSMerging WS
Transcoding WS
Translation WS
Video
Text
Candidates:- S1,1- S1,2
…
Candidates:- S2,1- S2,2
…
Candidates:- S3,1- S3,2
…
Candidates:- S4,1- S4,2
…
Example: «Web Services Selection for Distributed Composition of Multimedia Content», Wagner & Kellerer, 2004
Invocation-Cost: 0.15$Response Time: 0.4 sec
Problem of Quality-Driven Service Composition
Compression WSMerging WS
Transcoding WS
Translation WS
Video
Text
Candidates:- S1,1- S1,2
…
Candidates:- S2,1- S2,2
…
Candidates:- S3,1- S3,2
…
Candidates:- S4,1- S4,2
…
Example: «Web Services Selection for Distributed Composition of Multimedia Content», Wagner & Kellerer, 2004
Goal:- Cost < x $ per invocation- Minimize response time
Process in Quality-Driven Service Composition
Discovery Optimization Execution
Composition Phase
TRADEOFF BETWEEN COMPOSITION EFFORT AND SOLUTION QUALITY
Tradeoff: Composition Effort vs. Solution Quality
Composition Effort
Quality of the SolutionTradeof
fAdapt Dynamically!
High-Priority Workflows
Optimize
Heavy load on Middleware
Optimize
Tradeoff: Composition Effort vs. Solution Quality
Composition Effort
Quality of the Solution
Tradeoff: Composition Effort vs. Solution Quality
Composition Effort- Discovery Cost- Optimization Cost
Quality of the Solution- Execution Cost+ CE
+ CO
CD
C=
Tradeoff: Composition Effort vs. Solution Quality
Composition Effort- Discovery Cost- Optimization Cost
Quality of the Solution- Execution Cost+ CE
+ CO
CD
C=
Parameter: #Downloaded Services per
Task
Dependency: Cost and #Services
#Services
Cost
CD
CO
Dependency: Cost and #Services
#Services
Cost
CD
CO
CE
Dependency: Cost and #Services
#Services
Cost
CD
CO
CE
C
Minimum Cost
Where?
ALGORITHM FOR AUTOMATICALLY TUNING COMPOSITION EFFORT
Sketch of Iterative Algorithm
Discovery next k services/task
OptimizationWithin
current search spaceExecution?
Condition for Next Iteration?
Round i:∆CD,i
∆CO,i ∆CE,i
Relation between Cost for Last Round and Cost for New Round
?
?
?
Relation:∆CD,i
∆CO,i
∆CE,i
∆CD,i+1
∆CO,i+1
∆CE,i+1
Relation between Cost for Last Round and Cost for New Round
=
?
?
Relation:∆CD,i
∆CO,i
∆CE,i
∆CD,i+1
∆CO,i+1
∆CE,i+1
Growth of Search Space for Optimization
Search Space Round i+1
Search Space Round i
Growth of Search Space for Optimization
Search Space Round i+1
Search Space Round i
Explored by Inefficient Method in Round i+1
Growth of Search Space for Optimization
Search Space Round i+1
Search Space Round i
Explored by Efficient Method in Round i+1
Growth of Search Space for Optimization (Cont.)
• Search Space Size in round i:
• Search Space Size in round i+1:
• Size of newly added search space:
(𝑖∗𝑘)𝑡
((𝑖+1)∗𝑘)𝑡
𝑘𝑡( (𝑖+1 )𝑡−𝑖𝑡 )
Size of newly added search space grows from round to round
t : number of tasksk: new services per task and iteration
Relation between Cost for Last Round and Cost for New Round
=
?
?
Relation:∆CD,i
∆CO,i
∆CE,i
∆CD,i+1
∆CO,i+1
∆CE,i+1
Relation between Cost for Last Round and Cost for New Round
=
≤
?
Relation:∆CD,i
∆CO,i
∆CE,i
∆CD,i+1
∆CO,i+1
∆CE,i+1
Ratio between Size of New and Old Search Space
𝑆𝑖𝑧𝑒𝑜𝑓 h𝑆𝑒𝑎𝑟𝑐 𝑆𝑝𝑎𝑐𝑒𝑖𝑛𝑟𝑜𝑢𝑛𝑑𝑖+1𝑆𝑖𝑧𝑒𝑜𝑓 h𝑆𝑒𝑎𝑟𝑐 𝑆𝑝𝑎𝑐𝑒 𝑖𝑛𝑟𝑜𝑢𝑛𝑑𝑖
=((𝑖+1)∗𝑘)𝑡
(𝑖∗𝑘)𝑡
Ratio diminishes, big improvements unlikely at some point
Diminishing Returns
#Iterations
Cost
CE
∆𝐶𝐸 ,𝑖
∆𝐶𝐸 ,𝑖+1
Relation between Cost for Last Round and Cost for New Round
=
≤
?
Relation:∆CD,i
∆CO,i
∆CE,i
∆CD,i+1
∆CO,i+1
∆CE,i+1
Relation between Cost for Last Round and Cost for New Round
∆CD,i
∆CO,i
∆CE,i
∆CD,i+1
∆CO,i+1
∆CE,i+1
=
≤
Relation:
≤ (≤𝟎)
Sketch of Iterative Algorithm
Execution?
Condition for Next Iteration?
Round i:∆CD,i
∆CO,i ∆CE,i
Discovery next k services/task
OptimizationWithin
current search space
Sketch of Iterative Algorithm
Execution?
Round i:∆CD,i
∆CO,i ∆CE,i
? New Iteration
Discovery next k services/task
OptimizationWithin
current search space
Number of iterations is near-optimal
EXPERIMENTAL EVALUATION
Testbed Overview
• Starting Point:– Randomly generated sequential workflows with
randomly generated quality requirements• Discovery:– Randomly generated service candidates– Simulated registry download
• Optimization:– Transformation to Integer Linear Programming problem– Use of IBM CPLEX v12.1
• Verified that our initial assumptions hold
Testbed Cost Function
• Total Cost =
𝐶𝐷 𝐶𝑂 𝐶𝐸
Represent dynamic context by changing weights
Comparison: with vs. without Tuning
doe Doe dOe doE DoE dOE DOe0%
100%
200%
300%
400%
500%
600%
700%
800%10SPT 40SPT 70SPT With Tuning
Scenario
Agg
rega
ted
Cost
𝐶=𝑤𝐷∗𝑇 𝐷+𝑤𝑂∗𝑇 𝑂+𝑤𝐸∗𝑇 𝐸
Comparison: with vs. without Tuning𝐶=𝟏∗𝑇 𝐷+𝟏∗𝑇𝑂+𝟏𝟎𝟎∗𝑇 𝐸
doe Doe dOe doE DoE dOE DOe0%
100%
200%
300%
400%
500%
600%
700%
800%10SPT 40SPT 70SPT With Tuning
Scenario
Agg
rega
ted
Cost
Comparison: with vs. without Tuning𝐶=𝟏𝟎𝟎∗𝑇 𝐷+𝟏𝟎𝟎∗𝑇𝑂+𝟏∗𝑇 𝐸
doe Doe dOe doE DoE dOE DOe0%
100%
200%
300%
400%
500%
600%
700%
800%10SPT 40SPT 70SPT With Tuning
Scenario
Agg
rega
ted
Cost
Comparison: with vs. without Tuning𝐶=𝑤𝐷∗𝑇 𝐷+𝑤𝑂∗𝑇 𝑂+𝑤𝐸∗𝑇 𝐸
doe Doe dOe doE DoE dOE DOe0%
100%
200%
300%
400%
500%
600%
700%
800%10SPT 40SPT 70SPT With Tuning
Scenario
Agg
rega
ted
Cost
CONCLUSION
Conclusion
• Tradeoff between Composition Effort and Solution Quality in Service Composition
• Iterative Algorithm for Quality-Driven Service Composition
• Tuning of Composition Effort Gains in Efficiency
• Iterative scheme is generic