Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Concise Introduction to Autonomic Computing

Similar presentations


Presentation on theme: "A Concise Introduction to Autonomic Computing"— Presentation transcript:

1 A Concise Introduction to Autonomic Computing
Roy Sterritt, University of Ulster at Jordanstown, Northern Ireland, UK Manish Parashar, Rutgers University, New Jersey, USA Huaglory Tianfield, Glasgow Caledonian University, Glasgow, UK Rainer Unland, University of Duisburg-Essen, Essen, Germany Presented by: Joseph Cilli Agnostic: Michael Robinson

2 Topics 1.0 Introduction 2.0 Concepts 3.0 Autonomic Computing
4.0 Examples of Autonomic Systems & Applications

3 1.0 Introduction Technological advances = High growth
High growth = More complex systems System & application complexity growth Brittle, unmanageable, insecure As computing, communications and software technologies advanced, this obviously led to high growth in reliance of systems & applications; However, the scale & complexity has grown as well. The growth in system/application development, configuration, & management have begun to overwhelm existing tools & methodologies which is rapidly making systems/apps brittle, unmanageable, & insecure. From this, the idea of Autonomic Computing emerged.

4 1.0 Introduction Strategies based on biological systems
Inspired by human nervous system Defined as: A self-managing, autonomous and ubiquitous computing environment that completely hides its complexity, thus providing the user with an interface that exactly meets her/his needs. Researchers are considering alternative approaches based on strategies used by biological systems that successfully deal with similar challenges (complexity, dynamism, heterogeneity and uncertainty) The new strategies are inspired by the function of the human nervous system (involuntary responses) The authors define an autonomic system as…

5 1.0 Introduction Self-governing Self-adaptation
Self-organization Self-optimization Self-configuration Self-diagnosis of fault Self-protection Self-healing Self-recovery Autonomy Make decisions on its own, using high-level guidance from humans Constantly checking & optimizing its status & automatically adapt itself to new conditions Self-Management achieved through: How does that work? The system will always decide on its own, using high-level guidance from humans, what needs to be done to keep it stable It will constantly check and optimize its status, and automatically adapt itself to changing conditions How is Self-Management achieved? Self-management is achieved through key aspects such as… Meeting these challenges requires advances in technology; mainly in new architectures that support effective integration.

6 2.0 Concepts 2.1 Autonomic Nervous System
2.2 Autonomic Computing Systems

7 2.1 Autonomic Nervous System
Controls the vegetative functions of the body (involuntary) Circulation of blood Intestinal activity & secretion Production of chemical ‘messengers’ The human body’s Autonomic Nervous System (ANS) is the part of the nervous system that controls the vegetative functions of the body such as circulation of the blood, intestinal activity and secretion, and the production of chemical ‘messengers’, i.e. hormones, that circulate in the blood

8 2.1 Autonomic Nervous System
Sympathetic Fast heart rate Fear Parasympathetic Slow heart rate Calm The system is subdivided into the sympathetic (SyNS) and parasympathetic (PaNS) nervous systems. These systems tend to have an inverse relationship. For example, parasympathetic slows the heart rate, whereas the sympathetic speeds it up Sympathetic reacts to fear; whereas parasympathetic reacts to calm. This biological self-management is influencing a new model for computing that aims to create similar self-management within systems Biological Self-Management Systems Self-Management

9 2.2 Autonomic Computing Systems
IBM introduced ACI Growth in computer industry Highly efficient network hardware Powerful CPU’s AC advancement Integrating Managing Operating In 2001, IBM introduced the Autonomic Computing initiative, with the aim of developing self-managing systems With the growth of the computer industry, (highly efficient networking hardware, powerful CPUs) autonomic computing is an evolution to cope with the rapidly growing complexity of integrating, managing, and operating computing system. Computing systems should be effective, they should serve a useful purpose when they are first launched and continue to be useful as conditions change. The realization of autonomic computing will result in a significant improvement in system management efficiency.

10 2.2 Autonomic Computing Systems
GOALS Manage complexity Technology managing technology Reduce cost of ownership Automation reduces human involvement/error Enhance other software qualities Reflective, self aware components can continually seek to optimize themselves The goals are pretty self evident. The primary being to manage complexity Source: An architectural blueprint for autonomic computing. Third Edition, June 2005. Available at URL:

11 2.2 Autonomic Computing Systems
Autonomic elements of human body Involuntary Autonomic elements of computer systems Decisions based on tasks There is an important 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, whereas autonomic elements in computer systems make decisions based on tasks which are chosen to be delegated to the technology Upon launching the initiative, IBM defined four general properties a system should have to constitute self-management: self-configuring, self-healing, self-optimizing and self-protecting. These are accompanied by four enabling properties or attributes, namely self-awareness, environment-awareness, self-monitoring and self-adjusting

