44
Autonomic Computing Presented By: Renuka Kandimalla(2596547) Chaitanya Gotike(2594580) Nafia Hassan Halder(2604568)

Autonomic Computing

  • Upload
    xenon

  • View
    105

  • Download
    2

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

An Example Implementation

Autonomic Computing Presented By:Renuka Kandimalla(2596547)Chaitanya Gotike(2594580)Nafia Hassan Halder(2604568)

ContentsIntroduction Why Need Autonomic Computing?Characteristics Of Autonomic ComputingBasic Elements Of Autonomic ComputingArchitectureCurrent Computing Vs Autonomic ComputingBenefitsWhat happen if does not have Autonomic Computing in future?Research Issues and ChallengesFuture directions of Autonomic ComputingConclusionIntroductionThe 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 HornSenior Vice PresidentIBM 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 systems 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 ComputingIBM introduce eight basic characteristics of autonomic system that must posess,these are:

1.To be autonomic, a computing system needs to know itselfNeed 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 Computing2.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 goalAlso autonomic system should have ability to manage its resources(i.e., get more results by using less resources)

Characteristics of Autonomic Computing4. 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 Computing5.Must be expert in Self-ProtectionAutonomic 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 Computing6.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 environmentAn autonomic system must function in a heterogeneous world and implement open standards. 13Characteristics of Autonomic Computing8.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 ComputingThe autonomic computing has four major elements:Self-configuringSelf-optimizingSelf-healingSelf-protecting

Self-configuringAn autonomic computing system configures itself according to high-level 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-optimizingAn 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 interventionIf a database index fails then the files are automatically re-indexed, tested and loaded back into production.

21Self-protectingAn 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 Manager1.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 elementAutonomic 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 ComputingConceptCurrent computing systemsAutonomic sytemsSelf-configurationInstalling, configuring, and integrating systems is time consuming and error prone.Systems get configured automatically using high level policiesSelf-optimizationSystems 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-healingTakes more time for programmers to determine the problems in large computing systems.These are automatically detects, diagnoses, and repairs localized software and hardware problems.Self-protectionDetection 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.29Benefits of Autonomic ComputingSimplified 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 requestCycle 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 ChallengesThe 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 ChallengesArchitecture ChallengesMiddleware ChallengesApplication ChallengesResearch 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

DiscoveryMessagingSecurity

PrivacyTrust

36Research Issues and Challenges(Cont..)Application Challenges:The key challenges at the application level areFormulation and development of the systemsApplications that are capable of managing themselves.Programming models, frameworks and middleware services that support autonomic elements. Future Direction of Autonomic ComputingPeople 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 functionalDevelop 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.

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