Determining QoS of WS-BPEL Compositions
-
Upload
debdoot-mukherjee -
Category
Technology
-
view
194 -
download
2
description
Transcript of Determining QoS of WS-BPEL Compositions
3rd Dec, 2008 ICSOC, 2008 1
Determining QoS of WS-BPEL Compositions
Debdoot Mukherjee, IBM ResearchPankaj Jalote, IIT Delhi
Mangala Gowri Nanda, IBM Research
3rd Dec, 2008 ICSOC, 2008 2
Agenda Background and Motivation
Importance of WS-BPEL & QoS therein QoS in Structured Workflows WS-BPEL vs Structured Workflows
QoS Model for WS-BPEL Inputs Overall Approach Model Elements Algorithm Activity Specific QoS Rules
QoS Tool Conclusions
3rd Dec, 2008 ICSOC, 2008 3
Background With SOA gaining prominence
More composed services than written from scratch A number of services providing same functionality
in a marketplace for services Quality of Service (QoS) is the key differentiator
during orchestration BPEL is the de facto standard for composing web
services A Comprehensive QoS computation model for
WS-BPEL processes is required.
3rd Dec, 2008 ICSOC, 2008 4
QoS in Structured Workflows
Cardoso1 applies reduction rules on a structured workflow to compute its reliability, time and cost. Sequential Parallel Conditional Loop Fault Tolerance
1 Jorge A. Cardoso, Quality of Service and Semantic Composition of Workflows, Ph.D. Thesis, University of Georgia, 2002
3rd Dec, 2008 ICSOC, 2008 5
Workflow Reduction
R2 = 0.9T2 = 5
C2 = 10
R1 = 0.8T1 = 15 C1 = 5
R3 = 0.7T3 = 20 C3 = 15
R4 = 0.9T4 = 10 C4 = 10
3rd Dec, 2008 ICSOC, 2008 6
Workflow Reduction
R′ = R1 * R2 = 0.7T ′ = T1 + T2 = 20 C′ = C1 + C2 = 15
R′′ = R3 * R4 = 0.63T′′ = T3 + T4 = 30
C′′ = C3 + C4 = 25
3rd Dec, 2008 ICSOC, 2008 7
Workflow Reduction
R = R′ * R′′ = 0.43T = Max(T′, T′′) = 30
C = C′ + C′′ = 40
3rd Dec, 2008 ICSOC, 2008 8
Workflow Reduction
A D
C E
B
3rd Dec, 2008 ICSOC, 2008 9
Why is BPEL different ??
BPEL has features of both structured languages as well as graph based flow languages Greater expressive power arising from
synchronization links between activities possibly nested inside different structured constructs
Fault handling Event driven programming
3rd Dec, 2008 ICSOC, 2008 10
Lack of Structure…But more power !!
receive loanAmount
invoke LoanApprover invoke LoanAssessor
invoke LoanProcess
loanAmount >= $100K loanAmount < $100K
reply
risk = “low”
risk = “high”
3rd Dec, 2008 ICSOC, 2008 11
Passport Service Exampleflow
invoke ifinvoke invoke
invoke
3rd Dec, 2008 ICSOC, 2008 12
Inputs to the QoS Model
QoS parameters for all web services in the composition
Average Waiting Times for incoming messages: <receive> & <onMessage>
Control Flow parameters Branch Probabilities in <if> & <pick> Average number of unrolling for Loops Probability of success for <transitionCondition> Fraction of faults captured by <catch> blocks
3rd Dec, 2008 ICSOC, 2008 13
QoS Model Overview
Build an activity graph where activities / scopes / handlers are the nodes.
Each node X is annotated by its: Child Nodes – Activities directly contained within X Control Dependencies
Source of an incoming synchronization link to X An activity that precedes X in <sequence>
Catch blocks and all handlers Recursive QoS algorithm calculates QoS at
each node.
3rd Dec, 2008 ICSOC, 2008 14
QoS Elements
P(SX): Probability that X successfully executes in any run of the process
ETX: Expected time of completion of X measured relative to the start of the process
CostX: Sum of expected costs of all child nodes of X
3rd Dec, 2008 ICSOC, 2008 15
Auxiliary Elements
P(startX): Probability that X may start execution in a state that is semantically in accordance with one which is expected at that point. P(SX) = F(P(startX), f (P(Schild1
), P(Schild2), ..))
STX: Denotes the time instant when X is ready to start all its dependencies have ended. ETX = STX + Time taken by children of X
PCX: Conditional probability that X will start execution given that the parent of X starts. CostX = Σ (PCX * Costchildi
)
3rd Dec, 2008 ICSOC, 2008 16
Algorithm : setQoS(X)
for all Z such that X is dependent on Z dosetQoS(Z)
end for
Compute P(startX), STX and PCX // Aux.for all Z such that Z is a child of X do
setQoS(Z)end for
Compute P(SX), ETX and CostX according to rules specific to Type of X
3rd Dec, 2008 ICSOC, 2008 17
Determine P(startX)
For each incoming link Ai , find the probability that it evaluates to true:
Represent the Join Condition in Sum of Products form and apply standard laws of union & intersection to evaluate P(joinCondition = true)
To compute P(startX) we take a product of the following probabilities, if they are applicable: P(startparentX
), if X starts along with parent(X)
P(S ) of predecessor in sequence P(joinConditionX = true)
)().()( )( trueConditiontransitionPPtrueAP ii AAsourcei S
3rd Dec, 2008 ICSOC, 2008 18
P(startX) Calculation Example1.0
0.8
R = 0.9 R = 0.9R = 0.8
0.7 0.9
0.8
1.0 1.01.0
1.0
P(X) = 0.64 P(Y) = 0.63 P(Z) = 0.81
P((X U Y) ∩ Z) = 0.7
0.7R = 0.9
3rd Dec, 2008 ICSOC, 2008 19
Compute STX and PCX
STX is taken to be the maximum of: ET of predecessor in <sequence> ET of source activities of all incoming links STparent(X)
PCX is calculated as:)|( )(XparentXX startstartPPC
1))(|( Since ,)(
)()(
)(
XXparentXparent
X startPstartPstartP
startP
3rd Dec, 2008 ICSOC, 2008 20
QoS for <invoke>
Rws : Conditional probability that an invocation to an external web service fails even if the call is made with proper arguments
P(S invoke) = Rws x P(start invoke) ETinvoke = STinvoke + Tws
Costinvoke = Cws
Rws and Tws incorporate failures and latencies respectively that arise both at the service site or from the network
3rd Dec, 2008 ICSOC, 2008 21
QoS in Structured Activities
Activity P(S ) ET Cost
Sequence
Flow
If
Pick
Loop
)( lastChildP S lastChildET
i
childchild iiCostPC
ii
P )( sinkS )( sink iETMax i
i
bri iPselP )()( S
i
evti iPselP )()( S
i
bri iETselP )(
i
evti iETselP )( ii evt
ievti CostPCselP )(
ii bri
bri CostPCselP )(
nchildi PstartP )()( S loopChildloop ETnST loopChildCostn
i
childchild iiCostPC
3rd Dec, 2008 ICSOC, 2008 22
Reliability of Passport Service
1.0
0.8
R = 0.9 R = 0.9R = 0.8
0.7 0.9
0.8
1.0 1.01.0
1.0
P(X) = 0.64 P(Y) = 0.63 P(Z) = 0.81
P((X U Y) ∩ Z) = 0.7
0.7R = 0.9
, 0.63
, 0.704
, 0.704
, 0.8 , 0.9 , 0.9
3rd Dec, 2008 ICSOC, 2008 23
Tool Screenshot
3rd Dec, 2008 ICSOC, 2008 24
Conclusions
QoS computation of WS-BPEL processes requires special attention because of the unique features supported by it
Fault handler, event handlers need to dealt with in the same light as other activities
Mechanism to estimate QoS improvement derived from Fault Tolerance constructs is important.
3rd Dec, 2008 ICSOC, 2008 25
Thank You!!
3rd Dec, 2008 ICSOC, 2008 26
Backup
3rd Dec, 2008 ICSOC, 2008 27
Fault Handlers
3rd Dec, 2008 ICSOC, 2008 28
Motivation – Fault Tolerance
High levels of reliability, strict adherence to performance limits required in mission critical applications
Create dependable apps out of undependable services
High risk is involved because software is not owned
One does not build redundant services, only pays a certain fee
3rd Dec, 2008 ICSOC, 2008 29
QoS in Structured WorkflowsCardoso gives reduction rules for structured constructs
Construct Reliability Response Time Cost
Sequential
Parallel
Conditional
Loop
i
iR i
iT i
iC
i
iR
ii
i Cp
i
iC}Max{ iT
i
i
p
T
1 i
i
p
C
1ii
ii
Rp
Rp
1
)1(
* In addition, he specifies QoS rule for a Fault Tolerant construct.
ii
i Tp ii
i Rp
3rd Dec, 2008 ICSOC, 2008 30
Quality vs Quality of Service
Software Quality Quality of Service
Subjective Objective
Contains both external and internal
characteristics
Contains only external attributes that are
unambiguously measurable
Reliability, Execution Time, Understandability
Portability, Maintainability
Reliability, Availability, Response Time, Cost.
3rd Dec, 2008 ICSOC, 2008 31
Passport Service Inputs