Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The...
Transcript of Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The...
![Page 1: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/1.jpg)
12 July 2005
Autonomic Executionof Web Service Compositions
Cesare Pautasso, Thomas Heinis, Gustavo AlonsoDepartment of Computer Science
ETH Zurich, Switzerland
© Cesare Pautasso | www.jopera.org
![Page 2: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/2.jpg)
212 July 2005 Cesare Pautasso | www.jopera.org
Context: Process-based Composition Web services built as process-based compositions
of other Web services
Scalability on Clusters of Computers Process Management Infrastructure needs to
scale (many clients, many conversations) Web Service Composition Engines run on cluster
of computers to handle large workloads [IJEC’04]
![Page 3: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/3.jpg)
312 July 2005 Cesare Pautasso | www.jopera.org
The Problem: How to Configure the Engine? The distributed engine needs to be configured:
Based on its current (unpredictable) workload Based on the available resources of the cluster
How many resources of the cluster should beassigned to the engine?
Difficult to configure the engine apriori Difficult to manage the system manually
![Page 4: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/4.jpg)
412 July 2005 Cesare Pautasso | www.jopera.org
The Solution: Autonomic Computing The engine should configure itself Trade-off between two goals:
Best Performance (response time, throughput, …) Best Resource Allocation (size of the cluster)
Requirements for the distributed engine design: Support on-the-fly reconfiguration Provide access to internal performance metrics Expose an API for controlling the configuration
![Page 5: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/5.jpg)
512 July 2005 Cesare Pautasso | www.jopera.org
About JOpera Modeling service composition behavior
Graph-based composition language (Visual & XML) Development and Debugging tools for Eclipse Composition not limited to Web services
Execution of the composition models Efficiency (compiled to Java bytecode) Dynamic (late binding, introspection) Scalability (run-time is distributed on a cluster with
autonomic self-configuration) Extensibility (Eclipse plug-ins to provide custom
service invocation adapters)
www.www.joperajopera.org.org
![Page 6: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/6.jpg)
612 July 2005 Cesare Pautasso | www.jopera.org
Architecture
RemoteServiceProvider
workload
API
Clients
JOpera Distributed Engine
![Page 7: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/7.jpg)
712 July 2005 Cesare Pautasso | www.jopera.org
Architecture
RemoteServiceProvider
Navigator Dispatcher
ServiceInvocationAdapter
5
6
workload
APIProcess Control
ProcessQueue 4
Task Queue
7
Event Queue
1
CompiledProcessStructure
2
3
ProcessState
Clients
![Page 8: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/8.jpg)
812 July 2005 Cesare Pautasso | www.jopera.org
RemoteServiceProvider
Navigator Disp atcher
ServiceInvocationAdapterS
Architecture
52
63
4
7
workload
API APIConfiguration Monitoring and System ReconfigurationProcess Control
ProcessQueue
Task Queue
Event Queue
1 State of theConfiguration
ProcessState
Autonomic ControllerClients
performanceindicators
current configuration
reconfiguration
Dispatcher
ServiceInvocationAdapter
5
actions
CompiledProcesstructure
CompiledProcessStructure
2
3
ProcessState
![Page 9: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/9.jpg)
912 July 2005 Cesare Pautasso | www.jopera.org
Autonomic Controller Algorithmperformanceindicatorscurrent configuration
reconfigurationactions
![Page 10: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/10.jpg)
1012 July 2005 Cesare Pautasso | www.jopera.org
Autonomic Controller Policies Information Policy
Define which variables should be monitoredQueue Length, Number of Navigator/Dispatcher Threads
Optimization Policy Map Monitored Variable to Reconfiguration Actions
1. Simple Threshold Policy2. Differential Policy3. Proportional Policy
Selection Policy Choose how to implement a reconfiguration plan
![Page 11: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/11.jpg)
1112 July 2005 Cesare Pautasso | www.jopera.org
Evaluation of the Control Policies Workload: Peak Response Benchmark
800 concurrent processes initiated at the same time Performance Indicators:
Total Execution Time Average Resource Allocation
32 node cluster environment (one thread/node) Baseline: Static Manual Configuration
Fast: 10 Navigators, 22 Dispatchers Slow: 22 Navigators, 10 Dispatchers
![Page 12: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/12.jpg)
1212 July 2005 Cesare Pautasso | www.jopera.org
Baseline: Slow/Fast Static Configuration
0
5
10
15
20
25
30
35
400 800 1600Workload size
Num
ber o
f Dis
p at c
her s
+Na v
i ga t
o rs
Tim
e (s
econ
d s)
static 10/22 static 22/10
0
50
100
150
200
250
400 800 1600Workload Size
Avg Resource Allocation Total Execution Time
![Page 13: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/13.jpg)
1312 July 2005 Cesare Pautasso | www.jopera.org
1. Simple Threshold Policy
Queue Length
Action
T
Start one
Stop one
Start one thread if Queue Length > T Stop one thread if Queue Length = 0
![Page 14: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/14.jpg)
1412 July 2005 Cesare Pautasso | www.jopera.org
Tracing the Simple Threshold PolicyQueue Length
Action
T
Start one
Stop one
Queue Length
Action
T
Start one
Stop one
![Page 15: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/15.jpg)
1512 July 2005 Cesare Pautasso | www.jopera.org
2. Differential PolicyAction
QueueLength
VariationTstartTstop
Start one
Stop one
Start one thread if Queue Length Variation > Tstart
Stop one thread if Queue Length Variation < Tstop
![Page 16: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/16.jpg)
1612 July 2005 Cesare Pautasso | www.jopera.org
Tracing the Differential PolicyAction
QueueLength
VariationTstartTstop
Start one
Stop one
![Page 17: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/17.jpg)
1712 July 2005 Cesare Pautasso | www.jopera.org
3. Proportional PolicyAction
Queue Length
Variation
Start one
Stop oneStop twoStop Max
Start twoStart Max
Start/Stop N threads,proportional to the Queue Length Variation
![Page 18: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/18.jpg)
1812 July 2005 Cesare Pautasso | www.jopera.org
Tracing the Proportional PolicyAction
Queue Length
Variation
Start one
Stop oneStop twoStop Max
Start twoStart Max
![Page 19: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/19.jpg)
1912 July 2005 Cesare Pautasso | www.jopera.org
State Space Comparison of the Policies
0
5
10
15
20
25
0 5 10 15 20 25
Number of Navigators
Num
ber o
fDi s
p at c
hers
SimpleProportionalDifferential
Control Policy
Static
FastPerformance
SlowPerformance
![Page 20: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/20.jpg)
2012 July 2005 Cesare Pautasso | www.jopera.org
Performance Comparison of the Policies
0
5
10
15
20
25
30
35
400 800 1600Workload size
Num
ber o
f Dis
p at c
her s
+Na v
i ga t
o rs
Tim
e (s
econ
d s)
static 10/22 simple differential proportional static 22/10
0
50
100
150
200
250
400 800 1600Workload Size
Avg Resource Allocation Total Execution Time
![Page 21: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/21.jpg)
2112 July 2005 Cesare Pautasso | www.jopera.org
Conclusion Manual configuration & management of a
distributed process-based Web servicecomposition engine is difficult and expensive
To address this problem, we have shown how toapply autonomic computing techniques
Our evaluation indicates that different controlpolicies can be used to explore the trade-offbetween performance vs. resource utilization
![Page 22: Autonomic Execution of Web Service Compositions€¦ · 12 July 2005 Cesare Pautasso | 3 The Problem: How to Configure the Engine? The distributed engine needs to be configured: Based](https://reader036.fdocuments.net/reader036/viewer/2022070916/5fb6a5c4dc3a5d57550eb930/html5/thumbnails/22.jpg)
12 July 2005
Autonomic Executionof Web Service Compositions
Cesare Pautasso, Thomas Heinis, Gustavo AlonsoDepartment of Computer Science
ETH Zurich, Switzerland
[email protected] - www.jopera.org
© Cesare Pautasso | www.jopera.org