09-03-2011, 11:47 AM
Final_Report.doc (Size: 358 KB / Downloads: 113)
Autonomic Computing
1. Introduction:
Autonomic Computing is emerging as a significant new approach to the design of computing systems. Its goal is the development of systems that are self-configuring, Self-healing, self-protecting and self-optimizing.
Autonomic Computing is an initiative started by IBM in 2001. Its ultimate aim is to develop computer systems capable of self-management, to overcome the rapidly growing complexity of computing systems management, and to reduce the barrier that complexity poses to further growth. In other words, autonomic computing refers to the self-managing characteristics of distributed computing resources, adapting to unpredictable changes whilst hiding intrinsic complexity to operators and users. An autonomic system makes decisions on its own, using high-level policies; it will constantly check and optimize its status and automatically adapt itself to changing conditions.
Autonomic computing is a self-managing computing model named after, and patterned on, the human body's autonomic nervous system. An autonomic computing system would control the functioning of computer applications and systems without input from the user, in the same way that the autonomic nervous system regulates body systems without conscious input from the individual. The goal 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.
2. Need of Autonomic Computing
Managing complex systems has grown too costly and prone to error. People under such pressure make mistakes, increasing the potential of system outages with a concurrent impact on business. The following points will reveal more about need of autonomic computing. It is now estimated that one-third to one-half of a company’s total IT budget is spent preventing or recovering from crashes.
● Nick Tabellion, CTO of Fujitsu Softek, said: “The commonly used number is: For every dollar to purchase storage, you spend $9 to have someone manage it.”
● Aberdeen Group studies show that administrative cost can account for 60 to 75 percent of the overall cost of database ownership (this includes administrative tools,
Installation, upgrade and deployment, training, administrator salaries, and service and support from database suppliers).
● When you examine data on the root cause of computer system outages, you find that about 40 percent are caused by operator error, and the reason is not because operators are not well-trained or do not have the right capabilities. Rather, it is because the complexities of today’s computer systems are too difficult to understand, and IT operators and managers are under pressure to make decisions about problems in seconds.
● A Yankee Group report estimated that downtime caused by security incidents cost as much as $4,500,000 per hour for brokerages and $2,600,000 for banking firms.
● David J. Clancy, chief of the Computational Sciences Division at the NASA Ames Research Center, underscored the problem of the increasing systems complexity issues: “Forty percent of the group’s software work is devoted to test,” he said, and added, “As the range of behavior of a system grows, the test problem grows exponentially.”
In a survey made on causes of outrages in four areas, most frequently found outrages are:
• For systems: operational error, user error, third party software error, internally developed software problem, inadequate change control, lack of automated processes.
• For networks: performance overload, peak load problems, insufficient bandwidth.
• For database: out of disk space, log file full, performance overload.
• For applications: application error, inadequate change control, operational error, non automated application exceptions.
This results in the need for self-managing systems and new development approaches that can deal with real-life complexity and uncertainty. The challenge is to produce practical methodologies and techniques for the development of such self-managing systems, so that they may be leveraged to deal with failure and recover easily.
3. Characteristics of Autonomic Computing:
The Autonomic Computing System must possess the following characteristics.
• To be autonomic, a computing system needs to “know itself”- and comprise components that also possess a system identity.
• An autonomic computing system must configure and reconfigure itself under varying and unpredictable conditions.
• An autonomic computing system never settles for the status quo- it always looks for ways to optimize its workings.
• An autonomic computing system must perform something akin to healing- it must be able to recover from routine and extraordinary events that might cause some of its parts to malfunction.
• A virtual world is no less dangerous than the physical one, so an autonomic computing system must be an expert in self-protection.
• An autonomic computing system knows its environment and the context surrounding its activity, and acts accordingly.
• An autonomic computing system cannot exist in a hermetic environment.
• Perhaps most critical for the user, an autonomic computing system will anticipate the optimized resources needed while keeping its complexity hidden.
Among these, four fundamental properties are very important and they are as follows,
Self Configuration
Self Healing
Self Optimization
Self Protection
3.1 Self-configuration
Autonomic computing systems should have the ability to ”adapt automatically to the dynamically changing environments”. The growing complexity brings the operating environment of computing systems unpredictable, and makes the computing systems brittle, uncertain. To address these problems, an autonomic computing system should be aware of its operating conditions, have the ability to predict trends and adapt itself to this changing environment. Two different levels of adaption are, In system level a new system component should be able to configure itself into a existing infrastructure automatically, and the rest system components will adapt to its presence” much like a new cell in the body or a new person in a population”. For example, with this level of adoption a new computing node with special functions will be seamlessly added into a large computing network. In component level, each component is again a self-managing system (autonomic element), and should be able to configure itself” on-the fly”.