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

rhizoma a runtime for self deploying self managing
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

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

slide-2
SLIDE 2

2 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Cloud computing infrastructures are emerging

slide-3
SLIDE 3

3 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Deploying an online service

Challenge 1: Selecting appropriate providers and resources

vCloud™

slide-4
SLIDE 4

4 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

ACME ACME

Service deployed with one provider

slide-5
SLIDE 5

5 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Service gains popularity

Challenge 2: Adapting to changes in application load

slide-6
SLIDE 6

6 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Provider outage

Challenge 3: Responding to provider outage

slide-7
SLIDE 7

7 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Problem summary

  • Challenges
  • Changing resource availability
  • Changing application requirements
  • Changing pricing policies
  • Current solutions
  • Human-in-the-loop
  • Separate management console (e.g. Rightscale)
slide-8
SLIDE 8

8 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Alternative approach: bundle management

  • Management logic integrated with application instances
  • Instances use P2P-style self-organization
  • Application “deploys itself”
slide-9
SLIDE 9

9 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

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
slide-10
SLIDE 10

10 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

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
slide-11
SLIDE 11

11 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Example application requirements (PsEPR)

  • 6-10 well-connected nodes
  • Lightly-loaded
  • Geographically distributed
  • Maximize CPU cycles
  • Minimize network diameter
  • Reduce budget and migration cost
slide-12
SLIDE 12

12 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

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
slide-13
SLIDE 13

13 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

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
slide-14
SLIDE 14

14 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

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
slide-15
SLIDE 15

15 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Idea: Apply constraint logic programming (CLP)

  • Constraint Programming
  • Constraints
  • Objective function = Utility function - Cost function
slide-16
SLIDE 16

16 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Idea: Apply constraint logic programming (CLP)

  • Constraint Programming
  • Constraints
  • Objective function = Utility function - Cost function

Utility function: value of a given configuration

slide-17
SLIDE 17

17 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Idea: Apply constraint logic programming (CLP)

  • Constraint Programming
  • Constraints
  • Objective function = Utility function - Cost function

Cost function: cost of moving to a new configuration

slide-18
SLIDE 18

18 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Idea: Apply constraint logic programming (CLP)

  • Constraint Programming
  • Constraints
  • Objective function = Utility function - Cost function
  • Logic Programming
  • Heterogeneous resource information
  • Inference rules
slide-19
SLIDE 19

19 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

PsEPR requirements in CLP

node_constraint(Host) :-

comonnode{hostname: Host}, alive(Host), light_loaded(Host), is_avail(Host), get_node_attr(Host, cpuspeed, Cpuspeed), get_node_attr(Host, freecpu, Freecpu), Cpuspeed*Freecpu/100 > 1.5.

group_constraint(NodeList) :-

assemble_values(NodeList, location, Locs), length(NodeList, Len), Max is ((Len-1)//4)+1, ( for(I, 1, 4), param(Locs, Max) do count_element(I, Locs, Num), Num =< Max ).

path_constraint(LenList, Max) :−

max(LenList, Max), diameterUtil(_, DiameterMax, _), Max < DiameterMax.

util_function(NodeList, Util, Params) :-

% Compute utility values for different node attributes fiveminloadUtil(LoadMin, LoadMax, LoadWeight), assemble_values(NodeList, fiveminload, LoadList), util_value("<", LoadList, LoadMin, LoadMax, LoadUtil), % Omitting utility values for liveslices and freecpu, the same as above % Utility of max distance from fixed nodes to the overlay findall(P, fixednode(P), Fixed), minlatency(MinLat), maxneighUtil(_, NeighMax, NeighWeight), get_nearest_neighbor_list(Fixed, NodeList, NeighList), max(NeighList, MaxDist), util_value("<", [MaxDist], MinLat, NeighMax, NeighUtil), % Utility of overlay network diameter diameterUtil(_, DiamMax, DiamWeight), util_value("<", Params, MinLat, DiamMax, DiamUtil), % Weighted average of the utilities above weighted_avg([LoadUtil, SliceUtil, CpuUtil, NeighUtil, DiamUtil], [LoadWeight, SliceWeight, CpuWeight, NeighWeight, DiamWeight], Util). Definition of util_value: util_value< = avgi ((xmax− bound(xi))/(xmax− xmin)) util_value> = avgi ((bound(xi) − xmin)/(xmax− xmin)) bound(x) = max(min(x, xmax), xmin)

CONSTRAINTS UTILITY FUNCTION COST FUNCTION 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).

