rhizoma a runtime for self deploying self managing
play

Rhizoma: A Runtime for Self-deploying, Self-managing Overlays Qin - PowerPoint PPT Presentation

Rhizoma: A Runtime for Self-deploying, Self-managing Overlays Qin Yin * , Adrian Schpbach * , Justin Cappos + , Andrew Baumann * , Timothy Roscoe * * Systems Group, Department of Computer Science, ETH Zurich + Dept. of Computer Science and


  1. Rhizoma: A Runtime for Self-deploying, Self-managing Overlays Qin Yin * , Adrian Schüpbach * , Justin Cappos + , Andrew Baumann * , Timothy Roscoe * * Systems Group, Department of Computer Science, ETH Zurich + Dept. of Computer Science and Engineering, University of Washington Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 1

  2. Cloud computing infrastructures are emerging Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 2

  3. Deploying an online service vCloud™ Challenge 1: Selecting appropriate providers and resources Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 3

  4. Service deployed with one provider ACME ACME Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 4

  5. Service gains popularity Challenge 2: Adapting to changes in application load Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 5

  6. Provider outage Challenge 3: Responding to provider outage Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 6

  7. Problem summary � Challenges � Changing resource availability � Changing application requirements Changing pricing policies � � Current solutions Human-in-the-loop � � Separate management console (e.g. Rightscale) Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 7

  8. Alternative approach: bundle management � Management logic integrated with application instances Instances use P2P-style self-organization � � Application “deploys itself” Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 8

  9. Related work � We build on existing work � Early PARC “worm” programs (1982) � Intelligent and mobile agents (1990s) Autonomic computing (2000-) � � Apply the ideas to cloud environments… Span multiple providers and configurations � � Application controls resource allocation Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 9

  10. Example application requirements (PsEPR) � Planetary Scale Event Propagation and Router (PsEPR) A unified reporting and event service for PlanetLab � P.Brett et al., “A Shared Global Event Propagation System to Enable Next Generation Distributed Services”, WORLDS’04. � Requirements 6-10 well-connected nodes � � Lightly-loaded � Geographically distributed � Maximize CPU cycles � Minimize network diameter � Reduce budget and migration cost Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 10

  11. Example application requirements (PsEPR) � 6-10 well-connected nodes � Lightly-loaded Geographically distributed � � Maximize CPU cycles Minimize network diameter � � Reduce budget and migration cost Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 11

  12. Example application requirements (PsEPR) � Constraints � 6-10 well-connected nodes � Lightly-loaded Geographically distributed � � Maximize CPU cycles Minimize network diameter � � Reduce budget and migration cost Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 12

  13. Example application requirements (PsEPR) � Constraints � 6-10 well-connected nodes � Lightly-loaded Geographically distributed � � Objective � Maximize CPU cycles Minimize network diameter � � Reduce budget and migration cost Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 13

  14. Example application requirements (PsEPR) � Constraints � 6-10 well-connected nodes � Lightly-loaded Geographically distributed � � Objective � Maximize CPU cycles Minimize network diameter � � Reduce budget and migration cost � Constraint Optimization Problem Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 14

  15. Idea: Apply constraint logic programming (CLP) � Constraint Programming � Constraints � Objective function = Utility function - Cost function Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 15

  16. Idea: Apply constraint logic programming (CLP) � Constraint Programming � Constraints � Objective function = Utility function - Cost function Utility function: value of a given configuration Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 16

  17. Idea: Apply constraint logic programming (CLP) � Constraint Programming � Constraints � Objective function = Utility function - Cost function Cost function: cost of moving to a new configuration Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 17

  18. Idea: Apply constraint logic programming (CLP) � Constraint Programming � Constraints � Objective function = Utility function - Cost function � Logic Programming � Heterogeneous resource information � Inference rules Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 18

  19. PsEPR requirements in CLP CONSTRAINTS UTILITY FUNCTION node_constraint (Host) :- util_function (NodeList, Util, Params) :- comonnode{hostname: Host}, alive (Host), % Compute utility values for different node attributes light_loaded (Host), fiveminloadUtil (LoadMin, LoadMax, LoadWeight), is_avail (Host), assemble_values (NodeList, fiveminload, LoadList), get_node_attr(Host, cpuspeed, Cpuspeed), util_value ("<", LoadList, LoadMin, LoadMax, LoadUtil), get_node_attr(Host, freecpu, Freecpu), Cpuspeed*Freecpu/100 > 1.5. % Omitting utility values for liveslices and freecpu, the same as above group_constraint (NodeList) :- % Utility of max distance from fixed nodes to the overlay assemble_values (NodeList, location, Locs), findall(P, fixednode(P), Fixed), length(NodeList, Len), minlatency (MinLat), Max is ((Len-1)//4)+1, maxneighUtil (_, NeighMax, NeighWeight), ( for(I, 1, 4), param(Locs, Max) do get_nearest_neighbor_list (Fixed, NodeList, NeighList), count_element (I, Locs, Num), max(NeighList, MaxDist), Num =< Max ). util_value ("<", [MaxDist], MinLat, NeighMax, NeighUtil), path_constraint (LenList, Max) : − % Utility of overlay network diameter max(LenList, Max), diameterUtil (_, DiamMax, DiamWeight), diameterUtil (_, DiameterMax, _), util_value ("<", Params, MinLat, DiamMax, DiamUtil), Max < DiameterMax. % Weighted average of the utilities above COST FUNCTION weighted_avg ([LoadUtil, SliceUtil, CpuUtil, NeighUtil, DiamUtil], [LoadWeight, SliceWeight, CpuWeight, NeighWeight, DiamWeight], Util). migration_cost (Actions, MigrateCost) :- count_element(add, Actions, AddLen), count_element(remove, Actions, RmvLen), Definition of util_value: addCostParam (AddParam), util_value < = avg i ((x max − bound(x i ))/(x max − x min )) removeCostParam (RmvParam), util_value > = avg i ((bound(x i ) − x min )/(x max − x min )) MigrateCost is AddParam*AddLen + bound(x) = max(min(x, x max ), x min ) RmvParam*RmvLen. CONFIGURATIONS fiveminloadUtil (0, 10, 2). liveslicesUtil (0, 10, 1). freecpuUtil (1, 4, 3). maxneighUtil (0, 500, 2). diameterUtil (0, 1000, 2). addCostParam ( 0.012 ). removeCostParam (0). Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 19

  20. Our system: Rhizoma • Application is a self-organizing overlay Rhizoma runtime Application interface Constraints Application Actuator Sensors KB Overlay CLP Overlay Solver Comm. Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 20

  21. Our system: Rhizoma • Rhizoma runtime runs alongside application Rhizoma runtime Application interface Constraints Application Actuator Sensors KB Overlay CLP Overlay Solver Comm. Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 21

  22. Our system: Rhizoma • One node is elected as coordinator and runs CLP solver Rihzoma runtime Application interface Constraints Application Actuator Sensors KB Overlay CLP Overlay Solver Comm. Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 22

  23. Our system: Rhizoma • Sensors gather info from overlay and external service Rihzoma runtime Application interface Constraints Application Actuator Sensors KB Overlay CLP Overlay Solver Comm. Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 23

  24. Our system: Rhizoma • CLP solver calculates better deployment Rihzoma runtime Application interface Constraints Application Actuator Sensors KB Overlay CLP Overlay Solver Comm. Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 24

  25. Our system: Rhizoma • Actuator acquires/releases VMs, starts/stops application Rihzoma runtime Application interface Constraints Application Actuator Sensors KB Overlay CLP Overlay Solver Comm. Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays 25

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