Optimal service selection policies for dynamic service composition - - PowerPoint PPT Presentation
Optimal service selection policies for dynamic service composition - - PowerPoint PPT Presentation
Optimal service selection policies for dynamic service composition Miroslav ivkovi University of Amsterdam (UvA) System and Network Engineering Group m.zivkovic@uva.nl Joost Bosman, Hans van den Berg, Rob van der Mei, Erik Meeuwissen,
- M. Živković, J. Bosman, H. van den Berg, R. van der
Mei, H. Meeuwissen, R. Núñez-Queija: Run-time Revenue Maximization for Composite Web Services with Response Time Commitments (AINA 2012)
- M. Živković, H. van den Berg: Revenue Optimization
- f Service Compositions using Conditional Request
Retries (IJWSR 2013)
Task 1 Task 3 Task 2 Services implementing task 1 Services implementing task 2 Services implementing task 3
Service B
t:
p: Service X
t: p: Task 4
Service Y
t: p:
Service A
t: p:
Service K
t: p:
Service α
t: p:
Service β
t: p: Services implementing task 4
Service Composition problem
Given abstract workflow select concrete services to execute it
Service composition
- We focus on orchestration
- At design time (multi-objective problem)
– Choices made upfront; non-dominated, Pareto-optimal solutions – Inflexible; impossible to modify on-the-fly
- At execution time:
– Composition choices are made on-the-fly, flexible
What if performance worsens?
- Runtime service selection
- Runtime service substitution
Runtime service selection: Model
CS1(1) CS1(2) CS1(3) CS2(1) CS2(2) CS2(3) CS2(4) CS3(1) CS4(1) CS4(2)
request 1 composition: CS1(2)-CS2(2)-CS3(1)- CS4(1) request 2 composition
request 1 response 1 response 2 request 2
Runtime service selection
- Sequential workflow
- Composition may be adapted during execution (per request/task)
- Use of elapsed time info
The orchestrator
- knows the workflow
- selects appropriate services
- makes appropriate Service Level Agreements (SLAs)
with 3rd party providers and its clients
- has no impact to or control of 3rd party domains
- End-to-end SLA
- response time deadline (𝜀𝑞)
- Reward when response time ≤ 𝜀𝑞, penalty otherwise
- Single service SLA
– Execution cost, response time distribution
Optimized dynamic decisions
- Given
– Position in workflow – Remaining time until deadline – Response time distributions – Costs, reward and penalty
- Decision
– what service alternative to select based on the elapsed time?
- Goal
– Optimize expected revenue
- Solution Apply Dynamic Programming
i=1 i=2 i=3 i=4
CS1(1) CS1(2) CS1(3) CS2(1) CS2(2) CS2(3) CS2(4) CS3(1) CS4(1) CS4(2)? Δ
Lookup Table
Policy t (time budget)
{ { { {
Dp Overall deadline 5 10 15 Abstract service at position 1 Abstract service at position 2 Abstract service at position 3 Abstract service at position 4 Concrete service alternative 1 Concrete service alternative 2 Concrete service alternative 3 Concrete service alternative 4
- Simple solution
- Calculate lookup table off-line
- Apply lookup table on-line (no computing)
a b c d e f g h i j k l m n o p q r s t u v w x 10 20 30 40 50
E[Revenue]
A B C D E F G
DP SW
a b c d e f g h i j k l m n o p q r s t u v w x Position 1 4 4 4 4 2 1 3 3 2 3 3 1 4 4 2 1 2 1 2 3 3 1 2 1 Position 2 2 3 3 1 4 4 4 4 3 2 1 3 2 1 4 4 1 2 3 2 1 3 1 2 Position 3 3 2 1 3 3 3 2 1 4 4 4 4 1 2 1 2 4 4 1 1 2 2 3 3 Position 4 1 1 2 2 1 2 1 2 1 1 2 2 3 3 3 3 3 3 4 4 4 4 4 4
Dynamic Static
Example workflow, 4 tasks
CS1(1) CS3(1) CS4(1) CS5(1)
K
WS3
f1,1; c1,1 p4 p5
CS2(1)
AWS2,3 AWS4,5 AWS6
CS1(2)
f3,1; c3,1
CS3(2) CS3(3) CS2(2)
f2,1; c2,1
CS1(1) CS5(2)
f5,1;c5,1 f4,1; c4,1 f6,1 ; c6,1
Issue 1: sequential workflow
CS1(1) CS1(2) CS1(3) CS2(1) CS2(2) CS2(3) CS2(4) CS3(1) CS4(1) CS4(2)
request 1 composition: CS1(2)-CS2(2)-CS3(1)-CS4(1) request 2 composition
request 1 response 1 response 2 request 2 A B C D
Issue 2 - availability
request 1 response 1 retry
A B C D 𝐷𝑇1
3
𝐷𝑇2
3
θ 𝐷𝑇1
2
𝐷𝑇2
2
𝐷𝑇3
2
𝐷𝑇1
1
𝐷𝑇1
4
𝐷𝑇2
4
θ'
retry request 2 response 2
Runtime service substitution: Model
- For an orchestrated service, at each decision point (A, B, C, D)
- a) which service should be selected?
- b) when is it optimal to perform substitution
- c) which service should be selected for a retry, same or some
- ther?
- with the goal to maximize end-to-end expected revenue for
given deadline
Response-time: when does a substitution make sense?
- Heavy-tailed response time distributions
- Expectation paradox: “the longer we have waited,
the longer we should expect to wait”
- Bimodal/Multimodal distributions
- Substitute by any given service
- This does not involve the costs
Optimal solution
- Use dynamic programming to calculate the policy:
- Compare the expected revenues with and without retry
- Formulae for case when single retry per each task is allowed
- Task i, service j, deadline 𝜀, retry moment 𝜄, response time
distribution f, F, revenue W
- term 1: execution cost; term 2 – no retry needed; term 3 –
retry made
Runtime service substitution - conclusions
- For larger values of deadlines, policies with or
without retries are close
- Perform substitution for the last tasks
– Cost plays a role: the more you pay the less substitutions you should perform
Issue 3 – time invariant PDF: Closed loop control
- For each alternative response time distribution: keep last n samples
- Calculate empirical distribution(s)
- Apply DP on empirical distributions
Challenges
- 1. We do not prefer updating the policy after each realization
- 2. When a certain alternative is never selected we don’t observe
changes Solutions
- 1. Apply statistical test to see weather an empirical distribution has
changed significantly
- 2. If a service is not used for (specified) time interval send a probe
request (and pay corresponding cost);
- Tradeoff: short interval (good + expensive) vs. large interval