2012 IEEE Ninth International Conference on Services Computing

Probabilistic Critical Path Identification for Cost-Effective Monitoring of Servicebased Systems Qiang He, Jun Han, Yun Yang and Jean-Guy Schneider Faculty of Information and Communication Technologies Swinburne University of Technology Melbourne, Australia 3122 {qhe, jhan, yyang, jschneider}swin.edu.au

Hai Jin

Steve Versteeg

Services Computing Technology and System Lab Cluster and Grid Computing Lab School of Computer Science and Technology Huazhong University of Science and Technology Wuhan, China 430074 [email protected]

CA Labs Melbourne, Australia [email protected]

how to manage the quality of a SBS by detecting and adapting to runtime anomalies has become a promising research direction [3-5]. The response time, among various QoS properties, is of particular significance and challenge in QoS management in SBSs. The management of response time is the basis for the management of other QoS dimensions. On one hand, effective response time management promises better management of other QoS dimensions because many applications exhibit trade-offs between their response times and their other QoS dimensions [6]. A video encoding application, for example, can often produce higher quality video if it is given more time to encode frames. In addition, the management of other QoS dimensions is tightly coupled with response time management. During the execution of a SBS, it often needs to be adapted to accommodate runtime anomalies that may jeopardise its quality. The adaptation itself consumes time, and as a result, contributes to delaying the execution of the SBS. In particular, runtime anomalies that occur on the critical path of the service composition, i.e., the execution path with the maximum execution time, will cause delays that directly impact the response time of the SBS. Thus, timely detection and prediction of runtime anomalies, especially those that occur on the critical path, are significant to effective response time management in SBSs. Monitoring, as an essential part of Service-Oriented Architecture and SBSs [3, 4, 7], is required for QoS management in SBSs. By monitoring the execution of the basic components (BCs) that compose a SBS, i.e., the component services and the data transmissions between the component services, runtime anomalies can be predicted or detected. Then, adaptation actions can be taken to fix those anomalies and update the SBS to better manage and guarantee its quality. A straightforward solution to timely detection and prediction of runtime anomalies is to constantly monitor all the BCs of the SBS. However, monitoring consumes resources, including software, hardware and sometimes human resources. Thus, constantly monitoring all the BCs has a number of shortcomings, including potentially excessive monitoring resource consumption and poor scalability, especially for SBSs that

Abstract—When operating in volatile environments, servicebased systems (SBSs) that are built through dynamic composition of component services must be monitored in order to guarantee the response times of the SBSs. In particular, the critical path of a composite SBS, i.e., the execution path in the service composition with the maximum execution time, should be prioritised in cost-effective monitoring as it determines the response time of the SBS. In volatile operating environments, the critical path of a SBS is probabilistic. As such, it is important to estimate the criticalities of the execution paths and the component services, i.e., the probabilities that they are critical, to decide which parts of the system to monitor. In this paper, we propose a novel approach to the identification of Probabilistic Critical Path for Service-based Systems (PCPSBS). PCP-SBS takes into account the probabilistic nature of the critical path and calculates path criticalities in the context of service composition. We evaluate PCP-SBS experimentally using SBSs that are synthetically composed based on a realworld Web service dataset. Keywords-Service composition; Web service; monitoring; critical path

I.

INTRODUCTION

Cloud Computing provides on-demand provisioning of software applications [1]. With the proliferation of the Software-as-a-Service (SaaS) delivery model and the payas-you-go business model promoted by Cloud Computing, it is expected that more and more businesses will develop their software applications by composing in-house services (their core business functions) and external services (non-core business functions) [2], which are locally or remotely accessed by application engines (e.g., BPEL engines [12]). Built through dynamic compositions of loosely coupled component services offered by independent (and often distributed) providers, SBSs are operating in environments where key characteristics of the component services, such as the quality-of-service (QoS) properties, tend to be volatile. During the execution of a SBS, various runtime anomalies may occur that impact the quality of the SBS, e.g., unexpected workload changes, errors in the component services and failures of data transmission. In this context,

978-0-7695-4753-4/12 $26.00 © 2012 IEEE DOI 10.1109/SCC.2012.39

170 178

provide continuous services, e.g., multimedia streaming [8]. Particularly, in the cloud environments, a cloud service provider may maintain up to hundreds of thousands of services for their clients [2]. In such a context, the issue of monitoring cost, i.e., the cost of monitoring in terms of monitoring resources, is particularly critical. For those cloud service providers, constantly monitoring all the services is very expensive. It is to their best benefits to maintain the monitoring cost at a reasonable and affordable level while being able to guarantee the response times of their applications. Therefore, cost-effective monitoring for SBSs has become a significant issue, which has two aspects: 1) given limited monitoring resources, how to make the best use of it to monitor a SBSs; 2) given different levels of requirements for the response time of a SBS, how to allocate minimum monitoring resources to meet the requirements. The key to cost-effective monitoring of a SBS is the identification and monitoring of the critical path of the service composition because any delays on the critical path will directly impact the response time of the SBS. However, the volatility of the operating environments makes the response times of the BCs of the SBSs probabilistic [4]. Thus, the critical path of a SBS is probabilistic - every execution path can be critical with certain probabilities which represent their criticalities in the service composition. Thus, identifying the critical path turns into calculating those probabilities. With the knowledge of the criticalities, cost-effective monitoring can be conducted by prioritising the execution paths with high criticalities in monitor allocation. In this paper, we present a novel approach to the identification of Probabilistic Critical Path for SBSs (PCPSBS). It includes: 1) a timing model that captures the probabilistic nature of the timing properties of the BCs; and 2) a method for calculating the criticalities of the execution paths and the BCs. Experimental results demonstrate that the response times of the SBSs can be managed in a costeffective manner by conducting PCP-SBS based monitoring. The major contributions of this paper include:  We capture the probabilistic nature of the SBSs in volatile operating environments. The proposed model and method allow developers to evaluate and analyse SBSs in a more realistic way.  We propose a method for the identification of probabilistic critical path, which helps developers calculate the criticalities of different execution paths and BCs of SBSs. Based on the criticality information, costeffective monitoring can be conducted for the response time management of SBSs.  To evaluate PCP-SBS, we conduct extensive experiments using SBSs synthetically composed based on a published dataset which contains QoS information about over 2500 real-world Web services. The experimental results demonstrate that PCP-SBS based monitoring consumes significantly less (55.67% on average) monitoring resources than random monitoring. The rest of the paper is structured as follows. The next section motivates this research with an example. Section III introduces the composition model for SBSs. Section IV

presents the proposed approach to the identification of probabilistic critical path for SBSs. Experimental evaluation is given in Section V. Section VI reviews related work. Finally, Section VII summarises the major contributions of this paper and outlines future work. II.

MOTIVATING EXAMPLE

This section presents an example SBS, namely OnlineLive to motivate this research. As presented in Figure 1, this application consists of 24 BCs and offers a live-ondemand service to convert, subtitle and transmit various live video streams for clients. N0 and N8 are virtual nodes that represent the entry and exit points of OnlineLive. N1, N2, …, N7 represent the component services and EA, EB, …, EO represent the data transmissions between the component services. In response to a client’s request, the execution process of OnlineLive is described as follows: Step 1) N1 splits the live media stream selected by the client into separate video and audio streams. Step 2) N2 and N3 convert the video stream and audio stream into the formats that are compatible with the client’s end device. Meanwhile, N4 generates the subtitle by performing speech recognition on the audio stream. Then, based on the client’s preference or current country/region, the subtitle is sent to either N5 or N6 to be translated into one of the two optional languages. Step 3) N7 produces a media stream by merging the converted video stream, audio stream and the translated subtitle. Step 4) The media stream is transmitted to the client. The live media stream is continuously processed and transmitted to the client as packets so that the client can receive a continuous media stream. Operating in a volatile environment, OnlineLive has the following characteristics:  OnlineLive must timely and continuously process the media stream. Otherwise, the client will receive a jittering media stream. Thus, OnlineLive must be monitored so that runtime anomalies that may cause delays to OnlineLive can be detected or predicted on time. Then, adaptation actions can be taken immediately to reduce or prevent the delays by fixing the anomalies.  OnlineLive has four end-to-end execution paths: EP1, EP2, EP3 and EP4. The one with the maximum execution time determines the response time of OnlineLive. However, various anomalies may occur at runtime, causing delays to different execution paths. As a result, the critical path of OnlineLive may change at runtime. Statistically, each of the four execution paths can be b2 EJ EE N0 EA

N1

EB

ED EC

N4 EH

EL

N6 EI

N3 N2

N5 b1

EK EG

EM EN

N7 E O

EF

N1: Split Video and Audio N5: Translate Subtitle into Chinese N6: Translate Subtitle into Japanese N2: Convert Video N7: Merge Video, Audio and Subtitle N3: Convert Audio N4: Recognise Speech

Figure. 1. Business process of OnlineLive.

179 171

N8

EP4 EP3 EP2 EP1

critical with certain probabilities.  The critical path of OnlineLive must be monitored with the highest priority. However, adjusting the monitors dynamically at runtime as the critical path changes is impractical, especially in highly volatile environments. It is often difficult for the adjustment of the monitors to keep up with the pace of the critical path change. In addition, frequent adjustment of monitors can be very expensive in terms of software, hardware and sometimes human resources. Given the above characteristics, in order to perform costeffective monitoring for response time management of OnlineLive, monitors need to be properly allocated based on the criticalities of the execution paths and BCs. BCs on execution paths with higher criticalities should be monitored with higher priorities. III.

EE N0 EA

N1

EB

N4

ED

EI

N3

EC

N5

EK

b1 E G

EN

N7

EO

EP2 EP1

EF

N2

EP3 N8

(a) Execution Scenario 1 (es1) EE N0 EA

N1

EB

ED EC

N4

EJ

N3 N2

EL

N6 b2

EG

EN

N7

EF

EO

N8

EP4

EP2 EP1

(b) Execution Scenario 2 (es2)

Figure. 2. Execution scenarios identified from OnlineLive.

structured loops with only one entry point and one exit point. If a service composition includes loop structures, we transform them into branch structures by representing loop iterations as a sequence of branches with corresponding execution probabilities [10].

COMPOSITION MODEL

This section introduces the composition model adopted in this research for representing and analysing SBSs.

B. Execution Scenarios In a service composition that involves branches or loops, multiple possible execution scenarios can be identified. These execution scenarios do not contain branch or loop structures, and hence can be modelled as Directed Acyclic Graphs (DAGs). As an example, Figure 2 present the two possible execution scenarios identified from OnlineLive: es1={EP1, EP2, EP3} and es2={EP1, EP2, EP4}. The criticality evaluation of the execution paths must consider all the possible execution scenarios according to their execution probabilities, i.e., the appearance probabilities of the execution scenarios. Thus, we need to calculate the execution probability of each possible execution scenario identified from the service composition. The execution probability of an execution scenario is the product of the execution probabilities of all branches in the execution scenario that belong to branch structures in the service composition. For example, in Figure 2, there is ep(es1)=p(b1) and ep(s2)=p(b2).

