Title: A concise introduction to autonomic computing Roy Sterritt, Manish Parashar, Mhuaglory Tianfield, Ra
1A concise introduction to autonomic
computingRoy Sterritt, Manish Parashar,
Mhuaglory Tianfield, Rainer UnlandJournal of
Advanced Engineering Informatics, Engineering
Applications of Artificial Intelligence, Special
Issue on Autonomic Computing and Automation,
Elsevier Publishers, vol. 19, July 2005, pp.
181-187
Date September 19th 2007 Joon-Myung
Kang eliot_at_postech.ac.kr DPNM Lab., Dept. of
CSE, POSTECH
2Presentation Outline
- Introduction
- Concepts
- Autonomic Computing
- Examples of autonomic systems and applications
- Conclusion
3Introduction
- Autonomic Computing
- Alternative approaches based on strategies used
by biological systems - Deal with complexity, dynamism, heterogeneity and
uncertainty - significant new strategic and holistic approach
to the design of complex distributed computer
systems - Autonomic System
- Self-managing autonomous and ubiquitous computing
environment that completely hides its complexity - Provides the user with an interface that exactly
meets her/his needs - Self-management (self- properties)
- Self-governing, self-adaptation,
self-organization, self-optimization,
self-configuration, self-diagnosis of faults,
self-protection, self-healing, self-recovery, and
autonomy
4Concepts
- Autonomic Nervous System
- The part of the nervous system that controls the
vegetative functions of the body - Biological self-management is influencing a new
paradigm for computing that aims to create
similar self-management within the systems
5Concepts
- Autonomic computing systems
- In 2001, IBM introduced the autonomic computing
initiative with the aim of developing
self-managing systems - Evolution to cope with the rapidly growing
complexity of integrating, managing, and
operating computing system - Distinction between autonomic activity in the
human body and autonomic responses in computer
systems - Many of the decisions made by autonomic elements
in the body are involuntary - Autonomic elements in computer systems make
decisions based on tasks which are chosen to be
delegated to the technology
6Concepts
- Autonomic Computing
- Four general properties for self-management
- Self-configuring
- Self-healing
- Self-optimising
- Self-protecting
- Four enabling properties or attributes
- Self-awareness
- Environment-awareness
- Self-monitoring
- Self-adjusting
- Self-
- Self-anticipating, self-adapting, self-critical,
self-defining, self-destructing, self-diagnosis,
self-governing, self-organized, self-recovery,
self-reflecting, and self-simulation,
self-stabilizing
7Concepts
- Autonomic Computing
- To meet this autonomic selfware vision, systems
should be designed with components that are
allocated an autonomic manager - sensors (self-monitor), effectors (self-adjuster)
- The vision behind the initiative has as its
overarching goal system-wide policy-based
self-management, where a human manager will state
a business critical success factor
8Autonomic Computing
- Innovative self-managing components and
interaction - The Autonomic Environment requires that autonomic
elements and in particular autonomic managers
communicate with one another concerning self-
activities - PBM (pulse monitor)
- An extension of the embedded systems heart-beat
monitor - The capability to encode health and urgency
signals as a pulse
9Autonomic Computing
- AI and autonomic components
- Soft computing techniques
- Neural networks, fuzzy logic, probabilistic
reasoning incorporating Bayesian networks and so
on - Machine learning techniques, cybernetics,
optimization techniques, fault diagnosis
techniques, feedback control, and planning
techniques - Clockwork
- A method for providing predictive
self-management, regulates behaviour in
anticipation of need using statistical modelling,
probabilistic reasoning, tracking and forecasting
methods - Self-configuration element
- Probabilistic technique
- Bayesian networks
- Autonomic algorithm selection
- Self-training and self-optimization to find the
best algorithm
10Autonomic Computing
- AI and autonomic components
- Root cause analysis
- Correlation, rule discover and root cause
analysis activity - Large-scale server management and control
- Time-series methods, rule-based classification
and Bayesian network algorithms for a
self-management and control system - Calculation of costs in an autonomic system and
the self-healing equation - Naïve Bayes for cost-sensitive classification and
a feedback approach based on a Markov decision
process for failure remediation - Machine design
- Reaction
- The lowest level where no learning occurs and
only involves immediate response to state
information coming from sensory systems - Routine
- Middleware leel where largely routine evaluation
and planning behavirours take place - Reflection
- Top level, which receives input from below
- Meta process, where the mind deliberates about
itself
11Autonomic Computing
- Autonomic Architecture
- IBM view
- Represents the closed control loop within the
autonomic element as consisting of four stages - MAPE-monitor, analyze, plan and execute
- MAPE components use correlations, rules, beliefs,
expectation, histories and other information
known to the autonomic element, or available to
it through the knowledge repository within the AM
12Autonomic Computing
- Autonomic interaction and policy based
self-management - Support inter-element interactions, such as
service-level agreements, negotiation protocols
and algorithms, and conversation support - Policy based management becomes particularly
important with the future vision of Autonomic
Computing, to facilitate high level specification
of the goals and aims for the system to achieve - Computer-human interaction and Autonomic Systems
- User studies, interfaces for monitoring and
controlling behaviour, and techniques for
defining, distributing, and understanding
policies
13Autonomic Computing
- Systems and software engineering for Autonomic
Systems - How to program autonomic systems
- How to design for self-management
- How to gather requirements specifically for an
autonomic environment - AutoMate
- Autonomic component framework utilizes DIOS to
provide mechanisms to directly enhance
traditional computational objects/components with
sensors, actuators, rules, a control network,
management of distributed sensors and actuators,
interrogation, monitoring and manipulation of
components at runtime through a distributed
rule-engine DIOS Distributed Object
Infrastructure for Interaction and Steering
14Autonomic Computing
- Eight defining characteristics P. Horn.
Autonomic Computing IBMs perspective on the
State of Information Technology.
http//www.research.ibm.com/autonomic/, Oct 2001.
IBM Corp. - Self Awareness An autonomic application/system
knows itself and is aware of its state and its
behaviors - Self Configuring An autonomic application/system
should be able ocnfigure and reconfigure itself
under varying and unpredictable conditions - Self Optimizing An autonomic application/system
should be able to detect suboptimal behaviors and
optimize itself to improve its execution - Self-Healing An autonomic application/system
should be able to detect and recover from
potential problems and continue to function
smoothly
15Autonomic Computing
- Eight defining characteristics P. Horn.
Autonomic Computing IBMs perspective on the
State of Information Technology.
http//www.research.ibm.com/autonomic/, Oct 2001.
IBM Corp. - Self Protecting An autonomic application/system
should be capable of detecting and protecting its
resources from both internal and external attack
and maintaining overall system security and
integrity - Context Aware An autonomic application/system
should be aware of its execution environment and
be able to react to changes in the environment - Open An autonomic application/system must
function in an heterogeneous world and should be
portable across multiple hardware and software
architectures. Consequently it must be built on
standard and open protocols and interfaces - Anticipatory An autonomic application/system
should be able to anticipate to the extent
possible, its needs and behaviors and those of
its context, and be able to manage itself
proactively
16Examples
17Examples
- Systems supporting development of autonomic
applications and systems
18Conclusion
- Summary
- Introduced the autonomic computing paradigm,
which is inspired by biological systems such as
the autonomic human nervous system - Autonomic Computing enables the development of
self-managing computing systems and applications - The systems/applications use autonomic strategies
and algorithms to handle complexity and
uncertainties with minimum human intervention - Autonomic application/system is a collection of
autonomic elements, which implement intelligent
control loops to monitor, analyze, plan and
execute using knowledge of the environment - Achieving overall autonomic behaviors remains an
open and significant challenge, which will be
accomplished through a combination of process
changes, skills evolution, new technologies and
architecture, and open industry standards