12 2.2 Autonomic Computing Systems
Self-Management Self-configuring Adapt automatically to the dynamically changing environment Self-healing Discover, diagnose and react to disruptions Self-optimizing Monitor and tune resources automatically Self-protecting Anticipate, detect, identify, and protect against attacks from anywhere Attributes Self-Awareness Environment-Awareness Self-Monitoring Self-Adjusting Self-Anticipating Self-Adapting Self-Critical Self-Defining Self-Destructing Self-Diagnosis Self-Governing Self-Organized Self-Recovery Self-Reflecting Self-Simulation Upon launching the initiative, IBM defined four general properties a system should have to constitute self-management: self-configuring, self-healing, self-optimizing and self-protecting. These are accompanied by four enabling properties or attributes, namely self-awareness, environment-awareness, self-monitoring and self-adjusting Since 2001, the self list of properties has grown substantially. It now also includes features such as self-anticipating, self-adapting, self-critical, self-defining, self-destructing, self-diagnosis, self-governing, self-organized, self-recovery, self-reflecting, and self-simulation

13 2.2 Autonomic Computing Systems
Server2 Server1 File System DB Service To meet this autonomic self vision, systems should be designed with components that are allocated in an autonomic manager. This figure is an Autonomic Element. It consists of a Managed Component & a Autonomic Manager. Control loops with Sensors (self-monitor) & Effectors (self-adjuster) together with system knowledge & planning/adapting policies allow the autonomic element to be self-aware and to self-manage. This is Shown as the local (L) control loop Similarly, a global (G) control loop facilitates environment awareness, allowing self-management if necessary, but without the immediate control to change the environment. This is effected through communication with other autonomic managers that have the relevant influence through reflex or event messages. The vision behind the initiative was to provide a system-wide policy-based self-management system, where a human manager will state a business critical success factor and the Information and Communications Technologies (ICT) systems will take care of realizing it, self-configuring and self-optimizing to meet the policies, and self-protecting and self-healing to ensure the policies are maintained in in spite of changing environments. The authors reason that due to our human ANS we are free from the low-level complexity of managing our bodies, to perform high-level complex tasks. Similarly, for computing to develop further & provide equivalent high-level system-wide tasks, a corresponding low-level architecture is necessary. This is an example of how Autonomic Elements interact via control/optimization loops. Storage Service

14 3.0 Autonomic Computing 3.1 Innovative Self-Managing Components & Interaction 3.2 AI & Autonomic Components 3.3 Autonomic Architectures 3.4 Autonomic Interaction & Policy Based Self-Management 3.5 Computer-Human Interaction & Autonomic Systems 3.6 Science of Autonomicity 3.7 Systems & Software Engineering for Autonomic Systems

15 3.1 Innovative Self-Managing Components & Interaction
Autonomic Managers communication Pulse Monitor The Autonomic Environment requires that autonomic elements and specifically autonomic managers communicate with one another concerning self activities. An additional component within the autonomic element is the pulse monitor, which is an extension of the embedded systems heart-beat monitor that safe guards vital processes by emitting a regular ‘I am alive’ signal to other processes. The PBM has the capability to encode health and urgency signals as a pulse, for example an ‘I am healthy’ signal. Together with event messages and mobile agents on the autonomic communications channel, this provides dynamics within autonomic responses & multiple loops of control, such as reflex reactions among the autonomic managers.

16 3.2 AI & Autonomic Components
Soft computing techniques Neural networks Fuzzy logic Probabilistic reasoning incorporating Bayesian networks Machine learning techniques Cybernetics Optimization techniques Fault diagnosis techniques Feedback control Planning techniques The research of AI and autonomic systems is as wide as the AI research field itself. Areas of interest include: Soft computing techniques Machine learning techniques Cybernetics Optimization techniques Fault diagnosis techniques Feedback control Planning techniques Clockwork is an example of a method for providing predictive self-management, regulated behavior in anticipation of need using statistical modeling, probabilistic reasoning, tracking & forecasting methods.

