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

22
12 July 2005 Autonomic Execution of Web Service Compositions Cesare Pautasso, Thomas Heinis, Gustavo Alonso Department of Computer Science ETH Zurich, Switzerland [email protected] © Cesare Pautasso | www.jopera.org

Upload: others

Post on 15-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

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

12 July 2005

Autonomic Executionof Web Service Compositions

Cesare Pautasso, Thomas Heinis, Gustavo AlonsoDepartment of Computer Science

ETH Zurich, Switzerland

[email protected]

© 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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