Autonomic computing presentation

advertisement
Autonomic Computing
Presented By:
Renuka Kandimalla(2596547)
Chaitanya Gotike(2594580)
Nafia Hassan Halder(2604568)
Contents
 Introduction
 Why Need Autonomic Computing?
 Characteristics Of Autonomic Computing
 Basic Elements Of Autonomic Computing
 Architecture
 Current Computing Vs Autonomic Computing
 Benefits
 What happen if does not have Autonomic Computing in
future?
 Research Issues and Challenges
 Future directions of Autonomic Computing
 Conclusion
Introduction
•
The word “autonomic ” is comes from autonomous
which means self-governed or act independently.
•
It is inspired by the functioning of human autonomic
nervous systems, which adjusts to many situations
automatically without any intervention from human.



•
It tells our heart how fast to beat,
Checks sugar and oxygen levels in blood.
It monitors our body temperature, depending on external
temperature , if it is hot outside we perspire, if it is cold we shiver.We
do not tell ourselves to do these things,they just happen.
As the name suggests autonomic systems are self
governed and self-regulated systems , which are
capable of making decisions on its own using high level
policies.
Paul Horn
Senior Vice President
IBM Autonomic Computing
http://www.ibm.com/autonomic/
Introduction(cont..)
 Similarly , the autonomic computing systems
would control the functioning of computer
applications and system without intervention of
user.
 Configuring
the software automatically when it is installed in the
system.
 If any application error is occured, system automatically recover
itself after crash.
 Aim of autonomic computing is to create systems that run
themselves , capable of high level functioning, while
keeping the system’s complexity invisible to the user.
Why need Autonomic Computing?
 In this rapid growing complex world,the odds to a
complex computing system are high.
 Follow the evolution of computers from single machines to
superscalar systems an unmistakable pattern emerges.
Compare with the previous machines ,an incredible progress in
almost every aspect of computing, for example micro processor
power,storage capacity,communication speed drastically
increased.Though it results sophisticated architectures but
which demands million lines of code,some operating
environments weigh in at 30 million lines of code developed by
thousands ofprogrammers.
 Infact,growing complexity of IT infrastructure
threatens the information technology which aims to
provide best outcomes.
Why need Autonomic Computing?(cont..)
 Until now the computer systems relied mainly on human
intervention and administration to manage this
complexity.
• When we think about current rates of complexity
expansion , there will not be enough skilled IT people to
run these complex computing system .
• Even if the people come up with enough skills , complexity
is growing beyond the human ability to manage it.
 As computing evolves,overlapping connections,dependencies and
interacting applications call for administrative decision making and
responses faster than any human can deliver.
Why need Autonomic Computing?(cont..)
 Identifying root causes of failures become more difficult,
while finding the ways of improving system efficiency.
Without new approaches things get worse.
 To solve this a new concept called Autonomic Computing
was evolved.
 These systems posses autonomic behavior which enables the
software to operate intelligently and dynamically,biasing decisions
on IT policies and service requirements.
Characteristics of Autonomic Computing
IBM introduce eight basic characteristics of autonomic
system that must posess,these are:
1.To be autonomic, a computing system needs
to “know itself”


Need detailed knowledge of its components , current status ,
ultimate capacity and connections with other systems to
govern itself.
It will need to know the extent of its “ownership” of
resources , they can borrow or lend.
Characteristics of Autonomic Computing
2.Self-configure and reconfigure 
System configuration must occur automatically by
making dynamic adjustment to that configuration to
handle changing environments optimally.
3.Optimise Operations –



Autonomic computing systems should have capability
of optimizing its tasks.
Optimizing means system should prioritize the tasks
and also it should use optimum path to complete the
goal
Also autonomic system should have ability to manage
its resources(i.e., get more results by using less
resources)
Characteristics of Autonomic Computing
4. Able
to recover - Autonomic systems must be able to
recover from extraordinary events that might cause some
of its parts to malfunction.
System must be able to discover problems, then find an
alternative way of utilizing resources or reconfiguring the
system to keep functioning smoothly.
 Initially “healing” responses taken by autonomic system
will follow rules generated by human experts.
 Later, more intelligence embedded in computing systems,
they will begin to discover new rules on their own which
helps to use system redundancy or additional resources to
recover and achieve primary objective , completing task.

Characteristics of Autonomic Computing
5.Must be expert in Self-Protection

Autonomic system must detect,identify and
protect itself against various types of attacks to
maintain entire system security and
integration.


Like human immune system,it should have “digital
immune system” that can detect suspicious code then
automatically send it to a central analysis system finally
distribute a cure to the computer system.
To deal with the malicious attacks by hackers,
intrusion system must automatically detect
and alert system administrators to the attacks.
Characteristics of Autonomic Computing
6.Be aware of its environment and adopt:


