Ehsan - Department of Computer Science

advertisement
Presented by: Ehsan Kouroshfar
Outline
 Introduction
 Self-management
 Architectural Considerations
 Engineering challenges
 Scientific challenges
 Discussion
Introduction
 IBM manifesto (2001): The main obstacle to further
progress in the IT industry is a looming software
complexity problem
 Consequence: Installing, Configuring, Tuning and
Maintaining applications is beyond human
capabilities
 What about the dream of pervasive computing?
 Autonomic computing: Computing systems that can
manage themselves given high level objectives from
administrators
Self-Management
 Free system administrators from the details of system
operation and maintenance and provide users with a
machine that runs at peak performance 24/7
 Adjust system’s operation in the face of changing
components, workloads, demands and external
conditions
 The autonomic system monitor its own use, check for
components upgrade, install them, reconfigure itself
and run a regression test.
Self-Management
Self-Management
 Milestones toward fully autonomic computing
 Collect and aggregate information to support decisions
by administrators
 Serve as advisors to humans
 Making and acting on lower level decisions
 Ultimately using the benefits of fully autonomic systems
 IBM cites four aspects of self-management: Self-
configuration, self-optimization, self-healing, selfprotection
Self-management
Architectural Considerations
 Autonomic systems as collections of autonomic elements:




contain resources and deliver services to humans and other
autonomic elements
Autonomic element consists of one or more managed
elements with a single autonomic manager.
Managed elements could be hardware or software resource
Each autonomic element is responsible for managing its
own internal state and interactions with the environment
At lower levels an autonomic element’s range of
interactions may be limited but at higher level its more
flexible and mostly goal oriented
Autonomic element
Life cycle of an autonomic element
 Design, test and verification
 Extending web services with programming tools and techniques
 Tools to represent high goals and map them to lower-level actions
 Testing in large-scale systems is more challenging
 Impossible to build test systems with realistic system size
 Installation and configuration
 Elements register itself in a directory service with their name and
capabilities
 Use the discovery service to find suppliers that provide required
services
 Monitoring and problem determination:
 Monitor themselves, suppliers and customers
 Monitor to find a failure, try to diagnose or find a new supplier
 Need tools for tracing, simulation and problem determination in
complex dynamic environment
Relationships among autonomic elements
 Specification
 Services should be expressed in a standard format
 It can register itself in a directory service such as UDDI
 Locating
 Needs to locate other elements by searching directory service
 Reliability and trustworthiness of potential partners
 Negotiation
 Negotiate for obtaining a service after finding the element
 First-come, first-serve or posted-price
 There should be effective negotiation strategies and languages for
expressing agreements
 Provision
 After reaching agreement they must provision their internal
resources
 It maybe establishing relations to subcontractors
Relationships among autonomic elements
 Operation
 They operate under negotiated agreement
 The service provider’s autonomic manager oversees the operation of
its managed element, monitoring it to ensure that the agreement is
being honored; the service requester might similarly monitor the
level of service.
 If the agreement is violated, one or both elements would seek an
appropriate remedy
 Termination
 Freeing the internal resources for other uses
 Record pertinent information about service relationship locally or
in a database for reputation of elements
Systemwide issues
 Security, privacy and trust
 Challenges confront electronic commerce: authentication,
authorization, encryption, signing, …
 The autonomic systems infrastructure must let autonomic
elements identify themselves, verify the identities of other
entities with which they communicate, verify that a message has
not been altered in transit, and ensure that unauthorized parties
do not read messages and other data.
 At larger scale autonomic elements will be agents . Autonomic
systems will be inhabited by middle agents that serve various
types including directory services, matchmakers, brokers,
auctioneers, security analysts and …
Goal specification
 Humans provide the goals and constraints that governs




autonomic systems actions
Two engineering challenges: Ensure that goals are specified
correctly in the first place, and ensure that systems behave
reasonably even when they are not
Goals could be multidimensional, conflicting and complex
How to define the utility functions?
Autonomic systems will need to protect themselves from input
goals that are inconsistent, implausible, dangerous, or
unrealizable with the resources at hand
Scientific challenges
 Behavioral abstractions and models
 Defining appropriate models for understanding, controlling, and
designing emergent behavior in autonomic systems is a challenge
 Understanding the mapping from local behavior to global behavior
and vice versa
 How can we derive a set of behavioral and interaction rules that, if
embedded in individual autonomic elements, will induce a desired
global behavior?
 Robustness theory
 A related challenge is to develop a theory of robustness for
autonomic systems, including definitions and analyses of
robustness, diversity, redundancy, and optimality and their
relationship to one another.
Scientific challenges
 Learning and optimization theory
 Learning in multi-agent system is a challenging but relatively
unexplored problem
 Optimization should deal with dynamism also: agents are changing
their behaviors making it necessary for other agents to change ,
potentially leading to instability.
 Negotiation theory
 How overall system behavior depends on the mixture of negotiation
algorithms that various autonomic elements use and establish
 Automated statistical modeling
 Methods that automate the aggregation of statistical variables to
reduce the dimensionality of the problem to a size that is amenable
to adaptive learning and optimization
Discussion
 The paper has more than 2000 citation according to Google
scholar
 the study of autonomic systems has become a significant
component of systems research, with its own dedicated journals,
conferences, and IEEE Computer Society technical committee
(TCAAS), as well as a substantial presence in mainstream
computing and networking venues.
 In 2001, IBM researchers predicted that by the end of the decade
the IT industry would need up to 200 million workers,
equivalent to the entire US labor force, to manage a billion
people and millions of businesses using a trillion devices
connected via the internet.
 We have reached 2010, and, the situation clearly is not as
extreme as anticipated. Now that there are approximately
260,000 IT workers in the US, with employment in the
industry
Discussion
 Consolidation of
computing power, which will increase
alongside the use of cloud computing and Web 2.0, reduces the
amount of management per unit of service.
 Efforts since 2001 to design self-managing systems have yielded
many impressive achievements, yet the original vision of
autonomic computing remains unfulfilled.
 This was not indeed ’hype’ and that, though it draws on much
work already carried out by the Computer Science and Control
communities, its innovation is strong and lies in its robust
application to the specific self-management of computing
systems.
Discussion
 A lot of work has been carried out in the MAPE-K loop
 Automatic Manager: Goal policy languages, Utility functions,




Conflict resolution, Multi-agent cooperation, Cellular systems
and insect colonies
Monitoring: Dynamic monitoring
Planning: Policy based adaptation planning, Architectural
models
Knowledge: Concept of utility, reinforcement learning, Bayesian
techniques
In conclusion, though autonomic computing has become
increasingly interesting and popular it remains a relatively
immature topic.
Download