a framework to evaluate qos of adaptive enterprise applicationltahvild/courses/ece... · evaluate...

31
A Framework to Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ECE750T11 Presentation 2

Upload: others

Post on 23-Mar-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

A Framework to Evaluate QoS of Adaptive

Enterprise Application

Presented by:Sen Li

ECE750T11 Presentation 2

Page 2: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Contribution of the WorkThe main contribution of this work is defining a software engineering process to evaluate the QoS of an adaptive enterprise application (AEA).

As the proof of concept, a VoIP SOA application is chosen for the case study.

A set of experiments would be conducted on it.

2ECE750T11 Presentation 27/27/2009

Page 3: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Measurable QoS metrics

Load Generating ServerEvaluated AdaptiveEnterprise Application

Conducting Performance Testing

Responses

Service Level Agreement (SLA) of the evaluated

application

Containing

High-level standards for software quality evaluation

(e.g. ISO 9126)

Monitored run-time

QoS values

Containing

Utility Functions

Logging

Utility Value

Inputting as parameters

Computing

Deriving to

Building up Utility Functionsbased on SLA

Containing

7/27/2009 3ECE750T11 Presentation 2

Page 4: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Measurable QoS metrics

Load Generating ServerEvaluated AdaptiveEnterprise Application

Conducting Performance Testing

Responses

Service Level Agreement (SLA) of the evaluated

application

Containing

High-level standards for software quality evaluation

(e.g. ISO 9126)

Monitored run-time

QoS values

Containing

Utility Functions

Logging

Utility Value

Inputting as parameters

Computing

Deriving to

Building up Utility Functionsbased on SLA

Containing

7/27/2009 4ECE750T11 Presentation 2

Page 5: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Measurable QoS metrics

Load Generating ServerEvaluated AdaptiveEnterprise Application

Conducting Performance Testing

Responses

Service Level Agreement (SLA) of the evaluated

application

Containing

High-level standards for software quality evaluation

(e.g. ISO 9126)

Monitored run-time

QoS values

Containing

Utility Functions

Logging

Utility Value

Inputting as parameters

Computing

Deriving to

Building up Utility Functionsbased on SLA

Containing

7/27/2009 5ECE750T11 Presentation 2

Page 6: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Evaluated AdaptiveEnterprise Application

667/27/2009 ECE750T11 Presentation 2

Page 7: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Case Study

“Call Controller 2” (CC2), is a VoIP (Voice over Internet Phone) SOA (Service Oriented Architecture) application, written by Java anddeployed on Mobicents.

Mobicents is the first and only open source platform certified for JSLEE.

JSLEE complements J2EE to enable convergence of voice, video andinstant messaging in next generation intelligent applications.

Mobicents is an event-driven application server with a robust component model.

Mobicents is deployed on JBoss Application Server (AS)

ECE750T11 Presentation 1 7ECE750T11 Presentation 27/27/2009

Page 8: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

7/27/2009 8ECE750T11 Presentation 2

JBoss is the #1 most widely used Java AS on the market.

JBoss AS

Page 9: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

97/27/2009 ECE750T11 Presentation 2

Page 10: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

107/27/2009 ECE750T11 Presentation 2

Page 11: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

7/27/2009 11ECE750T11 Presentation 2

Page 12: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

127/27/2009 ECE750T11 Presentation 2

Page 13: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

137/27/2009 ECE750T11 Presentation 2

Page 14: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

StarMX Framework

StarMX is a management framework that enables the creation of applications with self-managing properties.

Designed for Java-based systems.Incorporating JMXIntegrating with various policy engines.

E.g. IBM ABLE Framework (Crisp/Fuzzy Logic, Neural Network)

7/27/2009 14ECE750T11 Presentation 2

Page 15: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

15ECE750T11 Presentation 27/27/2009

Sensors: Response time, Throughput, Error rate, Availability and etc.

Effectors: Disable / Enable any of CC2’s services

The load generator used in this work is an open source SIP generator, SIPp.

Page 16: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Measurable QoS metrics

Load Generating ServerEvaluated AdaptiveEnterprise Application

Conducting Performance Testing

Responses

Service Level Agreement (SLA) of the evaluated

application

Containing

High-level standards for software quality evaluation

(e.g. ISO 9126)

Monitored run-time

QoS values

Containing

Utility Functions

Logging

Utility Value

Inputting as parameters

Computing

Deriving to

Building up Utility Functionsbased on SLA

Containing

7/27/2009 16ECE750T11 Presentation 2

Page 17: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Measurable QoS metrics

Load Generating ServerEvaluated AdaptiveEnterprise Application

Conducting Performance Testing

Responses

Service Level Agreement (SLA) of the evaluated

application

Containing

High-level standards for software quality evaluation

(e.g. ISO 9126)

Monitored run-time

QoS values

Containing

Utility Functions

Logging

Utility Value