A. Compositional Structures Compositional structures describe the order in which the component services are executed in a service composition to realise the functionality of a SBS. There are four types of basic compositional structures, i.e., sequence, branch, loop and parallel [9, 10], which are included in BPMN [11] and addressed by BPEL [12] (the de facto standards for specifying service-oriented business processes).  Sequence. In a sequence structure, the BCs are executed one by one.  Parallel. In a parallel structure, all the branches are executed at the same time.  Branch. In a branch structure, only one branch is selected for execution. For every set of branches {b1, …, bn}, the execution probability distribution {p(b1), …, n p(bn)}, (0≤p(bi)≤1,  i 1 p (bi )=1.0) is specified, where p(bi), i=1, …, n, is the probability that the ith branch is selected for execution.  Loop. In a loop structure, the loop is executed for n (n≥0) times. For every loop, the probability distribution {p0, …, MNI pi =1.0) is specified, where pi, i=0, pMNI}, (0≤pi≤1, i =0 …, MNI, is the probability that the loop iterates for i times and MNI is the expected maximum number of iterations for the loop. p(bi), pi and MNI can be evaluated based on the past executions of the SBS or can be specified by the developer [10, 13]. We assume that for every loop, the MNI is determined or estimated. Otherwise, if an upper bound for the number of iterations for a loop does not exist, the execution times of the execution paths that contain the loop cannot be calculated since the loop may iterate infinitely. In this research, we represent service compositions by UML activity diagrams, where activity nodes represent component services and edges represent data transmissions. We assume that a service composition is characterised by only one entry point and one exit point, and it only includes

IV.

CRITICALITY EVALUATION

In this section, we present the proposed approach to criticality evaluation for SBSs, including a probabilistic timing model and methods for dominance probability calculation and criticality calculation.



A. Timing Model In volatile environments, the execution of the BCs of a SBS often suffers impacts of various runtime anomalies. Thus, the timing properties of the BCs are random variables instead of deterministic values, which makes the response time of the SBS probabilistic [4]. For realistic evaluation of the response time of a SBS, a model is needed that takes into account the probabilistic nature of the timing properties of the BCs that compose the SBS. In this research, three types of timing properties are considered:

180 172

 Start time (TS): the time elapsed since the moment when

n

μY=tb-ta

the SBS is invoked (referred to as time zero) until the moment when the BC is activated.  Response time (TR): the time elapsed for the BC to complete since its start time.  Finish time (TF): the time elapsed for the BC to complete since time zero. The response time of a BC Si are expressed in the standard form as: n (1) TR ( Si )  t 0   wi  X i

2



 b  X i

i

(3)

i 1 n

2

(5)

i 1

Since ΔX i , i=1, 2, …, n, are subject to Gaussian 2 2 distributions, there is TA ~ N ( A , A ) , TB ~ N ( B , B ) and Y

TB TA ~ N (tb t a ,

can be calculated by:



n i 1

ai   i 1 bi ) . Thus, DTB (TA ) n

2

2

DT (TA )  P(TA TB 0)  P(Y 0)  FY (0) B





0



1

 exp( 2

2 Y

( x Y ) 2

2 Y

2

) dx



2

) (11)

 ( x)

1

t a tb



B

2

) Z

ex exp(

x

(12)

2

to calculate D(TC). In order to reflect the timing dependencies between the BCs by their timing properties in the context of service composition, we introduce a new concept: Definition 1. Dominance Probability of a BC: For a given BC Si in an execution scenario esi={S1, S2, …, Sn} of a service composition, the dominance probability of Si, denoted as D(Si), is the probability that Si’s finish time solely determines the start time of its succeeding BC(s). The dominance probability computation and timing property propagation for the BCs through an execution scenario of the service composition are interleaved based on their timing properties and the compositional structures that they are involved in. Since an execution scenario does not contain branch or loop structures, we only need to consider sequence and parallel structures.  Sequence. A BC Sj has only one precedent BC Si in a sequence structure. Thus, the start time of Sj is solely determined by Si’s finish time: TS(Sj)=TF(Si) (14) According to Definition 1, there is D(Si)=1.0. In Figure 2(a), the start time of N1 is solely determined by the finish time of EA, i.e., TS(N1)=TF(EA). Thus, there is: (15) D(EA)=1.0  Parallel. In the splitting part of a parallel structure where a precedent edge Ep splits into multiple edges E1, …, En, the start times of Ei, i=1, ..., n, are solely determined by the finish time of Ep. Thus, formulas (14) and (15) can be applied to calculate TS(Ei) and D(Ep). In Figure 2(a), The start time of EC, ED and EE are solely determined by the finish time of EB, i.e., TS(EC)=TS(ED)= TS(EE)=TF(EB). Hence, there is D(EB)=1.0. In the

Their expected values are: μA=E[TA]=ta and μB=E[TB]= tb, and their variances are: n 2 2

A  var(TA )  E{[TA E (TA )] }   ai (4)

B  var(TB )  E{[TB E (TB )] }   bi

2

t a tb

(13) ) 2 2 2 Having computed µZ and Z , formula (6) can be applied

i 1

2

