Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings Sam Malek and Marija Mikic-Rakic Nels Beckman.

Similar presentations


Presentation on theme: "A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings Sam Malek and Marija Mikic-Rakic Nels Beckman."— Presentation transcript:

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

2 CD 20042 May 20th Outline Motivation Background Problem description Algorithms DeSi Under the hood Architecture Implementation Future work and concluding remarks

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

4 CD 20044 May 20th Outline Motivation Background Problem description Algorithms DeSi Under the hood Architecture Implementation Future work and concluding remarks

5 CD 20045 May 20th System model Given: (1) a set of n components ( ), two relations, and a function, (2) a set H of k hardware nodes (), two, and a relations, function (3) Two relations that restrict locations of software components

6 CD 20046 May 20th Find a function such that the defined as systems overall availability is maximized, and the following four conditions are satisfied: Problem – formal definition Note that the possible number of different functions is

7 CD 20047 May 20th Problem breakdown 1) 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 2) Exponentially complex problem n components and k hosts = k n possible deployments Polynomial time approximating algorithms 3) Environment for assessing deployments Comparison of different solutions and algorithms performance vs. complexity, sensitivity analysis, etc DeSis analysis and visualization utilities 4) Effecting the selected solution Redeploying components Requires an automated solution Middleware with deployment support - PrismMW

8 CD 20048 May 20th 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 100 10000 1000000 Stochastic Algorithm Exact Algorithm Avala Algorithm Time taken (in ms) 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 0 0.2 0.4 0.6 0.8 1 z Achieved availability 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 DecAp AlgorithmOriginal Availability

9 CD 20049 May 20th 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

10 CD 200410 May 20th

11 CD 200411 May 20th Outline Motivation Background Problem description Algorithms DeSi Under the hood Architecture Implementation Future work and concluding remarks

12 CD 200412 May 20th DeSis architecture DeSi ModelDeSi View DeSi Controller SystemDataAlgoResultData GraphViewData TableViewGraphView Generator Modifier Algorithm Container Middleware Adapter Monitor Effector Middleware Platform Legend: Data flow Control flow

13 CD 200413 May 20th Prism middleware An architectural middleware Enables implementation and deployment of distributed systems in terms of their architectural elements Support for monitoring and redeployment

14 CD 200414 May 20th Integration with middleware Monitoring Data Redeployment Data Distributed system Legend: Event frequency monitor Architecture Network reliability monitor Skeleton configuration Deployer /Admin Pointer to architecture iComponent

15 CD 200415 May 20th DeSis implementation Eclipse plug-in GEF Tailorability Simple API Model specialization Scalability Efficiency Exploration capability

16 CD 200416 May 20th 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

17 CD 200417 May 20th Questions?

18 CD 200418 May 20th Approach - overview Enabling the system to: Monitor its operation Estimate its new deployment architecture Effect the estimated architecture

19 CD 200419 May 20th Automatic algorithm selection T E * A C + (T AVG – T E ) * A EXP

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

21 CD 200421 May 20th 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); }... } Send (e1) Using Prism-MW Architecture - DEMO Component BComponent A Component D CConnector C Component D sends an event Event e = new Event (Event_D); e.addParameter("param_1", p1); send (e); Send (e)


Download ppt "A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings Sam Malek and Marija Mikic-Rakic Nels Beckman."

Similar presentations


Ads by Google