Inputting as parameters

Computing

Deriving to

Building up Utility Functionsbased on SLA

Containing

7/27/2009 17ECE750T11 Presentation 2

Page 18: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Utility Function

There should be n + 1 utility functions existing.

n functions are corresponding to n QoS elements guaranteed by SLA

The last 1 function is used to aggregate all utility values produced from previous n functions, returning a single global utility value.

Global Utility Value = w1*u1 + w2*u2 + … + wn*un

7/27/2009 18ECE750T11 Presentation 2

Page 19: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Utility Function

E.g. u1 = Utility Value of Response Time =

where r is the obtained response time, ßR is the response time in SLA, and KR is a scaling factor.

7/27/2009 19

Page 20: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Experiments

20ECE750T11 Presentation 27/27/2009

Page 21: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Experiments DesignThe aim of the experiment is to use our proposed process to evaluate the QoS of two enterprise applications.

The experiment is a one-factor, four-blocking and three-replicationdesign.

The factor is the adaptation type, and two treatments are: 1. no adaptation. 2. add adaptation.

Recall that, CC2 provides four services: 1. Regular VoIP calls; 2. Forwarding; 3. Blocking; 4. Voicemail

“no adaptation” CC2 will always provide all these services at runtime.“add adaptation” CC2 may Disable/Enable “Regular calls”, “Forwarding”, and “Voicemail” services at runtime.

7/27/2009 21ECE750T11 Presentation 2

Page 22: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Workloads DesignThe four blocks are corresponding to four different workloads.

Due to the importance of scalability, we need load and stress testing to evaluate an enterprise application.

We argue that experiments should be conducted under at least four workload levels:

Light (Load testing)Medium (Load testing)Heavy (Load testing)Extreme (Stress testing)

Three replications will be for each block and each treatment.

7/27/2009 22ECE750T11 Presentation 2

Page 23: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

WorkloadsRegular call Forwarding VoiceMail

Light workloadExponential distribution (0.5 sec), total 4000

Exponential distribution (5 sec), total 400

Exponential distribution (8 sec) total 240

Medium workload Exponential distribution (0.15 sec) total 4000

Exponential distribution (1 sec)   700

Exponential distribution (1.6 sec) total 400

Heavy workloadExponential distribution (0.075 sec) total 8000

Exponential distribution (0.5 sec) total 1200

Exponential distribution (1.6 sec) total 400

Extreme workload Exponential distribution (0.01 sec) total 8000

N/A N/A

7/27/2009 23ECE750T11 Presentation 2

Page 24: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Obtained Results (Light Workload)

Finished Regular

Calls

Avg RT of Regular

Calls

Finished Forwarding

Finished Voicemail

Utility Value

no adaptation 3682 4:633 sec 332 199 122995

add adaptation 3656 4:337 sec 315 198 124219

7/27/2009 24ECE750T11 Presentation 2

Page 25: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Obtained Results (Medium Workload)

Finished Regular

Calls

Avg RT of Regular

Calls

Finished Forwarding

Finished Voicemail

Utility Value

no adaptation 3737 4:469 sec 446 237 132343

add adaptation 3734 4:466 sec 172 148 129378

7/27/2009 25ECE750T11 Presentation 2

Page 26: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Obtained Results (Heavy Workload)

Finished Regular

Calls

Avg RT of Regular

Calls

Finished Forwarding

Finished Voicemail

Utility Value

no adaptation 6784 8:028 sec 557 157 175477

add adaptation 7172 5:833 sec 209 95 228701

7/27/2009 26ECE750T11 Presentation 2

Page 27: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Obtained Results (Extreme Workload)

Crashed or Not?

no adaptation Yes

add adaptation No

7/27/2009 27ECE750T11 Presentation 2

Crashed: Error 503 - Service unavailable

Page 28: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Lessons Learned

28287/27/2009 ECE750T11 Presentation 2

Page 29: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Lessons Learned

In light and medium workloads, AEA performs as well as NEA.

In heavy and extreme workloads, AEA completely outperforms NEA.

The results of ANOVA confirm these.

We can see that the workload level plays an important role in evaluating an adaptive enterprise application.

AEA: adaptive enterprise applicationNEA: non-adaptive enterprise application

7/27/2009 29ECE750T11 Presentation 2

Page 30: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

Lessons Learned

The process we proposed is a systematic way to evaluate the QoS of AEA.

Each step of it can even be automatically computed.

It is also very flexible, by modifying utility functions.

The utility value reflects how well the SLA is satisfied. In other words, how well clients are satisfied.

7/27/2009 30ECE750T11 Presentation 2

Page 31: A Framework to Evaluate QoS of Adaptive Enterprise Applicationltahvild/courses/ECE... · Evaluate QoS of Adaptive Enterprise Application Presented by: Sen Li ... Mobicents is an event-driven

31ECE750T11 Presentation 27/27/2009