1 / 22

Improving System Availability in Distributed Environments

Improving System Availability in Distributed Environments. Sam Malek malek@usc.edu with Marija Mikic-Rakic marija@usc.edu Nels Beckman beckman@usc.edu Nenad Medvidovic neno@usc.edu. Motivation. How good is this deployment architecture?. What are its properties?.

keilah
Télécharger la présentation

Improving System Availability in Distributed Environments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Improving System Availability in Distributed Environments Sam Malekmalek@usc.edu with Marija Mikic-Rakic marija@usc.edu Nels Beckman beckman@usc.edu Nenad Medvidovic neno@usc.edu

  2. Motivation How good is this deployment architecture? What are its properties? How should it be modified to ensure higher availability?

  3. Effect of Deployment on Availability • Redeployment to maximize the availability • Frequency and volume of interactions, reliability and capacity of network links • Hard to determine a good deployment in large scale distributed systems • In the small example above, there are 310 = 59049 possible deployments Redeployment Better deployment  Higher availability Bad deployment  Low availability

  4. Availability Definition The degree to which the system is operational and accessible when required for use

  5. System Model Parameters • Software component properties • Memory requirements • Frequency of interaction • Size of the exchanged data • Hardware host properties • Memory capacity • Network reliability • Network bandwidth • Constraints • Location • Co-location

  6. Problem Definition • Find a system deployment architecture such that: • It adheres to the system model parameters and constraints • It has the greatest availability

  7. Problem Break Down • Lack of knowledge about runtime system parameters • System model parameters not known at the time of initial deployment • System model parameters change at runtime • Reliability of links, frequencies of interaction, etc. • Prism-MW monitoring support • Exponentially complex problem • n components and k hosts = kn possible deployments • DeSi’s polynomial time approximating algorithms • Solution analysis • Comparison of different solutions and algorithms • Centralized vs. Decentralized, performance vs. complexity, etc • DeSi’s visualization and comparison utilities • Effecting the selected solution • Redeploying components • Requires an automated solution • Prism-MW deployment support

  8. Approach Prism-MW DeSi 2) Monitoring Data 4) Redeployment Data 3) Analyze 1) Monitor

  9. Prism-MW • An architectural middleware that enables efficient implementation, deployment, and execution of distributed systems in terms of their architectural elements: components, connectors, configurations, etc. • Support for monitoring • Support for redeployment Simplified Class Diagram of Prism-MW

  10. Prism-MW DeSi 2) Monitoring Data 4) Redeployment Data 3) Analyze 1) Monitor Prism-MW’s Role • Supports: • Step 1 by monitoring events in the system and calculating the system parameters • Step 4 by providing an API for the redeployment of components and meta-level components to automate the tasks

  11. Maximizing Availability • A family of centralized algorithms • Exact – exponential • Stochastic – quadratic • Adaptive greedy – cubic • A family of decentralized algorithms • DecAp: Auction-based – cubic • A set of clustering techniques • Reduce complexity • Improve performance

  12. Algorithms’ Results

  13. Assessing the Algorithms • Efficiency • Execution time vs. precision • Applicability • Centralized vs. Decentralized • Effect of system characteristics • Impact of individual parameter changes • Addition of new system parameters • Application to new system properties • Requires “what if” scenario exploration In comes DeSi!

  14. DeSi’s Architecture • Key properties: • Tailorability • Scalability • Efficiency • Explorability

  15. DeSi’s View (1)

  16. DeSi’s View (2)

  17. DeSi’s View (3)

  18. DeSi’s View (4)

  19. DeSi’s View (5)

  20. Prism-MW DeSi 2) Monitoring Data 4) Redeployment Data 3) Analyze 1) Monitor DeSi’s Role • Supports: • Step 3 by providing several redeployment algorithms and various visualization utilities • Steps 2 and 4 by providing the appropriate middleware adapter

  21. Conclusion • Suite of automated tools and techniques for improving the availability of a distributed system • Currently extending the tools to model, analyze, and improve other non-functional aspects of a distributed system: security, latency, etc.

  22. Questions?

More Related