1、Autonomic Systems . Gaurav S. Kc . September 26th, 2002,1,Autonomic Systems,Autonomic: adaptive Self-healing: cluster systems via node restart Self-optimizing: variable encoding schemes for web audio streaming services Self-regulating : apache web server periodically kills child processesMaintenance
2、: expensive, time-consuming I want my availability, but I wont do it myselfAutomated maintenance: Cheaper Quicker response than human 24/7 watch, can afford to “forget and leave running”,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,2,Items for discussion,Can large-scale, distributed appli
3、cations be self-healing, self-regulating, self-optimizing?Important issues with respect to automated maintenance of large-scale, software systems Harder to build. Focus on reusable components Specify maintenance operations during development Considering maintenance as runtime adaptations Gracefully
4、handle unfamiliar, exceptional conditionsProposal: design methodology Separation of concerns: Application code vs. adaptation mechanisms decision logic, implementation Introspection: Communicate runtime data to decision logic Intercession: Transport reconfiguration code from decision logic,Autonomic
5、 Systems . Gaurav S. Kc . September 26th, 2002,3,Build large-scale systems with reusable components,Inherent problem with the development of large-scale systems Hugely complex, unwise for one group of developers to create the whole thing from scratch Outsource sub-projects to experts vs. license the
6、ir technology Integrate with COTS components: Cheaper than to re-implement themSoftware engineering and practicality reasons component has already been implemented available immediately no duplication of effort 3 types of software components: COTS In-house One-use, specific-purpose component,Autonom
7、ic Systems . Gaurav S. Kc . September 26th, 2002,4,Component-based Software Engineering,Software component: unit of software that conforms to a component model e.g. COM+, JavaBeans Defines standards: Composition: how components are composed together Interaction: IDL description of interface elements
8、Two stages of CBSE Component development No feedback from customer No waterfall model with iterations Exhibit openness, adaptability, Integrating component into applications Requirements analysis Choose component with required functionalityTake it or leave it . but then go on looking for another imp
9、lementation,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,5,Component-based Software Engineering ii,Imperfect match in functionality and requirements “Fixed” contract No means for component evolution Active Interfaces 12 Adaptation interface. Open policies Static adaptation of component fu
10、nctionality Interface Incompatibilities Granularity of operations and data-types, interaction mechanisms, implementation languages Component wrappers Connectors 14 SWIG, JNI, popen(), system()Considerations Application builder is not going to re-implement the component Want to maintain encapsulation
11、, information hiding,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,6,Items for discussion,Can large-scale, distributed applications be self-healing, self-regulating, self-optimizing?Important issues with respect to automated maintenance of large-scale, software systems Harder to build. Foc
12、us on reusable components Specify maintenance operations during development Considering maintenance as runtime adaptations Gracefully handle unfamiliar, exceptional conditionsProposal: design methodology Separation of concerns: Application code vs. adaptation mechanisms decision logic, implementatio
13、n Introspection: Communicate runtime data to decision logic Intercession: Transport reconfiguration code from decision logic,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,7,Static modeling of possible runtime reconfigurations,Runtime adaptation of software Ever-changing resource availabili
14、ty Dynamic execution environmentSeparation of concerns: application logic vs. adaptationGranularity of adaptation Micro-level: component developer-enabled mechanism, setting switches via Active Interfaces 12, 13, 16 Medium-level: change how components interact with the system, modify the interface 1
15、3, 14 Macro-level: phase in/out (groups of) components as part of the dynamic adaptation 13, 14,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,8,Static modeling of possible runtime reconfigurations ii,Self-contained adaptation within component Automatic generation of adaptation code Compile
16、r and language support for high-level specification of adaptation mechanism 13 Pre-packaged adaptation mechanism 16Automatic integration of new component versions Configuration management 15 Installations, updates, un-installations Tentative use of new versions 14 Transparent testing in deployed env
17、ironment,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,9,Items for discussion,Can large-scale, distributed applications be self-healing, self-regulating, self-optimizing?Important issues with respect to automated maintenance of large-scale, software systems Harder to build. Focus on reusab
18、le components Specify maintenance operations during development Considering maintenance as runtime adaptations Gracefully handle unfamiliar, exceptional conditionsProposal: design methodology Separation of concerns: Application code vs. adaptation mechanisms decision logic, implementation Introspect
19、ion: Communicate runtime data to decision logic Intercession: Transport reconfiguration code from decision logic,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,10,Writing code to implement dynamic adaptations,Hard to dynamically adapt components Lack proper understanding of the internals Ex
20、ecute (un) trusted, unfamiliar code, with no idea how to fix if things failRecognize the need to adaptUtilize the available runtime mechanisms Pre-existing reconfiguration mechanisms Dispatch directives to carry out local micro-adaptationsUse adaptability of middleware to effectively carry out mediu
21、m- and macro-scale adaptations Architectural design-driven adapted, guided by component-interaction specificationsThe inability to reconfigure when required, is a form of failure,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,11,Items for discussion,Can large-scale, distributed applications
22、 be self-healing, self-regulating, self-optimizing?Important issues with respect to automated maintenance of large-scale, software systems Harder to build. Focus on reusable components Specify maintenance operations during development Considering maintenance as runtime adaptations Gracefully handle
23、unfamiliar, exceptional conditionsProposal: design methodology Separation of concerns: Application code vs. adaptation mechanisms decision logic, implementation Introspection: Communicate runtime data to decision logic Intercession: Transport reconfiguration code from decision logic,Autonomic System
24、s . Gaurav S. Kc . September 26th, 2002,12,Self-healing systems,Failure is inevitable: 20 human error: stress level proportional to probability of making a mistake 22 can shield from user error, systems lack protection from administrators errors 22unanticipated problem: beyond careful and thorough t
25、esting directed security attack lack of handling mechanismsoftware aging: transient bugs recovery requires a restart build-up of transient bugs failure-prone state during execution,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,13,Self-healing systems ii,Availability of system Highly resili
26、ent Programmed to handle every expected problem Self-heals: manages to survive unexpected situations Availability ratio: MTTF / (MTTF+MTTR) increase base longevity period (BLP) decrease recovery timeProblem-handling mechanism: reactive, failure-driven: detect occurred failure, follow with restart of
27、 affected subsystems from a stable state preventive/proactive, failure-avoidance: detect increased likelihood of failure, and gradual degradation of performance, avert imminent failure,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,14,Technique: Software Rejuvenation 18, 19,Graceful termina
28、tion, Immediate restart Restart at a clean, internal state Build-up of transient bugs Numerical accumulation errors, unreleased system resources, memory leak, data corruptionLevels of rejuvenation Total rejuvenation Scheduled downtime can be fairly cheap Minimal interruption during low usage periods
29、 Partial rejuvenation Transparently rejuvenate selected subcomponents Decoupling between subcomponents Reduced recovery time only for subsystem restart Recursive rejuvenation 21 Rejuvenate progressively larger subsystems recursively Functional or data dependencies between subcomponents,Autonomic Sys
30、tems . Gaurav S. Kc . September 26th, 2002,15,Program check-pointing Periodically save program state to persistent storage Can rewind to previous states auditing, logs recovery to a valid state install corrective patch, resume 22 The power of hindsight to enable retroactive repair Demonstrates “what
31、 if” semantics Database systems: rollback to consistent state if cannot commit safelyZero-tolerance of system compromise Pre-emptive defense against security attacks Randomized, but valid binary code sequence Sanity checking of control structures Choose immediate shutdown rather than have system get
32、 compromised Immediate restart, with new randomized code,Other self-healing techniques,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,16,Items for discussion,Can large-scale, distributed applications be self-healing, self-regulating, self-optimizing?Important issues with respect to automate
33、d maintenance of large-scale, software systems Harder to build. Focus on reusable components Specify maintenance operations during development Considering maintenance as runtime adaptations Gracefully handle unfamiliar, exceptional conditionsProposal: design methodology Separation of concerns: Appli
34、cation code vs. adaptation mechanisms decision logic, implementation Introspection: Communicate runtime data to decision logic Intercession: Transport reconfiguration code from decision logic,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,17,Dynamic profiling, generation of runtime data,Ada
35、ptation subsystem: Monitoring logic and decision-making Execution of adaptation mechanismAutomated decision and implementation Adaptation for recovery or otherwise, without human interventionRuntime model of the system architecture Decision based on evolving model Runtime data generated by each comp
36、onent Embedded probes: PSL Static-adaptable Active Interfaces 12 Context-dependent data format and content E-mail management system: size, frequency, sender/recipient addresses, types of attachments, encryption strength,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,18,Communication of runt
37、ime data to decision logic,Extended RPC-style communication Client communicates with server at unknown location RPC clients (execution logic) should be unaware of the presence of RPC servers (decision logic) Need to multiplex emitted data Asynchronous callback I cant wait, let me know when youre don
38、e! Basic Message Passing to unknown recipientsEvent notification system Subscribe to published events-of-interest Item of interest Something that happened somewhere, runtime data Generators of items of interest Core system execution, reporting runtime data Consumers of items of interest Monitoring s
39、ubsystem, interested in runtime data,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,19,Event systems,Centralized event systems event-driven GUI programming Event Delegation Model: AWT, SWING, JavaBeans Tightly-coupled client-server model: JINI Indirection, anonymity of servers via mediator
40、object Stable execution environment Well-ordered delivery mechanisms Fast, reliable, predictableDistributed event systems Supercharged mediator between decoupled entities Filtering Aggregating Store-and-forward, Store-and-retrieve Mutual anonymity Unreliable execution environment Delayed delivery Da
41、ta loss,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,20,Channel-based routing: Single channel per event type 9 birds of a feather flock together faster turnaround time; simple, efficient delivery not scalable to large classes of eventsSubject-based routing: NNTP: events on a common theme
42、/ interest Mailing lists, CVS notificationsContent-based (semantic) routing: Interested in a subset of a class of events selective delivery via specifying acceptability criteria Event-data determines propagation Data replication only if necessary 10, 11 Event composition 8,Distributed event systems,
43、Autonomic Systems . Gaurav S. Kc . September 26th, 2002,21,Centralized routing node Approximation of localized event systemHierarchical collection of nodes Subscriptions only go up, notifications cascade down Disadvantages Overloading of higher-level routing nodes Network partitioning via single nod
44、e failure Advantages Simple routing algorithms Simple client-server relationships amongst routing nodes(A)cyclic peer-to-peer network Sophisticated routing algorithms Improved fault-tolerance,Content-based event routing topologies,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,22,Items for
45、discussion,Can large-scale, distributed applications be self-healing, self-regulating, self-optimizing?Important issues with respect to automated maintenance of large-scale, software systems Harder to build. Focus on reusable components Specify maintenance operations during development Considering m
46、aintenance as runtime adaptations Gracefully handle unfamiliar, exceptional conditionsProposal: design methodology Separation of concerns: Application code vs. adaptation mechanisms decision logic, implementation Introspection: Communicate runtime data to decision logic Intercession: Transport recon
47、figuration code from decision logic,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,23,Activation of reconfiguration code,Re-use events the source (client/decision logic) determines who gets reconfigured, so cannot have the server (execution logic) subscribe to these event systems not design
48、ed to carry large amount of binary code, if needed for component installation, etcMobile agents 5 autonomous program that executes on someones behalfdecision logic instructs agents to carry out runtime reconfiguration tasks Late-binding of reconfiguration mechanism at target Asynchronous primary adv
49、antage of agents: reconfiguration might consist of significant amount of computing, ideally performed locally at execution logic rather than a long series of RPC invocations,Autonomic Systems . Gaurav S. Kc . September 26th, 2002,24,Mobile code infrastructures,Constituents Server: hosting, execution, transportation Place 6 Agent Server 1, 3, 7 Worklet Virtual Machine: PSL AgentsIncorporate dynamic interfaces Agent installs specific-purpose interfaces to components for customized access “Wrapper while you wait”, but can configure as needed,
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1