2

 ( t a  tb )     (

n

i 1

2

B

where

TB  tb 

(8)

Z  var( Z )  ( A  a )  DT (TA )  ( B  b )(1 DT (TA ))

Given two random timing properties TA and TB, the dominance probability of TA over TB, noted as DTB (TA ) , is the probability that T A is larger than or equal to T B , where DTB (TA )  [0, 1] and DTB (TA )  1 DTA (TB ) . Given n timing properties Ti, i=1, …, n, the dominance probability of each, noted as D(Ti), is the probability that it is larger than or equal to all the others. The calculation of D(Ti) depends on the distributions of ΔXi. In this research, we assume that ΔXi are subject to Gaussian distributions to facilitate general evaluation of timing properties. For other probability distributions, e.g., exponential distribution, corresponding techniques can be adopted for the calculation of dominance probability [14]. Let us first consider the case of two independent timing properties TA and TB: (2)

2

i 1

Z  E[ Z ]  t a  DT (TA )  tb  (1 DT (TA ))     ( B B

B. Dominance Probability Calculation

ai  X i

2

where FY is the cumulative probability function of Y. Now let us consider the case of multiple independent timing properties T1, T2, …, Tn. Let Z max(T1, …, Ti-1, Ti+1, …, Tn), there is: D(Ti)=P(Ti≥Z)=P(Z-Ti≤0)= FZ Ti (0) (9) FZ T (0) can now be calculated by adopting formula (6). j In the following, we use a case with three timing properties, 2 2 2 T A ~N(μ A , A ), T B ~N(μ B , B ) and T C ~N(μ C , C ), to demonstrate the calculation of a timing property’s dominance probability over multiple timing properties. Let Z max(TA, TB), there is: (10) D(TC)=P(TC≥Z)=P(Z-TC≤0) Before applying formula (6), we appeal to [15] for an 2 2 1/ 2 analytic expression of Z. Define  ( A  B ) . There is

i 1

n

2

i 1

where t0 is the mean value of TR(Si), i.e., E(TR(Si)); ΔXi, i=1, …, n, represent the variation of n sources of anomaly Xi, i=1, 2, …, n, from their mean values; wi, i=1, …, n, represent the sensitivities of TR(Si) to each of the sources of anomaly. For the response time of a BC Si, i.e., TR(Si), t0, wi and the distributions of ΔXi can be evaluated by inspecting Si’s past executions, clients’ feedbacks, service providers’ profiles, etc. Given a service composition SC={S1, …, Sn} and TR(Si), i=1, …, n, the start times and finish times of the BCs, denoted by TS(Si) and TF(Si), i=1, …, n, where TF(Si)=TS(Si)+TR(Si), can be calculated by a forward timing property propagation (see Section IV.B).

TA  t a 

n

Y   ai   bi

(7)

(6)

181 173

D=1.0 C=0.2

merging part of a parallel structure where multiple edges E1, …, En merge into an edge Es that succeeds the branches, the start time of Es is determined by the merging edge that finishes the last, i.e., the merging edge that has the maximum finish time. For example, in Figure 2(a), there is TS(EN)=max(TF(EF), TF(EG), TF(EK)). Since the finish times of the merging edges are random variables, the start time of EN is probabilistically determined by each merging edge’s finish time according to their respective dominance probabilities: TS(Es)=max(TF(E1), …, TF(En)) TF ( E1 ) with the probability of D( E1 )   ... (16) T ( E ) D ( E ) with the probability of  F n n n where  i 1 D(Ei )  1 and D(Ei), i=1, …, n, can be obtained by calculating the dominance probabilities of Ei’s finish time using formulas (6) through (13). To proceed with the interleaved timing property propagation and dominance probability computation, we use the weighted average value, denoted by TS ( N n ) , as the finish time of the succeeding edge Es:

D=1.0 C=1.0

N0

EA

D=1.0 C=1.0

 D( Ei )  TF ( Ei )

N1

EI

N5

D=1.0 C=0.2

EB

D=1.0 C=1.0

EC

N2 D=1.0 C=0.5

EK

D=1.0 C=1.0

D=1.0 C=0.2

N3

ED

D=1.0 C=0.3 D=1.0 C=0.5

EG

D=0.3 C=0.3

D=1.0 C=0.3

EF

EN

D=1.0 C=1.0

N7

EP3

D=1.0 C=1.0

N8

EO

D=1.0 C=1.0

EP2 EP1

D=0.5 C=0.5

Figure 3. Dominance Probability and criticality calculation for execution scenario 1 of OnlineLive (D=Dominance Probability and C=Criticality).

section formally defines criticality and presents the methods for criticality calculation. First of all, we give the formal definitions of path criticality, node criticality and edge criticality. Definition 2. Path Criticality: For a given execution path EPi in a service composition SC={EP1, EP2, …, EPn}, the criticality of EPi, noted as C(EPi), is the probability that EPi is the critical path, i.e., EPi has the maximum execution time among EP1, …, EPn. Definition 3. BC Criticality: For a given BC Si in a service composition SC={S1, …, Sn}, the criticality of Si, noted as C(Si), is the probability that Si belongs to the critical path. As introduced in Section III.B, multiple execution scenarios can be identified from a service composition. To evaluate the criticalities of the execution paths and the BCs in a service composition, first we need to calculate their criticalities in each execution scenario with a backward propagation through the execution scenario starting with assigning 1.0 to the criticality of the exit node, e.g., N8 in Figure 3, as it always belongs to the critical path. Then, the criticality calculation can be performed following certain rules. Rule 1: The criticality of an execution path in an execution scenario is the product of the dominance probabilities of all the edges that belong to the execution path. Take Figure 3 for example, for EP1 to be critical, EA, EB, EC, EF EN and EO have to determine the start time of N1, EC, N2, EN, N7 and N8 respectively. Thus, the criticalities of EP1 is calculated as: Ces1 (EP1) =D(E A )×D(E B )×D(E C )×D(E F)× D(EN)×D(EO)=0.5. Rule 2: The criticality of a node in an execution scenario equals to the criticality of its succeeding edge. As each node has only one succeeding edge in an execution scenario, the criticality of a node depends on how critical its succeeding edge is. In Figure 3, there is C(N1)=C(EB)=1.0 and C(N3)=C(EG)=0.3. Rule 3: The criticality of an edge in an execution scenario is the product of its dominance probability and the sum of the criticalities of its succeeding BCs. An edge may have one or many succeeding BCs. Hence, for an edge to be critical it has to determine the start times of its succeeding BC(s) and its succeeding BC(s) have to be critical. For example, in Figure 3, there is C(EB)=D(EB)× (C(EC)+C(ED)+C(EE))=1.0×(0.5+0.3+0.2)=1.0 and C(EI)= D(EI)×C(N5)=1.0×0.2=0.2. Now, the criticality of an execution path EPi or a PC Si in the service composition can be computed by a weighted average over their criticalities obtained in all the execution scenarios using the execution scenarios’ execution probabilities as weights:

n

TS ( Es ) 

N4

D=1.0 C=1.0

D=0.2 C=0.2

D=1.0 C=0.2

EE

(17)

i 1

For example, in Figure 2(a), there is TS ( E N )  D(EF)× TF(EF)+D(EG)×TF(EG)+D(EK)×TF(EK) and TF(EN)= TS ( E N ) + TR(EN). For other BCs in a parallel structure, formulas (14) and (15) apply as each parallel branch is actually a sequence structure. In particular, in a parallel structure, we consider the response time of the edges that precedes and succeeds the branches, e.g., EB and EN in Figure 2(a), as a constant of zero in the timing property propagation. In Figure 2(a), given TR(EB)=0, TF(EB)=TS(EB)=TF(N1), there is TS(EC)= TS(ED)=TS(EE)=TF(EB)=TF(N1). By interleaving the timing property propagation and the dominance probability computation, the dominance probabilities of the BCs in an execution scenario can be calculated. In Figure 3, we present the dominance probabilities (denoted as D) of the BCs in one of the execution scenario of OnlineLive, which are calculated based on arbitrarily chosen timing properties as a demonstrative example. In reality, the dominance probabilities of the BCs are calculated based on their real timing properties. C. Criticality Calculation The static concept of critical path of a service composition is the execution path with the maximum execution time [13]. However, in volatile operating environments, the response times of the BCs of a SBS are seldom static. Instead, they are subject to change at runtime. Thus, every execution path in the service composition can be critical with certain probabilities. Hence, the problem of identifying the critical path of a service composition turns into the problem of calculating those criticalities. This

182 174

n

C (EPi ) 

 ep(es )  Ces j (EPi )

(18)

C (Si ) 

 ep(es )  Ces j (Si )

(19)

j

In the experiments for computational overhead evaluation, we simulated SBSs that comprised different numbers of BCS, from 24 to approximately 10,000. Then, we used the prototype tool to perform dominance probability and criticality evaluation. By comparing the computation time, we are able to evaluate the computational overhead of PCP-SBS. The experiments were conducted on a machine with AMD Athlon(tm) X4 640 3.00GHz CPU and 8 GB RAM, running Windows 7 x64 Ultimate.

j =1 n

j

j =1

where ep(esj) is the execution probability of esj and Ces j (Si ) is the criticality of Si in esj. V.

EXPERIMENTS

To evaluate PCP-SBS, we have developed a prototype tool that implements PCP-SBS in Java using JDK 1.6.0 and Eclipse Java EE IDE. Using this prototype tool, we have conducted a range of in-lab experiments in a simulated volatile environment, aiming at evaluating the effectiveness, cost-effectiveness and computational overhead of PCP-SBS.

B. Experimental Results In this section, we present the evaluation results of the effectiveness, cost-effectiveness and computational overhead of the proposed approach. Figure 4 demonstrates the average response time of OnlineLive obtained in different volatile environments. As the fault rate increases, the average response time of OnlineLive increases because more anomalies cause longer total delay to OnlineLive. Random monitoring and PCPSBS based monitoring improved the response time of OnlineLive by an average of 17.87% and 27.80% respectively across all experimental cases. The results presented in Figure 4 also provide the knowledge as to how to cost-effectively allocate monitors to meet different levels of requirements for the response time of OnlineLive. Take Figure 4(d) for example, to make sure the average response time of OnlineLive is shorter than 30 seconds, random monitoring requires at least 80% monitoring coverage while PCP-SBS based monitoring only requires a minimum of 40% monitoring coverage. When the monitoring coverage is equivalent to and larger than 50%, the average response time of OnlineLive obtained by PCP-SBS based monitoring are pretty similar to that obtained by random monitoring with a monitoring coverage of 100%. This observation indicates that PCP-SBS based monitoring requires only a monitoring coverage of approximately 50% for the detection and prediction of all the runtime anomalies that directly impact the response time of OnlineLive. Figure 5 compares the improvement in the response time of OnlineLive obtained by random monitoring and PCPSBS based monitoring. OnlineLive beats random monitoring significantly. On average, the response time improvement obtained by PCP-SBS based monitoring is larger than random monitoring by 55.67% across all experimental cases. That indicates, given the same monitoring coverage (i.e., available monitoring resources), PCP-SBS based monitoring is on average 55.67% more cost-effective than random monitoring. Furthermore, as indicated by the improvement difference between random monitoring and PCP-SBS based monitoring in Figure 5, PCP-SBS based monitoring outperforms random monitoring by relatively large margins when the monitoring coverage is between 10% and 50%. Specifically, PCP-SBS based monitoring obtains a larger improvement in the response time of OnlineLive than random monitoring by an average of 114.81% when the monitoring coverage is 10%, 98.69% when 20%, 111.86% when 30%, 116.52% when 40% and 84.13% when 50%, much higher than the average improvement across all experimental cases (55.67%). On

A. Experimental Setup In the experiments, the evaluation process mimicked the OnlineLive example presented in Section II, which consisted of 24 BCs. The response times of the BCs were generated according to different normal distributions based on a publicly available Web service dataset QWS [16]. QWS comprises measurements of nine QoS properties (including response time) of over 2500 real-world Web services. During the execution of OnlineLive, a certain number of runtime anomalies were generated based on the fault rate and randomly introduced to the BCs to simulate volatile environments. In order to create different levels of volatility in the experimental environment, we increased the fault rate from 10% to 40% in steps of 10%. When anomalies occurred to unmonitored BCs, delays that were randomly generated based on normal distributions were applied to the BCs. If a BC was being monitored, the caused delay was avoided (representing the fact that the anomaly was detected or predicted and adaptation actions were taken on time to fix the anomaly). Three sets of experiments were conducted in each volatile environment. In each set of experiments, 1,000 OnlineLive instances were run and the response times of OnlineLive were averaged. In set #1, no monitors were allocated. In set #2, the monitors were randomly allocated to the BCs - a naive approach for monitor allocation that does not consider the criticalities of the execution paths and the BCs. In set #3, the monitors were allocated according to the criticalities of the execution paths from high to low, first the execution path with the highest criticality, then the second highest, etc. When the remaining monitoring resources were not enough to cover an entire execution path, the BCs with the highest criticalities on that execution path were monitored first. Given the criticalities of the BCs as weights in a DAG, we adopt the method proposed in [17] for critical path enumeration, which runs in O(m+n·logn+k) to find k longest execution paths in a service composition that consists of n nodes and m edges. In sets #2 and #3, the monitoring coverage, i.e., the maximum proportions of BCs that were monitored, was increased from 0% to 100% in steps of 10% to simulate scenarios with different levels of available monitoring resources. In this way, we are able to evaluate the cost-effectiveness of PCP-SBS.

183 175

40

35

30

25

No Monitoring Random Monitoring PCP-SBS based Monitoring 20 0

10

20

30

40

50

60

70

80

90

100

Average Reponse Time (in Seconds)

Average Reponse Time (in Seconds)

40

30

25

No Monitoring Random Monitoring PCP-SBS based Monitoring

20 0

10

20

30

40

50

60

70

80

90

100

90

100

Monitoring Coverage (%)

Monitoring Coverage (%)

(a) fault rate=0.1

(b) fault rate=0.2

50

50

45 40 35 30 No Monitoring Random Monitoring PCP-SBS based Monitoring

25 20 0

10

20

30

40

50

60

70

80

100

90

Average Reponse Time (in Seconds)

Average Reponse Time (in seconds)

the more crucial and necessary it is to focus monitoring on the execution paths with high criticalities. The effectiveness and cost-effectiveness of PCP-SBS come at a price - it takes time to perform dominance probability and criticality calculation and to enumerate execution paths according to their criticalities. In order to calculate the computational overhead of PCP-SBS, we scaled up the service composition by increasing the numbers of BCs involved from 24 to approximately 10,000. We then recorded the time consumed by the prototype tool in dominance probability calculation, criticality calculation and execution path enumeration. The averaged results are presented in Figure 6. As illustrated, PCP-SBS demonstrates a slow growth in computational overhead as the scale of service composition scaled up, which indicates high efficiency and scalability in large-scale scenarios. For example, for a SBS that consists of some 10,000 BCs, PCPSBS took roughly 12.2 seconds to finish the dominance calculation, criticality calculation and execution path enumeration.

35

45 40 35 30 No Monitoring Random Monitoring PCP-SBS based Monitoring

25 20 0

10

20

30

40

50

60

70

80

Monitoring Coverage (%)

Monitoring Coverage (%)

(c) fault rate=0.3 (d) fault rate=0.4 Figure 4. Average response time. 1.8

Random Monitoring

1

PCP-SBS based Monitoring

0.8 0.6 0.4

0.2

Response Time Improvement per Monitor (in Seconds)

Response Time Improvement per Monitor (in Seconds)

1.2

PCP-SBS based Monitoring 1.2 1 0.8 0.6 0.4 0.2

0 10

20

30

40

50

60

70

80

90 100

10

20

30

Monitoring Coverage (%)

40

50

60

70

80

90 100

Monitoring Coverage (%)

(a) fault rate=0.1

(b) fault rate=0.2 3.5

2.5

2

Response Time Improvement per Monitor (in Seconds)

Random Monitoring PCP-SBS based Monitoring

1.5

1

0.5

Random Monitoring 3

PCP-SBS based Monitoring 2.5 2

1.5 1 0.5 0

0 1

2

3

4

5

6

7

8

9

10

10

20

Monitoring Coverage (%)

30

40

50

60

70

80

90 100

Monitoring Coverage (%)

(c) fault rate=0.3 (d) fault rate=0.4 Figure 5. Response time improvement. Computation Time (in Milliseconds)

1.0E+05 1.0E+04 1.0E+03

1.0E+02 1.0E+01

5000

10000

900

1000

800

700

600

500

400

300

200

24

100

1.0E+00

Number of BCs

RELATED WORK

In recent years, the area of QoS-aware service composition has attracted much attention. Many efforts have been devoted to addressing the issue of selecting appropriate component services to fulfil the quality requirement for the SBS [10, 13]. Service Level Agreements (SLAs) are often used to provide contractual QoS guarantee for composite services [18]. At runtime, adaptation approaches are employed to handle anomalies to ensure that SLAs are fulfilled [3, 5]. However, the premise for adaptation is that the SBSs must be monitored for timely detection and prediction of runtime anomalies [3, 19]. In [20] the authors propose a framework for runtime requirement verification for service compositions. The framework supports monitoring of the component services’ runtime behaviours. Monitoring is realised by intercepting the events exchanged between the composition process and the component services. In [19] the authors propose an approach to implement runtime monitoring of WS-BPEL processes. External monitoring rules can be weaved into the service composition. In [21], an assertion language named ALBERT is proposed to specify both functional and nonfunctional properties of Web service compositions. At runtime, the assertions are checked by Dynamo [22], a proxy-based monitoring infrastructure. Astro, a monitoring solution, is proposed in [23], aiming at separating the business logic of a Web service from its monitoring functionality. Astro can monitor both a single composite service and multiple composite services in a class. Combing Dynamo [22] and Astro [23], the authors propose an integrated solution for monitoring service compositions in [24]. In the integrated monitoring solution, monitoring constraints can be defined on single and multiple instances, on punctual properties and on complete behaviours. In [7], SECMOL, a general monitoring language is proposed based on three existing monitoring languages, namely ECAssertion [25], SLANG [26] and WSCoL [19]. In SECMOL, the Data Collector captures and extracts the data needed to

1.4

0

Response Time Improvement per Monitor (in Seconds)

VI.

Random Monitoring

1.6

Figure 6. Computational overhead.

the other hand, when the monitoring coverage is close to 100%, there is little or no difference in response time improvement between random monitoring and PCP-SBS based monitoring. This observation shows that PCP-SBS based monitoring achieves particularly significant costeffectiveness advantage over random monitoring when the monitoring coverage (i.e., monitoring resources) is relatively low. We conclude that the less monitoring budget,

184 176

[3] L. Baresi and S. Guinea, "Self-Supervising BPEL Processes," IEEE Transactions on Software Engineering, vol. 37, pp. 247-263, 2011. [4] R. Calinescu, et al., "Dynamic QoS Management and Optimisation in Service-Based Systems," IEEE Transactions on Software Engineering, 2010. [5] P. Leitner, et al., "Monitoring, Prediction and Prevention of SLA Violations in Composite Services," in IEEE International Conference on Web Services, Miami, Florida, USA, 2010, pp. 369-376. [6] S. Misailovic, et al., "Quality of Service Profiling," in 32nd ACM/IEEE International Conference on Software Engineering, Cape Town, South Africa, 2010, pp. 25-34. [7] L. Baresi, et al., "Comprehensive Monitoring of BPEL Processes," IEEE Internet Computing, vol. 14, pp. 50-57, 2010. [8] C. Bettini, et al., "Distributed Context Monitoring for the Adaptation of Continuous Services," World Wide Web, vol. 10, pp. 503-528, 2007. [9] W.-L. Wang, et al., "Architecture-based Software Reliability Modeling," Journal of Systems and Software, vol. 79, pp. 132-146, 2006. [10] D. Ardagna and B. Pernici, "Adaptive Service Composition in Flexible Processes," IEEE Transactions on Software Engineering, vol. 33, pp. 369-384, 2007. [11] Object Management Group. (2011). Business Process Model And Notation (BPMN) Version 2.0. Available: http://www.omg.org/spec/BPMN/2.0/PDF/ [12] OASIS. (2007). Web Services Business Process Execution Language Version 2.0. Available: http://docs.oasis-open.org/wsbpel/2.0/wsbpelv2.0.pdf [13] L. Zeng, et al., "QoS-Aware Middleware for Web Services Composition," IEEE Transactions on Software Engineering, vol. 30, pp. 311-327, 2004. [14] K. S. Trivedi, Probability and Statistics with Reliability, Queueing, and Computer Science Applications: Wiley-Interscience, 2001. [15] E. C. Clark, "The Greatest of a Finite Set of Random Variables," Operations Research, vol. 9, pp. 145-162, 1961. [16] E. Al-Masri and Q. H. Mahmoud, "Investigating Web Services on the World Wide Web," in 17th International Conference on World Wide Web, 2008, pp. 795-804. [17] D. Eppstein, "Finding the k Shortest Paths," SIAM Journal on Computing, vol. 28, pp. 652-673, 1998. [18] E. Di Nitto, et al., "Negotiation of Service Level Agreements: An Architecture and a Search-Based Approach " in 5th International Conference on Service-Oriented Computing, Vienna, Austria, 2007, pp. 295-306. [19] L. Baresi and S. Guinea, "Towards Dynamic Monitoring of WSBPEL Processes," in 3rd International Conference on ServiceOriented Computing, Amsterdam, The Netherlands, 2005, pp. 269282. [20] K. Mahbub and G. Spanoudakis, "Run-time Monitoring of Requirements for Systems Composed of Web-Services: Initial Implementation and Evaluation Experience," in IEEE International Conference on Web Services, Orlando, FL, USA, 2005, pp. 257-265. [21] L. Baresi, et al., "Validation of Web Service Compositions," IET Software, vol. 1, pp. 219-232, 2007. [22] L. Baresi and S. Guinea, "Dynamo: Dynamic Monitoring of WSBPEL Processes," in 3rd International Conference on ServiceOriented Computing, Amsterdam, The Netherlands, 2005, pp. 478483. [23] F. Barbon, et al., "Run-Time Monitoring of Instances and Classes of Web Service Compositions," in IEEE International Conference on Web Services (ICWS2006), Chicago, Illinois, USA, 2006, pp. 63-71. [24] L. Baresi, et al., "Dynamo + Astro: An Integrated Approach for BPEL Monitoring," in IEEE International Conference on Web Services, Los Angeles, CA, USA, 2009, pp. 230-237. [25] G. Spanoudakis and K. Mahbub, "Non-Intrusive Monitoring of Service-Based Systems," International Journal of Cooperative Information Systems, vol. 15, pp. 325-358, 2006. [26] O. Nano and M. Tilly, "Filling the Gap between SLA and Monitoring," in eChallenges e-2006 Conference, Barcelona, Spain, 2006.

conduct monitoring, the Data Analyzers analyses the data collected by Data Collector and the Monitoring Manager integrates and oversees the whole monitoring process. WSCoL is also adopted in [3] as a means to enrich service compositions with monitoring capabilities. However, none of the existing work has considered the issue of monitoring cost, i.e., the cost of conducting the monitoring, and how to cost-effectively utilise monitoring resources. Cost-effective monitoring requires that the critical path of a SBS be identified and given priority in monitor allocation as any delays on the critical path will directly impact the response time of the SBS. However, the issue of critical path identification in service composition has not been properly addressed, particularly in response to the dynamic and volatile nature of the operating environments. In order to address this issue, we have proposed PCP-SBS, a novel approach to the identification of probabilistic critical path for SBSs, which captures the probabilistic nature of volatile operating environments. Based on PCP-SBS, costeffective monitoring can be conducted to facilitate response time management in SBSs. VII. CONCLUSIONS AND FUTURE WORK In this paper, we have presented PCP-SBS, a novel approach to the identification of probabilistic critical path for service-based systems (SBSs). A timing model is proposed which captures the probabilistic nature of the timing properties of the basic components (BCs) of a SBS. Based on the timing model, the criticalities of the execution paths and the BCs can be calculated. With the knowledge of criticalities, monitoring resources can be cost-effectively utilised. Experimental results have demonstrated that PCPSBS based monitoring is much more cost-effective than random monitoring for response time management in SBSs. Runtime anomalies that directly impact the response time of the SBSs can be detected and predicted timely by PCP-SBS based monitoring using significantly less monitoring resources (55.67% less on average) compared to random monitoring. In addition, PCP-SBS demonstrates a slow increase in computational overhead against the number of BCs, which indicates high efficiency and scalability. In future work, we are going to enrich PCP-SBS by extending the set of supported timing models, e.g., Markov model and queuing network model. Then, we are going to evaluate PCP-SBS in real-world large-scale operating environments. ACKNOWLEDGMENT This work is partly funded by the Australian Research Council in collaboration with CA Labs. REFERENCES [1] A. Lenk, et al., "What's Inside the Cloud? An Architectural Map of the Cloud Landscape," in 1st International Workshop on Software Engineering Challenges for Cloud Computing, Washington, DC, USA, 2009, pp. 23-31. [2] K. S. Candan, et al., "Frontiers in Information and Software as Services," in 25th International Conference on Data Engineering, Shanghai, China, 2009, pp. 1761-1768.

185 177

Probabilistic Critical Path Identification for Cost-Effective Monitoring of ...

ALBERT is proposed to specify both functional and non- functional properties of Web service compositions. At runtime, the assertions are checked by Dynamo ...

460KB Sizes 4 Downloads 212 Views

Recommend Documents

Probabilistic Critical Path Identification for Cost-Effective ... - IEEE Xplore
School of Computer Science and. Technology. Huazhong University of Science and Technology. Wuhan, China 430074 [email protected]. Steve Versteeg.

Probabilistic Critical Path Identification for Cost ...
Apr 16, 2012 - Services Computing Technology and. System Lab. Cluster and ... ABSTRACT. The critical path of a composite Web application operating in ... cloud service provider may maintain up to hundreds of thousands of services for ...

Community Structure Identification: A Probabilistic ...
models have been successfully used in many data mining tasks such text clustering, .... generative of the training data only and are unable to generate new data.

Identification and conservation of critical habitat for sea ...
4 Aug 2014 - morphometric data [i.e. length, width, weight, tail length (as a proxy to estimate gender in adults)], evaluated body condition, and collected skin samples (for future genetic and stable isotope analysis). All turtles were marked with ex

Critical Path Method.pdf
According to PMBOK every. scheduled task ... Free Float: Amount of time a single task can be delayed without delaying the early start of. any successor ... Six Sigma: Reduce Variations. CCPM helps to ... Critical Path Method.pdf. Critical Path ...

Critical Path Method.pdf
Page 1. Whoops! There was a problem loading more pages. Critical Path Method.pdf. Critical Path Method.pdf. Open. Extract. Open with. Sign In. Main menu.

Monitoring Path Nearest Neighbor in Road Networks
paths. IEEE Transactions on Systems Science and. Cybernetics, 4(2):100–107, July 1968. [6] G. R. Hjaltason and H. Samet. Distance browsing in spatial databases. ACM Trans. Database Syst.,. 24(2):265–318, 1999. [7] C. S. Jensen, J. Kolárvr, T. B.

Monitoring Path Nearest Neighbor in Road Networks
show that our methods achieve satisfactory performance. Categories and Subject Descriptors. H.2.8 [Database Applications]: Spatial databases and. GIS. General Terms ... 5.00. Keywords. Path Nearest Neighbor, Road Networks, Spatial Databases ..... k-P

Critical Path Timeline (4).pdf
Page 1 of 1. Critical Path Timeline (4).pdf. Critical Path Timeline (4).pdf. Open. Extract. Open with. Sign In. Main menu. Displaying Critical Path Timeline (4).pdf.

5.8 Selecting critical areas for monitoring the impact of ...
monitoring the impact of NH3 on biodiversity within Natura 2000 sites. ... in lichens and plant tissues has been associated to higher N availability (Adrizal et.

Outsourcing of Accounting Function for Unique Identification ...
Outsourcing of Accounting Function for Unique Identification Authority of India..pdf. Outsourcing of Accounting Function for Unique Identification Authority of ...

Critical Situation Monitoring at Large Scale Events from ...
research project was to develop airborne monitoring methods based on video data to enable computer-based ... In addition a given number of those flows are averaged to ensure smooth motion vectors (see Fig. 7). ... low-dimensional description especial