autonomic execution of web service compositions€¦ · 12 july 2005 cesare pautasso | 3 the...
TRANSCRIPT
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
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]
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
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
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
612 July 2005 Cesare Pautasso | www.jopera.org
Architecture
RemoteServiceProvider
workload
API
Clients
JOpera Distributed Engine
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
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
912 July 2005 Cesare Pautasso | www.jopera.org
Autonomic Controller Algorithmperformanceindicatorscurrent configuration
reconfigurationactions
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
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
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
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
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
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
1612 July 2005 Cesare Pautasso | www.jopera.org
Tracing the Differential PolicyAction
QueueLength
VariationTstartTstop
Start one
Stop one
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
1812 July 2005 Cesare Pautasso | www.jopera.org
Tracing the Proportional PolicyAction
Queue Length
Variation
Start one
Stop oneStop twoStop Max
Start twoStart Max
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
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
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
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