SlideShare a Scribd company logo
1 of 42
Download to read offline
Building Web Services Middleware with
     Predictable Service Execution

             Vidura Gamini Abhaya
     Prof. Zahir Tari and Assoc. Prof. Peter Bertok

      Distributed Systems and Networking Group
          School of Computer Science and IT
                   RMIT University
                 Melbourne, Australia


                December 13, 2010




            [WISE 2010 - pages 23-37 in proceedings]
Intro. Guidelines Case Study Results Conclusion


Presentation Structure


  1   Introduction

  2   Guidelines for Predictability

  3   Case Study

  4   Empirical Results

  5   Conclusion




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack




1   Introduction

2   Guidelines for Predictability

3   Case Study

4   Empirical Results

5   Conclusion




                        V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


Motivation

  Web Services enable communication between Distributed
  Heterogeneous Systems.




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


Motivation

  Web Services enable communication between Distributed
  Heterogeneous Systems. It is the foundation for...




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


Motivation

  Web Services enable communication between Distributed
  Heterogeneous Systems. It is the foundation for...




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


Motivation

  Web Services enable communication between Distributed
  Heterogeneous Systems. It is the foundation for...




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


Motivation - QoS in the Cloud




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


Motivation - QoS in the Cloud




        Increased the importance of QoS
        Lack of attempts in achieving Execution-time QoS
        On achieving consistent and predictable Execution times
                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


Web Services Middleware

        WS-Middleware are optimised for throughput by design
        Requests are accepted unconditionally
        Uses thread-pools to execute them in a best-effort manner
        Processes multiple requests in-parallel in a processor sharing
        manner




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


ThreadPool Pattern

        Increases throughput
        At the increase of the mean execution time of a web service




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


ThreadPool Pattern

        Increases throughput
        At the increase of the mean execution time of a web service

  No. of requests served in-parallel ∝ Mean time to service a request




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


Web Services Software Stack




  The execution of a web service request goes through multiple
  layers of software


                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Motive. QoS in the Cloud ThreadPools WS Stack


Web Services Software Stack




  Predictability at the upper layers can only be achieved if it is
  supported at the lower levels
        Thread priority level mismatches between dev platform and OS
        Service invocations can be interrupted by a process/thread with higher priority
        Delays in resource reservations at OS level

                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Guidelines




1   Introduction

2   Guidelines for Predictability

3   Case Study

4   Empirical Results

5   Conclusion




                        V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Guidelines


Guidelines for Predictability in Service Execution

  - Enable Web Service Middleware to achieve Predictability in Service Execution.
  - Can be followed in building new middleware or to enhance existing.
  - Applicable for both SOAP and REST based services




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Guidelines


Guidelines for predictability in service execution

   G1. Dev platform and OS used must guarantee predictability of execution




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Guidelines


Guidelines for predictability in service execution

   G1. Dev platform and OS used must guarantee predictability of execution
   G2. Schedule requests based on their deadlines




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Guidelines


Guidelines for predictability in service execution

   G1. Dev platform and OS used must guarantee predictability of execution
   G2. Schedule requests based on their deadlines
   G3. Select requests based on their laxity




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Guidelines


Guidelines for predictability in service execution

   G1. Dev platform and OS used must guarantee predictability of execution
   G2. Schedule requests based on their deadlines
   G3. Select requests based on their laxity
   G4. Introduce fine-grain differentiation in request processing




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Guidelines


Guidelines for predictability in service execution

   G1. Dev platform and OS used must guarantee predictability of execution
   G2. Schedule requests based on their deadlines
   G3. Select requests based on their laxity
   G4. Introduce fine-grain differentiation in request processing
   G5. Minimise priority inversions




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI




1   Introduction

2   Guidelines for Predictability

3   Case Study

4   Empirical Results

5   Conclusion




                        V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI


Case Study - Overview

        Infrastructure
        Common enhancements made
               Schedulability Check
               Priority Model
               Real-time Scheduler
        Stand-alone web service engine
               Apache Axis2
        Web service cluster
               Dispatcher - Apache Synapse
               Executors - Apache Axis2




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI


