1 / 21

Sam Malek and Marija Mikic-Rakic Nels Beckman Nenad Medvidovic

CD 2004. A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings. Sam Malek and Marija Mikic-Rakic Nels Beckman Nenad Medvidovic. University of Southern California. Outline. Motivation Background

tave
Download Presentation

Sam Malek and Marija Mikic-Rakic Nels Beckman Nenad Medvidovic

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. CD 2004 A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings Sam Malek and Marija Mikic-Rakic Nels Beckman Nenad Medvidovic University of Southern California

  2. Outline • Motivation • Background • Problem description • Algorithms • DeSi • Under the hood • Architecture • Implementation • Future work and concluding remarks CD 2004

  3. Motivation How good is this deployment architecture? Deployment architecture: distribution (i.e., assignment) of software components onto hardware nodes. What are its properties? How should it be modified to ensure higher availability? CD 2004

  4. Outline • Motivation • Background • Problem description • Algorithms • DeSi • Under the hood • Architecture • Implementation • Future work and concluding remarks CD 2004

  5. (2) a set H of k hardware nodes ( ), two , , and a relations • a set (3) Two relations that restrict locations of software components ), two relations function of n components ( , and a function , System model Given: CD 2004

  6. Note that the possible number of different functions is Problem – formal definition Find a function such that the defined as system’soverall availability is maximized, and the following four conditions are satisfied: CD 2004

  7. Problem breakdown • 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. • Middleware with monitoring support - PrismMW • Exponentially complex problem • n components and k hosts = kn possible deployments • Polynomial time approximating algorithms • Environment for assessing deployments • Comparison of different solutions and algorithms • performance vs. complexity, sensitivity analysis, etc • DeSi’s analysis and visualization utilities • Effecting the selected solution • Redeploying components • Requires an automated solution • Middleware with deployment support - PrismMW CD 2004

  8. Suite of algorithms Exact – finds optimal solution O(k^n) Biased/Unbiased stochastic – random selection O(n^2) Avala – greedy approximation O(n^3) DecAp – decentralized auction based O(n^3) Clustering – decreases complexity 1 0.8 0.6 Achieved 0.4 availability 0.2 z 0 10 comps 100 comps 200 comps 1000 comps 100 comps 30 comps 300 comps 4 hosts 10 hosts 20 hosts 100 hosts 40 hosts 7 hosts 70 hosts 1000000 10000 Time taken 100 (in ms) 1 10 comps 100 comps 200 comps 1000 comps 100 comps 30 comps 300 comps 4 hosts 10 hosts 20 hosts 100 hosts 40 hosts 7 hosts 70 hosts Original Availability DecAp Algorithm Exact Algorithm Stochastic Algorithm Avala Algorithm CD 2004

  9. DeSi • Deployment simulation environment • Specification and generation of deployment architectures • Visualization and analysis of distributed system • Estimation of the quality of deployment • Facilitation of rapid development and comparison of algorithms CD 2004

  10. CD 2004

  11. Outline • Motivation • Background • Problem description • Algorithms • DeSi • Under the hood • Architecture • Implementation • Future work and concluding remarks CD 2004

  12. DeSi’s architecture DeSi Model DeSi View SystemData AlgoResultData TableView GraphView GraphViewData DeSi Controller Middleware Platform Generator Middleware Adapter Legend: Data flow Control flow Modifier Monitor Effector Algorithm Container CD 2004

  13. Prism middleware • An architectural middleware • Enables implementation and deployment of distributed systems in terms of their architectural elements • Support for monitoring and redeployment CD 2004

  14. Integration with middleware Legend: Architecture Event frequency monitor Deployer Skeleton /Admin configuration Network reliability monitor Pointer to architecture i Component Distributed system Monitoring Data Redeployment Data CD 2004

  15. DeSi’s implementation • Eclipse plug-in • GEF • Tailorability • Simple API • Model specialization • Scalability • Efficiency • Exploration capability CD 2004

  16. Conclusion and future work • Quality of deployment architecture • An environment that assists with • Development of redeployment algorithms • Analysis of real systems • Effecting the results • Scalability, efficiency, tailorability, explorability On-going/future work: • Modeling other system properties • Creating new visualizations • Integrating DeSi with other platforms CD 2004

  17. Questions? CD 2004

  18. Approach - overview Enabling the system to: • Monitor its operation • Estimate its new deployment architecture • Effect the estimated architecture CD 2004

  19. Automatic algorithm selection TE * AC + (TAVG – TE) * AEXP CD 2004

  20. Component A Component B Connector C Connector C C C Component D // establish the interconnections arch.weld(a, conn); arch.weld(b, conn); arch.weld(conn, d) } } Component A Component B Component D Using Prism-MW class DemoArch { static public void main(String argv[]) { Architecture arch = new Architecture ("DEMO "); Architecture - DEMO // create components ComponentA a = new ComponentA ("A"); ComponentB b = new ComponentB ("B"); ComponentD d = new ComponentD (“D”); // create connectors Connector conn = new Connector("Conn"); // add components and connectors arch.addComponent(a); arch.addComponent(b); arch.addComponent(d); arch.addConnector(conn); CD 2004

  21. Send (e1) Component A Component B • Component B handles the event and sends a response • public void handle(Event e) • { • if (e.equals(“Event_D”)) { • ... • Event e1= new Event(“Response_to_D”); • e1.addParameter("response", resp); • send(e1); • }... • } Connector C C Component D Using Prism-MW Component D sends an event Event e = new Event (“Event_D”); e.addParameter("param_1", p1); send (e); Architecture - DEMO Send (e) CD 2004

More Related