Resource optimization property manager for autonomic computing

Hazem Sharaf EI Din

Abstract

Autonomic Computing is emerging as a significant new approach for the design of computing systems. Its goal is the production of systems that are self-managing, self-healing, self-protecting and self-optimizing. The high-tech industry has spent decades creating computer systems with ever-mounting degrees of complexity to solve a wide variety of business problems. Ironically, complexity itself has become part of the problem. This is actually the core of the autonomic computing dilemma. The question is how to provide such a promising system with the least possible level of complexity in order to avoid going into the same circle of infinitely cascaded complexity? Another important issue is that the fate of all the multi billon software products and modules that are already produced by large software companies or being used by large businesses in the IT-industry and even non IT-industry, is going to be determined by the planned design direction that is going to be pursued in the autonomic computing industry. One important question is whether the intended design direction is going to easily integrate the already developed and existing software products and solutions into the upcoming autonomization revolution or not! This research work realizes the autonomic computing complexity from a different dimension, which does not completely solve the previously mentioned dilemmas, but it proposes a solution that might lead to a flexible approach for dealing with the problem. As the main goal of autonomic computing is to deliver a system that is capable of self management, it actually means that each autonomic system should have the capabilities, skills, and experience to maintain each of those properties appropriately. Most probably such a system will implicitly denote a large and complex set of subsystems and this is what leads to the complexity of the provided solutions. In this research effort we propose a new notion to the autonomic computing architecture known as the property manager. The autonomic property manager is an autonomic manager that is capable of maintaining the management of any of the autonomic computing properties. For each property of the autonomic system an autonomic property manager will be dedicated to handle the duties of this property, i.e. a property keeper. In this research work we also present a brief description for our proposed design of one autonomic property manager, namely the resource optimization property manager, which is responsible for managing the resource optimization of all the modules registered under its domain. By setting a specialization for each autonomic manager we can expect better performance and details abstraction. This research work also proposes some solutions to other critical issues that the autonomic systems will have to handle such as: the ability to provide goal specification and policies at the system management level for each property and to support high level goals at the business level. By providing a hierarchy ofpolicy definitions at the system level that is controlled by a global system policy for each group ofsystems, we are able to reach a high-level policy definition that matches the business goals.We conducted five practical experiments, which include some scenarios that test the validity of the proposed design for the autonomic property manager using the prototype implementation ofthe resource optimization property manager. The experiments demonstrate the ability of the resource optimization property manager to make decisions based on the predefined policies that contribute to the enhancement of the performance of the high-level system definition. The definitions were included in one of the policy files to specify the desired response time for the website used in our experiments. They also demonstrated the facilities that the resource optimization property manger can provide to the other registered systems by using the resource allocation mechanism to get more resources whenever possible in addition to the other services it provides. Both the architecture chapter and the experimental work chapter include the details of the used architecture and the conducted experiments throughout this research work, which finally proves the effectiveness of our proposed approach.