17 3.2 AI & Autonomic Components
Autonomic algorithm selection Clockwork Cost calculations AI 3 level design Reaction Routine Reflection Positive Negative Arousal The use of probabilistic techniques, such as Bayesian networks, are also central to research in autonomic self-management algorithm selection. Systems use the BN approach along with self-training and self-optimization to find the best algorithm Another current aspect is the calculation of costs in an autonomic system and the self-healing equation. The autonomic system involves decisions & decisions involve costs. This naturally leads to work with agents, incentives, costs & competition for resource allocation. Basically the scope of the autonomic vision is highlighted by such work that uses AI techniques (machine learning, statistical reasoning & clustering analysis) for controlling the detection of the need for re-optimization of enterprise business objectives. AI researchers propose 3 levels for the design of systems: reaction, routine & reflection. Reaction is the lowest level where no learning occurs and only involves immediate response to state information coming from sensory systems. Routine is the middle level where largely routine evaluation & planning behaviors take place. It receives input from sensors as well as from the reaction & reflection level. Assessment at this level results in three dimensions of affect and emotion values: positive affect, negative affect arousal. Reflection is the top level, which receives no sensory input or has no motor output; it only receives input from below. Reflection is a meta-process, where the mind deliberates about itself. Essentially operations at this level look at the systems representations of its experiences, its current behavior and/or current environment. The reaction level sits within the engineering domain, monitoring current state of both the machine & its environment & rapidly reacting to changing circumstances. The reflection level may reside within the AI domain, utilizing its techniques to consider the behavior of the system and learn new strategies. The routine level may be a cooperative mixture of both. Why do we care? This approach may be considered as a generic design for an autonomic architecture.

18 3.3 Autonomic Architectures
Individual Components Complete autonomic systems Open Grid Web Services Intelligent Robotics Four Stages Monitor Analyze Plan Execute Research in Autonomic Architectures consists of general architectures for individual components or complete autonomic computing systems, based on the integration of advanced technologies like Open Grid Computing, Web Services, (Multi-) Agent technologies, and/or intelligent/autonomous robotics. The figure shown earlier highlights the general autonomic element architecture. That figure is similar to IBM’s view, representing the closed control loop within the autonomic element as consisting of four stages: monitor, analyze, plan & execute The monitor & analyze parts of the structure process information from sensors to provide both self-awareness & an awareness of the external environment. The plan & execute parts decide on the necessary self-management behavior that will be executed through the effectors. These components use correlations, rules, beliefs, expectations, histories & other information known to the autonomic element, or available to it through the knowledge repository within the autonomic manager. Self-Awareness & External Environment Self-Management Behavior to Execute

19 3.4 Autonomic Interaction & Policy Based Self-Management
Inter-Element interactions Service-level agreements Negotiations Communications Policy based management Reduced complexity of products Reduced complexity of system management Uniform cross-product policy definition & management infrastructure Autonomic Interaction & Policy Based Self-Management are technologies that support inter-element interactions, such as service-level agreements, negotiation protocols & algorithms, & conversation support. Policy based management becomes particularly important with the future vision of Autonomic Computing, to facilitate high level specification of the goals & aims for the system to achieve. A policy-based management tool may reduce the complexity of product and system management by providing a uniform cross-product policy definition & management infrastructure.

20 3.5 Computer-Human Interaction & Autonomic Systems
User studies Interfaces (monitor & control behavior) Techniques (defining, distributing, & understanding policies) Autonomic computing Makes choices for you Personal computing Allows you to make choices yourself Computer–Human interaction with autonomic systems for engineering environments comprises user studies, interfaces for monitoring and controlling behavior, & techniques for defining, distributing, & understanding policies. Personal Autonomic Computing has a particular emphasis on Computer-Human Interaction & Autonomicity since if you consider; autonomic computing makes choices for you while personal computing allows you to make choices yourself as such with Personal Autonomic Computing the human is still very much in the loop.

21 3.6 Science of Autonomicity
Understanding, controlling, or exploiting emergent behavior Theoretical investigations of coupled feedback loops, robustness, & other related topics Expressed as the automation of systems adaptation The Science of Autonomicity is the fundamental science of self-managing systems for engineering environments: understanding, controlling, or exploiting emergent behavior, theoretical investigations of coupled feedback loops, robustness, & other related topics. Work in the science of autonomicity is required for the area to mature & be used as a standard technique within engineering

22 3.7 Systems & Software Engineering for Autonomic Systems
Early Days Implementations/Prototypes Architectures & proof tools Current Models Programming autonomic systems Designs for self-management Gathering requirements There is a strong need for system & software engineering process models/methodologies for building autonomic systems. The focus during the early days of the new model were on implementations/prototypes, architectures & tools to prove the concept Current models look at implementations to specific interest in how to program autonomic systems, how to design for self-management, & how to gather requirements specifically for an autonomic environment. Techniques are starting to be considered for requirements analysis & system design of autonomic systems Checkland’s Soft Systems Methodology Beer’s Viable Systems Model have been found in architectural approaches for describing an adaptive system Shaw et al.’s efforts on a process control approach to programming is considered particularly relevant to the AC initiative—not surprising since it was influenced by control loops

23 3.7 Systems & Software Engineering for Autonomic Systems
Legacy systems Sensors & effectors Kinesthetics eXtreme which runs a lightweight decentralized collection of active middleware components tied together via a publish/subscribe event system Astrolabe tool may be used to automate self-configuration & monitoring, & control adaptation In terms of engineering of self-management into legacy systems, it involves providing an environment that monitors the sensors of the system and provides adjustment through effectors to create a control loop. Kinesthetics eXtreme which runs a lightweight decentralized collection of active middleware components tied together via a publish/subscribe event system Astrolabe tool may be used to automate self-configuration & monitoring, & control adaptation