migration_cost(Actions, MigrateCost) :-

count_element(add, Actions, AddLen), count_element(remove, Actions, RmvLen), addCostParam(AddParam), removeCostParam(RmvParam), MigrateCost is AddParam*AddLen + RmvParam*RmvLen.

slide-20
SLIDE 20

20 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

CLP Solver Overlay Sensors Actuator Overlay Comm. Application Application interface Constraints KB Rhizoma runtime

Our system: Rhizoma

  • Application is a self-organizing overlay
slide-21
SLIDE 21

21 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

CLP Solver Overlay Sensors Actuator Overlay Comm. Application Application interface Constraints KB Rhizoma runtime

Our system: Rhizoma

  • Rhizoma runtime runs alongside application
slide-22
SLIDE 22

22 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

CLP Solver Overlay Sensors Actuator Overlay Comm. Application Application interface Constraints KB Rihzoma runtime

Our system: Rhizoma

  • One node is elected as coordinator and runs CLP solver
slide-23
SLIDE 23

23 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

CLP Solver Overlay Sensors Actuator Overlay Comm. Application Application interface Constraints KB Rihzoma runtime

Our system: Rhizoma

  • Sensors gather info from overlay and external service
slide-24
SLIDE 24

24 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

CLP Solver Overlay Sensors Actuator Overlay Comm. Application Application interface Constraints KB Rihzoma runtime

Our system: Rhizoma

  • CLP solver calculates better deployment
slide-25
SLIDE 25

25 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

CLP Solver Overlay Sensors Actuator Overlay Comm. Application Application interface Constraints KB Rihzoma runtime

Our system: Rhizoma

  • Actuator acquires/releases VMs, starts/stops application
slide-26
SLIDE 26

26 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Evaluation

  • Rhizoma runtime
  • PsEPR requirements
  • 8 hour trace running on PlanetLab
  • Overlay behavior
  • Utility value
  • Weighted attributes
slide-27
SLIDE 27

27 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Rhizoma hosting PsEPR on PlanetLab

slide-28
SLIDE 28

28 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Rhizoma hosting PsEPR on PlanetLab

Start on one node (coordinator)

slide-29
SLIDE 29

29 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Rhizoma hosting PsEPR on PlanetLab

Rapidly expand to six nodes

slide-30
SLIDE 30

30 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Rhizoma hosting PsEPR on PlanetLab

Vacate the first node, migrate to a new one

slide-31
SLIDE 31

31 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Rhizoma hosting PsEPR on PlanetLab

A new coordinator elected

slide-32
SLIDE 32

32 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Rhizoma hosting PsEPR – longer trace

slide-33
SLIDE 33

33 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Rhizoma hosting PsEPR – longer trace

What happens?

slide-34
SLIDE 34

34 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Rhizoma hosting PsEPR – longer trace

Someone else’s buggy slice turned out to be a CPU hog.

slide-35
SLIDE 35

35 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Rhizoma hosting PsEPR – longer trace

Analogy: Partial provider outage/degradation

slide-36
SLIDE 36

36 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Mean CPU (GHz)

Overlay adapts: Without adaptation:

slide-37
SLIDE 37

37 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Network diameter (ms)

Network diameter increases

slide-38
SLIDE 38

38 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Utility values

Mean CPU is weighted more than network diameter

slide-39
SLIDE 39

39 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Utility values

Quickly adapts to degradation and recovery

slide-40
SLIDE 40

40 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Summary

  • Key ideas:
  • Runtime for self-deploying, self-managing overlays
  • CLP to express desired application behavior
slide-41
SLIDE 41

41 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Summary

  • Key ideas:
  • Runtime for self-deploying, self-managing overlays
  • CLP to express desired application behavior
  • Appealing features:
  • Expressiveness of applications’ resource requirements
  • Optimization in terms of performance and cost
  • Responsiveness to changes in resources, load, policies
slide-42
SLIDE 42

42 Thursday, 03 December 2009 Rhizoma: A Runtime for Self-deploying, Self-managing Overlays

Summary

  • Key ideas:
  • Runtime for self-deploying, self-managing overlays
  • CLP to express desired application behavior
  • Appealing features:
  • Expressiveness of applications’ resource requirements
  • Optimization in terms of performance and cost
  • Responsiveness to changes in resources, load, policies
  • Future work:
  • Platform integration (cluster, PlanetLab, Amazon EC2)
  • Feed application-level metrics to optimization process