An autonomic system must know its environment
and the context surrounding activity then acts
accordingly.
System will find and generate rules for how best to
interact with neighboring systems,it will tap
available resources,even stops the use by other
system underutilized elements,changing both itself
and its environment in the process.
7.Functioning with a heterogeneous world


Autonomic system must not exist in a hermetic
environment
An autonomic system must function in a
heterogeneous world and implement open
standards.
Characteristics of Autonomic Computing
8.Hide Complexity
 Autonomic computing
system will anticipate
the optimized resources that are needed by
keeping its complexity hidden.
 This is the ultimate goal of autonomic
computing:
Hide the marshalling of IT resources to reduce the gap
between the business/personal goals of customers and
the IT implementation necessary to achieve those
goals,without involving the user intha implementation.
Elements of Autonomic Computing
The autonomic computing has four major elements:
 Self-configuring
 Self-optimizing
 Self-healing
 Self-protecting
Self-configuring
 An autonomic computing system
configures itself according to highlevel goals
i.e.,by specifying what is desired, not
necessarily how to accomplish it.
 Main idea:

Software and hardware must have an
ability to define themselves at any given
movements.
Example :
 The autonomous computing system must be able to
install and set up software automatically.
Self-configuring(cont..)
 An autonomous system will update new signatures for
security levels and virus protection when working with
the other autonomous components.

For determining optimum configurations self configuration will use
adaptive algorithms.
Examples:
 Automatic installation of new software releases.
 Installation, testing and release of regular vendor
service packs.
Self-optimizing
 An autonomous system will be
constantly monitoring predefined
system goals to assure that all
systems are running at optimum
levels.

Self optimization will be the key to
allocating e-utility type resources.
Self-optimizing(cont..)
Many new and innovative techniques are needed for
optimization to be successful for ex. Control theory.
Examples:
 Calling for additional processing power from the e-utility
when needed. releasing those additional cycles.
 Interfacing with other automatic modules to exchange data
and files.
 Working with outside vendor software.
Self-healing
 An autonomic system is able to
automatically detect errors at runtime and
recover from failures without any human
interference.

Self-healing systems will be able to take
immediate action to resolve the issue, even if
the further analysis is needed
 Fault-tolerance is an important aspect of
self-healing.
Self-healing(cont..)
 Typically, an autonomic system is said to be reactive to
failures or early signs of a possible failure.
Examples:
 Self-correcting job control language(JCL):when a job fails,
the error or problems are identified and jobs rerun without
human intervention
 If a database index fails then the files are automatically reindexed, tested and loaded back into production.
Self-protecting
• An autonomic system protects itself from
malicious attacks but also from end users
who inadvertently make software changes.
e.g. by deleting an important file.
 Autonomic system solutions must address all aspects
of systems at the platform, operating system,
network and internet which involves secure
implementation etc.
Self-protecting(cont..)
The system autonomously tunes itself to achieve
security, privacy and data protection.
•
Thus, security is an important aspect of self-protection, not
just in software, but also in hardware.
Examples:
 Confirm the ability of backup and recovery resources that
may be needed.
 Verification of network configurations inventories whether
correct or not , if not take appropriate action.
 Implement tiered security levels.
 Resolve open security concerns.
Autonomic computing Architecture
 In an autonomic environment, components work
together , communicating with each other and with
high –level management tools.
Autonomic Computing Architecture (cont..)
• The basic management element is a control loop which acts
as manager of the resource and these can communicate
and eventually will negotiate with each other.

Control loop collects the information from the system and then
makes decisions based on that data and then issues
instructions.
A control loop can provide functionality of autonomic
computing such as:
 Installing software and upgrades.
 Requesting additional processing cycles when needed.
Autonomic Computing Architecture (cont..)
 Restarting a system after a failure.
 Initiating backups after daily processing.
 Shutting down systems after detection of an intrusion.
Control loop is divided into two basic elements:
1. Managed Resource
2. Autonomic Manager
1.Managed Resource:
The managed resource is controlled through its sensors
and effectors.

The sensors provide mechanism to collect information about the
state and state transitions of an element
Autonomic Computing Architecture (cont..)
 The effectors are mechanisms that change the state of an
element.
2.Autonomic manager:
The autonomic manager is a component that implements
the control loop.
 The monitor part provides the mechanisms that collect,
aggregate, filter and report details which are collected
from an element.
 The analyze part provides the mechanisms that correlate
and model complex situations.
 The plan provides the mechanisms that structure the
action needed to achieve goals and objectives.
Autonomic Computing Architecture (cont..)
 The execute part provides the mechanisms that control the
