1 a concise introduction to autonomic computing roy sterritt, university of ulster at jordanstown,...
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
4
1.0 Introduction• Strategies based on biological systems• Inspired by human nervous system
Defined as: A self-managing,autonomous and ubiquitous computingenvironment that completely hides itscomplexity, thus providing the user with an interface that exactly meets her/hisneeds.
5
1.0 Introduction
• 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:
Self-governingSelf-adaptationSelf-organizationSelf-optimizationSelf-configurationSelf-diagnosis of faultSelf-protectionSelf-healingSelf-recoveryAutonomy
7
2.1 Autonomic Nervous System
• Controls the vegetative functions of the body (involuntary)– Circulation of blood– Intestinal activity & secretion– Production of chemical ‘messengers’
8
2.1 Autonomic Nervous System
• Sympathetic– Fast heart rate– Fear
• Parasympathetic– Slow heart rate– Calm
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
10
• 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
2.2 Autonomic Computing Systems
•Source: An architectural blueprint for autonomic computing. Third Edition, June 2005. Available at URL: http://www-03.ibm.com/autonomic/pdfs/AC%20Blueprint%20White%20Paper%20V7.pdf
11
• Autonomic elements of human body– Involuntary
• Autonomic elements of computer systems– Decisions based on tasks
2.2 Autonomic Computing Systems
12
• 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
2.2 Autonomic Computing Systems
Self-AnticipatingSelf-AdaptingSelf-Critical
Self-DefiningSelf-DestructingSelf-DiagnosisSelf-GoverningSelf-OrganizedSelf-RecoverySelf-ReflectingSelf-Simulation
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
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
17
• Autonomic algorithm selection
• Clockwork
• Cost calculations
• AI 3 level design– Reaction– Routine– Reflection
3.2 AI & Autonomic Components
PositiveNegativeArousal
18
3.3 Autonomic Architectures
• Individual Components• Complete autonomic systems
– Open Grid– Web Services– Intelligent Robotics
• Four Stages– Monitor– Analyze– Plan– Execute
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
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
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
22
3.7 Systems & SoftwareEngineering for Autonomic Systems
• Early Days– Implementations/Prototypes– Architectures & proof tools
• Current Models– Programming autonomic systems– Designs for self-management– Gathering requirements
23
• 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
3.7 Systems & SoftwareEngineering for Autonomic Systems
25
4.1 Early Success
• DBMS– 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
27
4.3 Future• Urban Traffic Systems
• Industrial/Residential Building Systems
• Computing– IM– Spam Detection– Load Balancing
• Smart Doorplates• Alphaworks (http://www.alphaworks.ibm.com/autonomic)
• NASA
28
Today The Autonomic Future
Self-configure 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.
• Borrowed from Jeff Kephart’s talk, Applications of Multi-Agent Learning in E-Commerce and Autonomic Computing, 2002.