a theory of closure operators
play

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


  1. A theory of closure operators Alva L. Couch Marc A. Chiarini Tufts University

  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 operators for system management.

  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.

  4. CFEngine “immunization” • Repeatedly invoke operators at some (approximate) rate λ . • Problems have max. lifetime of about 1/ λ . Operator invocations 1/ λ 1/ λ 1/ λ 1/ λ 1/ λ problem solution

  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.

  6. Dueling operators (in CFEngine) • Suppose O 1 sets up a web server and O 2 • Suppose O 1 sets up a web server and O 2 tunes its performance. tunes its performance. 1 Chooses default Apply O 1 Document root A document root 3 Oscillates forever between options 2 A and B Apply O 2 Document root B Chooses faster document root

  7. One way to resolve the conflict… • Encapsulate O 1 and O 2 inside one operator. A Stable because of Apply O’ 1 encapsulation Document root B Apply O’ 2

  8. What we really want to happen: • O 1 and O 2 “collaborate” and “share knowledge”: 1 Apply O 1 A Arbitrary choice Document root Stabilizes at 3 informed choice! Apply O 2 B Document root Informed choice 2

  9. Collaboration is difficult • For O 1 and O 2 to collaborate rather than dueling, O 1 must accept more states than it assures . • This means that O 1 must base its actions on a model of what a healthy webserver looks like .

  10. Statespace view • O 1 deploys a web server, O 2 tunes it. • S a are assured states; S i are accepted states O 1 :S i O 2 :S i O 1 :S a O 2 :S a Assured by O 2 , accepted by O 1

  11. Closures • A closure is a self-managing part of an otherwise (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 operators.

  12. Closure operators • A closure operator is a convergent operator that accepts more states S i than the states S a that it assures. • The difference between sizes of S i and S a is a measure of the incidental complexity of the operator, i.e., the choices that it makes for which it does not have strong justifications. • One operator’s incidental choice may be another operator’s informed decision.

  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.

  14. Composing closure operators • O 1 repairs a web server. • O 2 tunes a web server. • Their “composition” is to invoke both of Repair if broken them periodically. O 1 invocations Tune if inefficient O 2 invocations {O 1 ,O 2 } invocations damage

  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 operator.

  16. Modeling • Difficulty in creating a closure: how does one 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.”

  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 O 1 understands this, then O 2 ’s assured state will be accepted by O 1 , and there will be no duel.

  18. Future work • We know how to construct “a few” closure operators 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.

  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 of multiple operators.

  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.

  21. Questions? Alva L. Couch Marc A. Chiarini Tufts University

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