autonomic execution of web service compositions€¦ · 12 july 2005 cesare pautasso | 3 the...

Post on 15-Aug-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

12 July 2005

Autonomic Executionof Web Service Compositions

Cesare Pautasso, Thomas Heinis, Gustavo AlonsoDepartment of Computer Science

ETH Zurich, Switzerland

pautasso@inf.ethz.ch

© 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

pautasso@inf.ethz.ch - www.jopera.org

© Cesare Pautasso | www.jopera.org

top related