24 4.0 Examples 4.1 Early Success 4.2 Research Systems 4.3 Future

25 4.1 Early Success DBMS SMART DB2 Evolution of more complex features
Reduced human interaction + cost Alerts to DBA SMART DB2 Self-optimization Self-configuration Autonomic index determination Disaster recovery Continuous monitoring Alerts There have been a number of research efforts in both academia and industry to develop autonomic systems & applications. Database systems in particular, have been an early success within the AC initiative due to the evolution of the DBMS towards more complex features & a resulting move towards self-tuning. SMART DB2 provides for the reduction of human intervention & cost for DB2 through such self-management systems as self-optimization, self-configuration, autonomic index determination, disaster recovery, continuous monitoring of DB2’s health & alerting the DBA.

26 4.2 Research Systems Unity OceanStore Storage Tank Oceano AutoAdmin
Sabio Q-Fabric Unity is an autonomic system that implements IBM’s view of an autonomic architecture OceanStore, a data storage system that supports self-healing, self-optimization, self-configuration, self-protection, policy based caching, routing substrate adaptation, autonomic replication, continuous monitoring, testing, & repair. Storage Tank is a multi-platform, universally accessible storage management system. It supports self-optimization, self-healing, policy based storage & data management, server redirection & log-based recovery. Oceano facilitates cost effective scalable management of computing resources for software farms. In terms of autonomic behavior, it handles self-optimization, self-awareness, autonomic demand distribution, & constant component monitoring. AutoAdmin sets out to reduce Total Cost of Ownership (TCO) through self-tuning, self-administration by usage tracking, index tuning & recommendations based on workload. Sabio autonomically classifies large numbers of documents demonstrating self properties such as self-organization & self-awareness. It groups documents according to word and phrase usage. Q-Fabric provides system support for continuous online management through self-organization. It features continuous online quality management through ‘customizability’ of each application’s Quality of Service.

27 4.3 Future Urban Traffic Systems
Industrial/Residential Building Systems Computing IM Spam Detection Load Balancing Smart Doorplates Alphaworks ( NASA Applications of autonomic computing in engineering applications, such as autonomic (urban) traffic systems, autonomic industrial/residential building systems, autonomic industrial process systems, or autonomic manufacturing systems will increasingly come to the forefront Early adaptors have come from within computing, for example, efforts to add autonomic capabilities to instant messaging, spam detection, load balancing have been reported An example of a computing application would be Smart Doorplates Seeks to assist visitors to a building in locating an individual who is presently not in his/her office. A module in the architecture utilizes probabilistic reasoning to predict the next location of the individual, which is reported along with their current location Early versions of tools or autonomic functionality updates to existing tools and software suites in this area have recently been released by IBM through their AlphaWorks Autonomic Zone website Increasing constraints on resources, and greater focus on the cost of operations, has led NASA and others to utilize adaptive operations and move towards almost total onboard autonomy in certain classes of mission operations Autonomic Computing has been identified by NASA as a key area & research is underway to utilize it in addition to autonomy

28 Today The Autonomic Future Self-configure Self-heal Self-optimize
Corporate data centers are multi-vendor, multi-platform. Installing, configuring, integrating systems is time-consuming, error-prone. Automated configuration of components, systems according to high-level policies; rest of system adjusts automatically. Seamless, like adding new cell to body or new individual to population. Self-heal Problem determination in large, complex systems can take a team of programmers [for] weeks Automated detection, diagnosis, and repair of localized software/hardware problems. Self-optimize WebSphere, DB2 have hundreds of nonlinear tuning parameters; many new ones with each release. Components and systems will continually seek opportunities to improve their own performance and efficiency. Self-protect Manual detection and recovery from attacks and cascading failures. Automated defense against malicious attacks or cascading failures; use early warning to anticipate and prevent system-wide failures. Self-(configuring, healing, optimizing, protecting) Evolution of self-* Initially, these functions are dealt with separately e.g. DB2: Config. Advisor, Index Advisor, Query Optimizer Eventually distinctions blur properties emerge naturally from well-designed autonomic architecture Evolution of automated functions Collate and aggregate information to support human decisions Advisor (suggest course of action to humans) Automated actions Human-initiated actions pushed up to higher levels over time Borrowed from Jeff Kephart’s talk, Applications of Multi-Agent Learning in E-Commerce and Autonomic Computing, 2002.

29 Questions?


Download ppt "A Concise Introduction to Autonomic Computing"

Similar presentations


Ads by Google