Infrastructure




  Dev Platform and OS
  Following G1,
        Solaris 10 08/05 is used as the Real-time OS
        Sun Real-time Java Specification is used as the Dev Platform




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI


Schedulability Check
Following G3, every incoming request is subject
to a Schedulability Check (Ref: Algorithm 1 on
paper and mathematical model in [5]).




                           V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI


Schedulability Check
Following G3, every incoming request is subject
to a Schedulability Check (Ref: Algorithm 1 on
paper and mathematical model in [5]).




                           V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI


Priority Model




  Following G4, three priority levels are introduced (used by Real-time scheduler
  following Algorithm 3 on paper)
        High - Cannot be interrupted by GC
        Mid - Can be interrupted by the GC
        Low - Can be interrupted by the GC, Highest priority level available on Standard
        Java

                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI


Real-time Scheduler

        Schedules requests based on their deadlines
        Follows Earliest Deadline First (EDF) technique
        Uses the priority model on threads to decide which request is
        executed at what time
  ..and follows G2 in doing so.




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion        Overview Infra. Commons Standalone Cluster PI


Enhancements made to Axis2

                                          Details
                                                     Thread-pools have been replaced with RT-Thread
                                                     pools
                                                     A Real-time scheduler has been introduced
                                                     Multiple execution lanes are used




                          V. Gamini Abhaya et. al.       WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI


Enhancements made to Synapse




  Details
        RT-Axis2 instances used as Executors
        Enhanced version of Synapse used for dispatching
             Thread-pools have been replaced with RT-Thread pools
             A Real-time scheduler has been introduced
             Multiple execution lanes are used
        Request processing happens at Dispatcher, Service Invocation at Executors

                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI


Minimising Priority Inversions

  Can be caused by, I/O activities such as reading/writing to files and sockets.

  To prevent priority inversions (following G5),
        Avoid outputs resulting in on-screen messages or log file writes
        Use in-memory logging and delayed writes
        Use offline debugging techniques/tools
        e.g. Oracle Thread Scheduling Visualizer (TSV) [16]




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Overview Infra. Commons Standalone Cluster PI


Minimising Priority Inversions - TSV




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Stand Alone Cluster




1   Introduction

2   Guidelines for Predictability

3   Case Study

4   Empirical Results

5   Conclusion




                        V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion                                                                       Stand Alone Cluster


Stand-alone Engine performance

                                                                                     Comparison of Unmod. Axis2 vs RT-Axis2 - Deadline Achievement Rates
                                                                    100


                                                                     90
             Percentage of deadlines met off percentage accepted




                                                                     80


                                                                     70


                                                                     60


                                                                     50


                                                                     40


                                                                     30


                                                                     20


                                                                     10
                                                                                                                                                   Unmod. Axis2
                                                                                                                                                      RT-Axis2
                                                                   0.1s - 0.25s                   0.1s - 0.5s                         0.25s - 1s                  0.25s - 2s
                                                                                                                Inter-arrival times




        RT-Axis2 accepts between 18.1% (fastest) and 96.7% (slowest) of the requests.

                                                                                  V. Gamini Abhaya et. al.              WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion                                                                        Stand Alone Cluster


                  Stand-alone Engine performance



                                                    1 - 5000000 (Uniform); 0.25sec - 1sec (Uniform)                                                                                 1 - 5000000 (Uniform); 0.1sec - 0.5sec (Uniform)
                      180000                                                                                                                          250000
                                                                                                 Real-tme Axis2                                                                                                                   Real-tme Axis2
                                                                                               Unmodified Axis2                                                                                                                 Unmodified Axis2
                      160000

                                                                                                                                                      200000
                      140000


                      120000
Execution Time (ms)




                                                                                                                                Execution Time (ms)
                                                                                                                                                      150000
                      100000


                      80000
                                                                                                                                                      100000
                      60000


                      40000
                                                                                                                                                       50000

                      20000


                          0                                                                                                                               0
                               0   500000   1e+06    1.5e+06   2e+06    2.5e+06 3e+06      3.5e+06    4e+06   4.5e+06   5e+06                                  0   500000   1e+06    1.5e+06   2e+06    2.5e+06 3e+06      3.5e+06     4e+06   4.5e+06   5e+06
                                                                       Task Size                                                                                                                       Task Size




                                                                                V. Gamini Abhaya et. al.                                              WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion                                               Stand Alone Cluster


