210 likes | 343 Views
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
E N D
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 • Problem description • Algorithms • DeSi • Under the hood • Architecture • Implementation • Future work and concluding remarks CD 2004
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
Outline • Motivation • Background • Problem description • Algorithms • DeSi • Under the hood • Architecture • Implementation • Future work and concluding remarks CD 2004
(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
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
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
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
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
Outline • Motivation • Background • Problem description • Algorithms • DeSi • Under the hood • Architecture • Implementation • Future work and concluding remarks CD 2004
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
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
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
DeSi’s implementation • Eclipse plug-in • GEF • Tailorability • Simple API • Model specialization • Scalability • Efficiency • Exploration capability CD 2004
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
Questions? CD 2004
Approach - overview Enabling the system to: • Monitor its operation • Estimate its new deployment architecture • Effect the estimated architecture CD 2004
Automatic algorithm selection TE * AC + (TAVG – TE) * AEXP CD 2004
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
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