execution of plan and it will establish whether the commands
completed their required actions.
The architecture needs to work with the various
computing technologies and standards that exist in
the todays industry, such as Java Management
Extensions(JME),common information model(CIM)
as well as with new technologies that emerge in the
future.
Current Computing Vs Autonomic Computing
Concept
Current computing systems
Autonomic sytems
Selfconfiguration
Installing, configuring, and integrating Systems get configured
systems is time consuming and error
automatically using high level
prone.
policies
Selfoptimization
Systems have hundreds of manually
set, nonlinear tuning parameters, and
their number increases with each
release.
Systems and components
continually seeking opportunities to
improve their own performance&
efficiency.
Self-healing
Takes more time for programmers to
determine the problems in large
computing systems.
These are automatically detects,
diagnoses, and repairs localized
software and hardware problems.
Selfprotection
Detection and recovery from attacks,
cascading failure is manual.
Automatically protects against
malicious attacks or cascading
failures. It uses early warnings to
prevent system wide failures.
Benefits of Autonomic Computing
 Simplified user experience through a more responsive, real




time system.
Reduced deployment and maintenance cost.
Provides server consolidation to maximize system ability,
and minimizes cost and human effort to manage large sever
farms.
Full use of idle processing power, including home PC's,
through networked system.
High product complexity from the end user.
Makes products more reliable.
What happen if does not have Autonomic
Computing in Future?
 Complexity increases gradually, reaching
unmanageable proportions.
 Further pressure will increase on IT staff to fix
unfixable problems.
 Reliability and performance of systems will
deteriorate so that business will suffer.
 Corporations will be required to increase their IT
budgets, substantially lose their profits.
If does not have Autonomic Computing in the
future?(Cont…)
 Senior management will reject these astronomical
budget request—Cycle of problems will continue.
 More and more skilled IT staff will be needed at
substantial costs.
 The health of many IT staff will suffer.
Research Issues and Challenges
 The research issues and challenges of autonomic
computing span all levels, from the conceptual level to
architecture, middleware, and application.
Key research issues and challenges are:
 Conceptual Challenges
 Architecture Challenges
 Middleware Challenges
 Application Challenges
Research Issues and Challenges (Cont…)
Conceptual Challenges:



Defining appropriate models for specifying,
understanding, controlling, and implementing autonomic
behavior.
Adapting classical models theories for machine learning,
optimization, and control.
Designing statistical models of large networked system to
share overall awareness.
Research Issues and Challenges (Cont…)
Architecture Challenges:
 System and software architectures, in which
local as well as global autonomic behavior can
be specified, implemented and monitored or
controlled in a predictable manner remains a
key challenge for the researchers.
Research Issues and Challenges(Cont..)
Middleware Challenges:
 The primary middleware level research challenge is
providing the core services required to understand
autonomic behavior in a reliable and scalable manner,
in spite of uncertainty of the system and application.
 These includes
• Discovery
• Messaging
• Security
• Privacy
• Trust
Research Issues and Challenges(Cont..)
Application Challenges:
 The key challenges at the application level are—
 Formulation and development of the systems
 Applications that are capable of managing themselves.

Programming models, frameworks and middleware services
that support autonomic elements.
Future Direction of Autonomic Computing
 People will need to make progress along two tracks:
 First, Making individual system components autonomic
and achieving autonomic behavior at the level of global
enterprise IT system.


Fully autonomic system is very difficult to build.
Needs new technologies and innovation.
Future Direction of Autonomic
Computing(Cont..)
 Second, How to create overall or global awareness and
management?
 Unless each component in the system can share
information with each part and contribute some overall
system awareness, the goal of autonomic computing
cannot be achieved.
Future Direction of Autonomic
Computing(Cont..)
 How to create the proper “adaptive algorithms”–
sets of rules that can take previous system
experience and use that information to improve
the rules.
 We can retain only significant information.
 How to design an architecture for autonomic
systems ?
 To provide consistent interfaces and points of control
while allowing the autonomic systems work on different
modules or environments.
List of recommendations to make Autonomic
Computing more functional
 Develop autonomic tools and technologies on top
of existing standards.
 Develop autonomic-based systems using
multivendor approaches.
 SWOT analysis to assess the relative strengths,
weakness, opportunities, and threats.
 Develop libraries of interaction protocols designed
for specific autonomic behavior interactions.
List of recommendations to make Autonomic
Computing more functional (Cont..)
 Develop sophisticated and easy-to-use autonomic
environments.
 To include support for design, test, maintenance, and visualization
of autonomic-oriented systems.
 Develop tools for effective sharing and negotiation
strategies.
 Develop autonomic-based eScience systems for the
scientific community.
 Develop techniques for users.
 Specify preferences and desire outcomes in a complex environment.
List of recommendations to make Autonomic
Computing more functional (Cont..)
 Develop techniques to enable system to identify,
create, and dissolve coalition while working on
different modules.
 Develop more research works.
 To ensure the security and verifiability of autonomic
system.
 Develop a catalog of early adopter case studies.
 Both successful and unsuccessful.
Conclusion
 Achieving overall autonomic behavior remains an
open and significant challenge, which will be
accomplished through:
 a combination of process changes,
 skills evolution,
 new technologies and architecture,
 open industry standards.
Download