RT-RoundRobin vs Round-Robin

                                                            Comparison of Round-robin vs. RT-RoundRobin - Deadline Achievement Rates
                                            100
                                                           RR - 2 Execs.
                                                           RR - 3 Execs.
                                             90            RR - 4 Execs.
                                                        RT-RR - 2 Execs.
                                                        RT-RR - 3 Execs.
                                             80         RT-RR - 4 Execs.
             Percentage of deadlines met




                                             70


                                             60


                                             50


                                             40


                                             30


                                             20


                                             10


                                           0.05s 0.1s                      0.1s 0.25s                         0.1s - 0.5s              0.25s - 1s
                                                                                        Inter-arrival times


        RT-RR accepts between 20.5% (2 Exec. - fastest) and 99.9% (4 Exec. -
        slowest) of the requests.

                                                           V. Gamini Abhaya et. al.             WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion                                                                      Stand Alone Cluster


RT-RoundRobin vs Round-Robin



                          Comparison of execution times (1 - 5000000 (Uniform); 0.1sec - 0.25sec (Uniform) roundrobin 3 exec)                         Task Size distribution between 3 Executors (1 - 5000000 (Uniform); 0.1sec - 0.5sec (Uniform) roundrobin 3 exec)
                      120000                                                                                                                          12000
                                       RT-RoundRobin                                                                                                               Executor 1
                                   Simple Round-Robin                                                                                                              Executor 2
                                                                                                                                                                   Executor 3

                      100000                                                                                                                          10000



                      80000                                                                                                                             8000
Execution Time (ms)




                                                                                                                                Execution Time (ms)
                      60000                                                                                                                             6000



                      40000                                                                                                                             4000



                      20000                                                                                                                             2000



                           0                                                                                                                               0
                               0   500000    1e+06 1.5e+06 2e+06 2.5e+06 3e+06 3.5e+06 4e+06 4.5e+06 5e+06                                                     0    500000      1e+06   1.5e+06   2e+06    2.5e+06 3e+06    3.5e+06   4e+06    4.5e+06   5e+06
                                                                Task Size                                                                                                                                 Task Size




                                                                              V. Gamini Abhaya et. al.                                          WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Future Work Recap




1   Introduction

2   Guidelines for Predictability

3   Case Study

4   Empirical Results

5   Conclusion




                        V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Future Work Recap


Future Work

        Further analysis of cluster behaviour with mix of tasks
        Advanced dispatching and re-dispatching models
        Predictability in the networking layer




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Future Work Recap




1   Introduction

2   Guidelines for Predictability

3   Case Study

4   Empirical Results

5   Conclusion




                        V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Future Work Recap


Conclusion

        With the growing popularity of Cloud Computing and it’s
        service offerings, Execution level QoS has become an
        important aspect
        Existing WS-Middleware are optimized for throughput thereby
        lacks predictability of execution
        Presented Guidelines for WS-Middleware to achieve
        predictability of execution
        Discussed 2 case studies as examples
        Presented empirical data, on evaluating the two
        implementations




                          V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings
Intro. Guidelines Case Study Results Conclusion    Future Work Recap




              Thank You !
                   &
        Questions or Comments ?



                        V. Gamini Abhaya et. al.   WISE 2010 - pages 23-37 in proceedings

More Related Content

Viewers also liked

Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppet
Habeeb Rahman
 
Hr coverage directi 2012
Hr coverage directi 2012Hr coverage directi 2012
Hr coverage directi 2012
Directi Group
 
Why Docker
Why DockerWhy Docker
Why Docker
dotCloud
 

Viewers also liked (20)

WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
 
Web Oriented Architecture at Oracle
Web Oriented Architecture at OracleWeb Oriented Architecture at Oracle
Web Oriented Architecture at Oracle
 
WSO2 Cloud and Platform as a Service Strategy
WSO2 Cloud and Platform as a Service StrategyWSO2 Cloud and Platform as a Service Strategy
WSO2 Cloud and Platform as a Service Strategy
 
