using component redundancy for adaptive self optimising
play

Using Component Redundancy for adaptive, self-optimising and - PowerPoint PPT Presentation

Performance Engineering Laboratory Using Component Redundancy for adaptive, self-optimising and self-healing Component-Based Systems Ada Diaconescu, John Murphy Performance Engineering Laboratory Dublin City University Ada Diaconescu


  1. Performance Engineering Laboratory Using Component Redundancy for adaptive, self-optimising and self-healing Component-Based Systems Ada Diaconescu, John Murphy Performance Engineering Laboratory Dublin City University Ada Diaconescu diacones@eeng.dcu.ie

  2. Performance Engineering Laboratory Main Topics • Targeted domain • Motivation • Our approach – component redundancy – What is component redundancy ? – Example – How does component redundancy work ? – Framework implementation • Conclusions & future work Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

  3. Performance Engineering Laboratory Targeted domain – Enterprise software applications •We are targeting the business logic tier of enterprise software applications •Quality characteristics - influenced by all tiers and layers involved Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

  4. Performance Engineering Laboratory Motivation • Enterprise software applications - Characteristics: – Complex, large-scale – Highly distributed and parallel – Non-real time, Soft quality requirements (performance, reliability) ⇒ Complicated & expensive design, testing, management processes ⇒ Reduced flexibility ⇒ Quality characteristics hard to control • Component-Based Software Development (CBSD): – Benefits: modularity, reuse, shorter development time, lower costs – New challenges: lack of information • At component development: ?overall system, platform, resources? • At system integration: ?component insight information, changing resources/ requirements at runtime? • Impossible to exhaustively test such software apps. offline Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

  5. Performance Engineering Laboratory Component redundancy – what is ? • Multiple Software Component Variants, with: – Identical interfaces, Equivalent functionalities (i.e. offered services) and – Different design and/or implementation strategies are available at run-time • Only one component variant is active at all times Delegate Request to Improved Performance Poor Performance Active component variant __- instantiated for handling client requests - Redundancy Group • Variants are used alternatively, Component Component Component Variant 1 Variant 1 Variant 1 ‘complementing’ each other P r o x y Component Component Variant 2 Variant 2 • Variants are replaced in case of: Request Service Component •Poor/ non-optimal performance Variant 3 •Fault detection Redirect Requests to •Changing requirements, or running-context Component Variant 2 Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

  6. Performance Engineering Laboratory Example • Used EJB component technology • Two component implementations: – Same functionality: retrieve information from a remote DB – Different design: Direct DB vs. Using Entity Bean Response-time variations with Network load on the link to the DB ⇒ Alternating variants yields better performance, at all times Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

  7. Performance Engineering Laboratory Component redundancy – how it works Monitoring Evaluation Action (&testing) •Determine optimal variant(s) •Use: •Monitor application •Activate /deactivate •Monitoring info •Monitor environment component variants •Descriptions •Determine problems: •Maintain application •Decision policies •Causes integrity •Update descriptions •Affected components •Update decision policies C1.1 C1.1 C1.1 C2.1 C3.1 C1.2 C3.2 C1.2 C2.2 C1.3 C3.3 C2.3 C5.1 C4.1 C5.2 Application Server / Container Functional Application Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

  8. Performance Engineering Laboratory Distributed adaptation mechanism • Motivation: centralised adaptation mechanisms might: – Introduce unnecessary overhead – Not scale well • Adaptation mechanisms with different scopes: – Component – Group of components – Entire application • Hierarchical organisation • Local problems: – Initially dealt with locally – Signalled to higher level adaptation mechanisms (if necessary) • Periodic global optimisations Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

  9. Performance Engineering Laboratory Framework Implementation • Independent of specific applications • Two options: a) Distributed platform level b) Software application level • Maintain application integrity: - Component swapping implemented by means of client call indirection • No state transfer • Keep client references consistent using the proxy pattern Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

  10. Performance Engineering Laboratory Conclusions & future work • Component-based enterprise software • Difficult to provide and maintain performance and dependability: – Lack of information – Changing requirements and execution contexts • Our approach: using component redundancy (overview, general framework) • Expected benefits: • Automatic performance optimisation • Recover from and avoid integration faults • Adapt to changing requirements, resources, workloads • Future work: • Identify and implement relevant examples • Design and implement proof-of-concept framework • Identify and integrate work on monitoring, component descriptions, knowledge based management,… Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

  11. Performance Engineering Laboratory Using Component Redundancy for Ada Diaconescu adaptive, self-optimising and self-healing diacones@eeng.dcu.ie Component-Based Systems

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend