A theory of closure operators Alva L. Couch Marc A. Chiarini Tufts - - PowerPoint PPT Presentation

a theory of closure operators
SMART_READER_LITE
LIVE PREVIEW

A theory of closure operators Alva L. Couch Marc A. Chiarini Tufts - - PowerPoint PPT Presentation

A theory of closure operators Alva L. Couch Marc A. Chiarini Tufts University Convergent operators A convergent operator assures a specific network state and is idempotent if that state exists already. Example 1: set a parameter to a


slide-1
SLIDE 1

A theory of closure operators

Alva L. Couch Marc A. Chiarini Tufts University

slide-2
SLIDE 2

Convergent operators

  • A convergent operator assures a specific

network state and is idempotent if that state exists already.

  • Example 1: set a parameter to a value.
  • Example 2: deploy a service.
  • CFEngine implements a set of convergent
  • perators for system management.
slide-3
SLIDE 3

What does convergence mean?

  • Convergent operators “immunize” the

system against harmful degradations.

  • Example 1: if a parameter ever changes to

a less desirable value, change it back.

  • Example 2: if a service stops working,

either restart or redeploy it.

slide-4
SLIDE 4

CFEngine “immunization”

  • Repeatedly invoke operators at some

(approximate) rate λ.

  • Problems have max. lifetime of about 1/λ.

1/λ 1/λ 1/λ 1/λ 1/λ Operator invocations problem solution

slide-5
SLIDE 5

Assurance and acceptance

  • CFEngine operators have one limitation.
  • We say a state is assured by an operator if

applying it changes the system to reflect that state.

  • We say a state is accepted by an operator if it

will not change that state to another.

  • Most CFEngine operators assure exactly the

states they accept.

  • This simplifies the mathematics, but creates

some problems in engineering self-managing systems.

slide-6
SLIDE 6

Dueling operators (in CFEngine)

  • Suppose O1 sets up a web server and O2

tunes its performance.

Document root Document root Apply O1 Apply O2 Oscillates forever between options A and B

  • Suppose O1 sets up a web server and O2

tunes its performance.

1 2 3 A B Chooses default document root Chooses faster document root

slide-7
SLIDE 7

One way to resolve the conflict…

  • Encapsulate O1 and O2 inside one
  • perator.

Document root Apply O’1 Apply O’2 Stable because of encapsulation A B

slide-8
SLIDE 8

What we really want to happen:

  • O1 and O2 “collaborate” and “share

knowledge”:

Document root Document root Apply O1 Apply O2 Stabilizes at informed choice! 1 2 3 A B Arbitrary choice Informed choice

slide-9
SLIDE 9

Collaboration is difficult

  • For O1 and O2 to collaborate rather than

dueling, O1 must accept more states than it assures.

  • This means that O1 must base its actions
  • n a model of what a healthy webserver

looks like.

slide-10
SLIDE 10

Statespace view

  • O1 deploys a web server, O2 tunes it.
  • Sa are assured states; Si are accepted

states

O1:Si O1:Sa O2:Sa O2:Si Assured by O2, accepted by O1

slide-11
SLIDE 11

Closures

  • A closure is a self-managing part of an
  • therwise (perhaps) open system.
  • Key concepts:

– Hides control loops inside a black box. – Hides incidental complexity: choices made for no justifiable reason need not be made by humans.

  • We borrow ideas from closures to improve
  • perators.
slide-12
SLIDE 12

Closure operators

  • A closure operator is a convergent operator that

accepts more states Si than the states Sa that it assures.

  • The difference between sizes of Si and Sa is a

measure of the incidental complexity of the

  • perator, i.e., the choices that it makes for which

it does not have strong justifications.

  • One operator’s incidental choice may be another
  • perator’s informed decision.
slide-13
SLIDE 13

Goal of closure operator theory

  • Allow each operator to make incidental

choices.

  • Allow other operators to replace incidental

choices with informed choices.

  • Applying a set of operators composes

knowledge embodied in all of them.

slide-14
SLIDE 14

Composing closure operators

  • O1 repairs a web server.
  • O2 tunes a web server.
  • Their “composition” is to invoke both of

them periodically.

O1 invocations O2 invocations Repair if broken Tune if inefficient {O1,O2} invocations damage

slide-15
SLIDE 15

(Relatively straightforward) properties of closure operators

  • If a set of operators act on orthogonal

subsystems, then their composition is a closure operator.

  • If a set of operators shares the same

acceptance set and a reachable fixed point, then their composition is a closure

  • perator.
slide-16
SLIDE 16

Modeling

  • Difficulty in creating a closure: how does
  • ne define or specify the acceptance set?
  • The assurance set is defined procedurally:

“here’s how to create a state.”

  • The acceptance set is defined

declaratively: “these states are fine if they are present.”

slide-17
SLIDE 17

Example: what is an appropriate document root?

  • There must be a document root.
  • It must appear in several places in the

configuration file.

  • The same document root must be

specified everywhere it is needed.

  • If O1 understands this, then O2’s assured

state will be accepted by O1, and there will be no duel.

slide-18
SLIDE 18

Future work

  • We know how to construct “a few” closure
  • perators with appropriate properties.
  • Next step: design how to incorporate these

concepts into CFEngine.

– Use a modeling language to define CFEngine soft classes. – Use soft classes to invoke corrective actions.

slide-19
SLIDE 19

Conclusions

  • CFEngine operators currently assure what

they accept.

  • By using a constraint model, they can

accept more than they assure.

  • This can be used to compose knowledge
  • f multiple operators.
slide-20
SLIDE 20

Afterword: HotAC Outcome

  • June 2, 2008, Wheeling IL,USA:

Hot Autonomic Computing attendees identified three grand challenges.

  • One of the agreed-upon challenges was

control loop composition.

  • Closure operators provide a mechanism

for composing control knowledge.

slide-21
SLIDE 21

Questions?

Alva L. Couch Marc A. Chiarini Tufts University