High Availability (HA) Explained
High Availability (HA) ExplainedHigh Availability (HA) Explained
High Availability (HA) Explained
 
What's New in Puppet Enterprise 2016.5
What's New in Puppet Enterprise 2016.5What's New in Puppet Enterprise 2016.5
What's New in Puppet Enterprise 2016.5
 
Data Guard Architecture & Setup
Data Guard Architecture & SetupData Guard Architecture & Setup
Data Guard Architecture & Setup
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
 
Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppet
 
Hr coverage directi 2012
Hr coverage directi 2012Hr coverage directi 2012
Hr coverage directi 2012
 
IIM L - ConArtists
IIM L - ConArtistsIIM L - ConArtists
IIM L - ConArtists
 
#PortraitDeCDO - Juliette De Maupeou - Total
#PortraitDeCDO - Juliette De Maupeou - Total#PortraitDeCDO - Juliette De Maupeou - Total
#PortraitDeCDO - Juliette De Maupeou - Total
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challenge
 
RMAN best practices for RAC
RMAN best practices for RACRMAN best practices for RAC
RMAN best practices for RAC
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web apps
 
Oracle 11g R2 RAC implementation and concept
Oracle 11g R2 RAC implementation and conceptOracle 11g R2 RAC implementation and concept
Oracle 11g R2 RAC implementation and concept
 
facebook architecture for 600M users
facebook architecture for 600M usersfacebook architecture for 600M users
facebook architecture for 600M users
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 

Similar to Building Web Services Middleware with Predictable Service Execution

Resume_Gowdhaman_23102016
Resume_Gowdhaman_23102016Resume_Gowdhaman_23102016
Resume_Gowdhaman_23102016
Gowdhaman U
 
Software Testing in Cloud Platform A Survey_final
Software Testing in Cloud Platform A Survey_finalSoftware Testing in Cloud Platform A Survey_final
Software Testing in Cloud Platform A Survey_final
www.pixelsolutionbd.com
 

Similar to Building Web Services Middleware with Predictable Service Execution (20)

Achieving Predictability and Service Differentiation in Web Services
Achieving Predictability and Service Differentiation in Web ServicesAchieving Predictability and Service Differentiation in Web Services
Achieving Predictability and Service Differentiation in Web Services
 
Using Real-Time Scheduling Principles in Web Service Clusters to Achieve Pred...
Using Real-Time Scheduling Principles in Web Service Clusters to Achieve Pred...Using Real-Time Scheduling Principles in Web Service Clusters to Achieve Pred...
Using Real-Time Scheduling Principles in Web Service Clusters to Achieve Pred...
 
Resume_Gowdhaman_23102016
Resume_Gowdhaman_23102016Resume_Gowdhaman_23102016
Resume_Gowdhaman_23102016
 
journal of engineering and applied science.pdf
journal of engineering and applied science.pdfjournal of engineering and applied science.pdf
journal of engineering and applied science.pdf
 
ugc journal.pdf
ugc journal.pdfugc journal.pdf
ugc journal.pdf
 
research journal publication
research journal publication research journal publication
research journal publication
 
research journal publication
research journal publication research journal publication
research journal publication
 
ugc carelist.pdf
ugc carelist.pdfugc carelist.pdf
ugc carelist.pdf
 
ugc journal.pdf
ugc journal.pdfugc journal.pdf
ugc journal.pdf
 
scopus indexed journals list.pdf
scopus indexed journals list.pdfscopus indexed journals list.pdf
scopus indexed journals list.pdf
 
journal of engineering and applied science.pdf
journal of engineering and applied science.pdfjournal of engineering and applied science.pdf
journal of engineering and applied science.pdf
 
ijlbpr_64ab991977359.pdf
ijlbpr_64ab991977359.pdfijlbpr_64ab991977359.pdf
ijlbpr_64ab991977359.pdf
 
Software Testing in Cloud Platform A Survey_final
Software Testing in Cloud Platform A Survey_finalSoftware Testing in Cloud Platform A Survey_final
Software Testing in Cloud Platform A Survey_final
 
A hybrid push pull overlay network for
A hybrid push pull overlay network forA hybrid push pull overlay network for
A hybrid push pull overlay network for
 
Backend for Frontend in Microservices
Backend for Frontend in MicroservicesBackend for Frontend in Microservices
Backend for Frontend in Microservices
 
DNIS in SRC
DNIS in SRCDNIS in SRC
DNIS in SRC
 
Distributed Web System Performance Improving Forecasting Accuracy
Distributed Web System Performance Improving Forecasting  AccuracyDistributed Web System Performance Improving Forecasting  Accuracy
Distributed Web System Performance Improving Forecasting Accuracy
 
Cloud-enabled Performance Testing vis-à-vis On-premise- Impetus White Paper
Cloud-enabled Performance Testing vis-à-vis On-premise- Impetus White PaperCloud-enabled Performance Testing vis-à-vis On-premise- Impetus White Paper
Cloud-enabled Performance Testing vis-à-vis On-premise- Impetus White Paper
 
Continuous Health Monitoring of Micro-Service based Application
Continuous Health Monitoring of Micro-Service based ApplicationContinuous Health Monitoring of Micro-Service based Application
Continuous Health Monitoring of Micro-Service based Application
 
Cloud Computing Task Scheduling Algorithm Based on Modified Genetic Algorithm
Cloud Computing Task Scheduling Algorithm Based on Modified Genetic AlgorithmCloud Computing Task Scheduling Algorithm Based on Modified Genetic Algorithm
Cloud Computing Task Scheduling Algorithm Based on Modified Genetic Algorithm
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Building Web Services Middleware with Predictable Service Execution

  • 1. Building Web Services Middleware with Predictable Service Execution Vidura Gamini Abhaya Prof. Zahir Tari and Assoc. Prof. Peter Bertok Distributed Systems and Networking Group School of Computer Science and IT RMIT University Melbourne, Australia December 13, 2010 [WISE 2010 - pages 23-37 in proceedings]
  • 2. Intro. Guidelines Case Study Results Conclusion Presentation Structure 1 Introduction 2 Guidelines for Predictability 3 Case Study 4 Empirical Results 5 Conclusion V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 3. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack 1 Introduction 2 Guidelines for Predictability 3 Case Study 4 Empirical Results 5 Conclusion V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 4. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack Motivation Web Services enable communication between Distributed Heterogeneous Systems. V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 5. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack Motivation Web Services enable communication between Distributed Heterogeneous Systems. It is the foundation for... V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 6. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack Motivation Web Services enable communication between Distributed Heterogeneous Systems. It is the foundation for... V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 7. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack Motivation Web Services enable communication between Distributed Heterogeneous Systems. It is the foundation for... V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 8. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack Motivation - QoS in the Cloud V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 9. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack Motivation - QoS in the Cloud Increased the importance of QoS Lack of attempts in achieving Execution-time QoS On achieving consistent and predictable Execution times V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 10. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack Web Services Middleware WS-Middleware are optimised for throughput by design Requests are accepted unconditionally Uses thread-pools to execute them in a best-effort manner Processes multiple requests in-parallel in a processor sharing manner V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 11. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack ThreadPool Pattern Increases throughput At the increase of the mean execution time of a web service V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 12. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack ThreadPool Pattern Increases throughput At the increase of the mean execution time of a web service No. of requests served in-parallel ∝ Mean time to service a request V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 13. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack Web Services Software Stack The execution of a web service request goes through multiple layers of software V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 14. Intro. Guidelines Case Study Results Conclusion Motive. QoS in the Cloud ThreadPools WS Stack Web Services Software Stack Predictability at the upper layers can only be achieved if it is supported at the lower levels Thread priority level mismatches between dev platform and OS Service invocations can be interrupted by a process/thread with higher priority Delays in resource reservations at OS level V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 15. Intro. Guidelines Case Study Results Conclusion Guidelines 1 Introduction 2 Guidelines for Predictability 3 Case Study 4 Empirical Results 5 Conclusion V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 16. Intro. Guidelines Case Study Results Conclusion Guidelines Guidelines for Predictability in Service Execution - Enable Web Service Middleware to achieve Predictability in Service Execution. - Can be followed in building new middleware or to enhance existing. - Applicable for both SOAP and REST based services V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 17. Intro. Guidelines Case Study Results Conclusion Guidelines Guidelines for predictability in service execution G1. Dev platform and OS used must guarantee predictability of execution V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 18. Intro. Guidelines Case Study Results Conclusion Guidelines Guidelines for predictability in service execution G1. Dev platform and OS used must guarantee predictability of execution G2. Schedule requests based on their deadlines V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 19. Intro. Guidelines Case Study Results Conclusion Guidelines Guidelines for predictability in service execution G1. Dev platform and OS used must guarantee predictability of execution G2. Schedule requests based on their deadlines G3. Select requests based on their laxity V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 20. Intro. Guidelines Case Study Results Conclusion Guidelines Guidelines for predictability in service execution G1. Dev platform and OS used must guarantee predictability of execution G2. Schedule requests based on their deadlines G3. Select requests based on their laxity G4. Introduce fine-grain differentiation in request processing V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 21. Intro. Guidelines Case Study Results Conclusion Guidelines Guidelines for predictability in service execution G1. Dev platform and OS used must guarantee predictability of execution G2. Schedule requests based on their deadlines G3. Select requests based on their laxity G4. Introduce fine-grain differentiation in request processing G5. Minimise priority inversions V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 22. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI 1 Introduction 2 Guidelines for Predictability 3 Case Study 4 Empirical Results 5 Conclusion V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 23. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Case Study - Overview Infrastructure Common enhancements made Schedulability Check Priority Model Real-time Scheduler Stand-alone web service engine Apache Axis2 Web service cluster Dispatcher - Apache Synapse Executors - Apache Axis2 V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 24. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Infrastructure Dev Platform and OS Following G1, Solaris 10 08/05 is used as the Real-time OS Sun Real-time Java Specification is used as the Dev Platform V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 25. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Schedulability Check Following G3, every incoming request is subject to a Schedulability Check (Ref: Algorithm 1 on paper and mathematical model in [5]). V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 26. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Schedulability Check Following G3, every incoming request is subject to a Schedulability Check (Ref: Algorithm 1 on paper and mathematical model in [5]). V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 27. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Priority Model Following G4, three priority levels are introduced (used by Real-time scheduler following Algorithm 3 on paper) High - Cannot be interrupted by GC Mid - Can be interrupted by the GC Low - Can be interrupted by the GC, Highest priority level available on Standard Java V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 28. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Real-time Scheduler Schedules requests based on their deadlines Follows Earliest Deadline First (EDF) technique Uses the priority model on threads to decide which request is executed at what time ..and follows G2 in doing so. V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 29. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Enhancements made to Axis2 Details Thread-pools have been replaced with RT-Thread pools A Real-time scheduler has been introduced Multiple execution lanes are used V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 30. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Enhancements made to Synapse Details RT-Axis2 instances used as Executors Enhanced version of Synapse used for dispatching Thread-pools have been replaced with RT-Thread pools A Real-time scheduler has been introduced Multiple execution lanes are used Request processing happens at Dispatcher, Service Invocation at Executors V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 31. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Minimising Priority Inversions Can be caused by, I/O activities such as reading/writing to files and sockets. To prevent priority inversions (following G5), Avoid outputs resulting in on-screen messages or log file writes Use in-memory logging and delayed writes Use offline debugging techniques/tools e.g. Oracle Thread Scheduling Visualizer (TSV) [16] V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 32. Intro. Guidelines Case Study Results Conclusion Overview Infra. Commons Standalone Cluster PI Minimising Priority Inversions - TSV V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 33. Intro. Guidelines Case Study Results Conclusion Stand Alone Cluster 1 Introduction 2 Guidelines for Predictability 3 Case Study 4 Empirical Results 5 Conclusion V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 34. Intro. Guidelines Case Study Results Conclusion Stand Alone Cluster Stand-alone Engine performance Comparison of Unmod. Axis2 vs RT-Axis2 - Deadline Achievement Rates 100 90 Percentage of deadlines met off percentage accepted 80 70 60 50 40 30 20 10 Unmod. Axis2 RT-Axis2 0.1s - 0.25s 0.1s - 0.5s 0.25s - 1s 0.25s - 2s Inter-arrival times RT-Axis2 accepts between 18.1% (fastest) and 96.7% (slowest) of the requests. V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 35. Intro. Guidelines Case Study Results Conclusion Stand Alone Cluster Stand-alone Engine performance 1 - 5000000 (Uniform); 0.25sec - 1sec (Uniform) 1 - 5000000 (Uniform); 0.1sec - 0.5sec (Uniform) 180000 250000 Real-tme Axis2 Real-tme Axis2 Unmodified Axis2 Unmodified Axis2 160000 200000 140000 120000 Execution Time (ms) Execution Time (ms) 150000 100000 80000 100000 60000 40000 50000 20000 0 0 0 500000 1e+06 1.5e+06 2e+06 2.5e+06 3e+06 3.5e+06 4e+06 4.5e+06 5e+06 0 500000 1e+06 1.5e+06 2e+06 2.5e+06 3e+06 3.5e+06 4e+06 4.5e+06 5e+06 Task Size Task Size V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 36. Intro. Guidelines Case Study Results Conclusion Stand Alone Cluster RT-RoundRobin vs Round-Robin Comparison of Round-robin vs. RT-RoundRobin - Deadline Achievement Rates 100 RR - 2 Execs. RR - 3 Execs. 90 RR - 4 Execs. RT-RR - 2 Execs. RT-RR - 3 Execs. 80 RT-RR - 4 Execs. Percentage of deadlines met 70 60 50 40 30 20 10 0.05s 0.1s 0.1s 0.25s 0.1s - 0.5s 0.25s - 1s Inter-arrival times RT-RR accepts between 20.5% (2 Exec. - fastest) and 99.9% (4 Exec. - slowest) of the requests. V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 37. Intro. Guidelines Case Study Results Conclusion Stand Alone Cluster RT-RoundRobin vs Round-Robin Comparison of execution times (1 - 5000000 (Uniform); 0.1sec - 0.25sec (Uniform) roundrobin 3 exec) Task Size distribution between 3 Executors (1 - 5000000 (Uniform); 0.1sec - 0.5sec (Uniform) roundrobin 3 exec) 120000 12000 RT-RoundRobin Executor 1 Simple Round-Robin Executor 2 Executor 3 100000 10000 80000 8000 Execution Time (ms) Execution Time (ms) 60000 6000 40000 4000 20000 2000 0 0 0 500000 1e+06 1.5e+06 2e+06 2.5e+06 3e+06 3.5e+06 4e+06 4.5e+06 5e+06 0 500000 1e+06 1.5e+06 2e+06 2.5e+06 3e+06 3.5e+06 4e+06 4.5e+06 5e+06 Task Size Task Size V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 38. Intro. Guidelines Case Study Results Conclusion Future Work Recap 1 Introduction 2 Guidelines for Predictability 3 Case Study 4 Empirical Results 5 Conclusion V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 39. Intro. Guidelines Case Study Results Conclusion Future Work Recap Future Work Further analysis of cluster behaviour with mix of tasks Advanced dispatching and re-dispatching models Predictability in the networking layer V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 40. Intro. Guidelines Case Study Results Conclusion Future Work Recap 1 Introduction 2 Guidelines for Predictability 3 Case Study 4 Empirical Results 5 Conclusion V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 41. Intro. Guidelines Case Study Results Conclusion Future Work Recap Conclusion With the growing popularity of Cloud Computing and it’s service offerings, Execution level QoS has become an important aspect Existing WS-Middleware are optimized for throughput thereby lacks predictability of execution Presented Guidelines for WS-Middleware to achieve predictability of execution Discussed 2 case studies as examples Presented empirical data, on evaluating the two implementations V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings
  • 42. Intro. Guidelines Case Study Results Conclusion Future Work Recap Thank You ! & Questions or Comments ? V. Gamini Abhaya et. al. WISE 2010 - pages 23-37 in proceedings