Anatomy of Autonomic Server Components

Autonomic systems are an essential part of modern server designs, and are key to the reduction of system-level complexity. Some of the challenges faced in such a design are: Increase in complexity, as each service is often a composition of many other services; Variability in the characteristics of inputs encountered by a service; and Infeasibility of a centralized control to mobilize resources in response to input variations. To face these challenges, the servers are being modularly designed, with each component providing a standard interface. Components are no longer expected to provide a rigid and deterministic functional behavior in all aspects of their interactions with other components.
They are expected to efficiently deal with the varying behaviors of other components, including faults. Components can no longer rely on a centralized control to adjust their resources. Instead, they must be prepared to perceive changes and to negotiate the exchange of resources on a voluntary basis. In summary, the subsystems must be self-governing, self-organizing, self-stabilizing and self-healing in the surrounding world of unpredictable subsystems. While there are many subsystems in the current servers that are self-organizing to varying degrees, it is necessary to (a) formulate a common framework for every autonomic component and (b) develop general principles for their stability.
In this paper, we address the first part. We propose an operational definition of an autonomic component of a server, and identify the key features it must possess to be effective in the emerging environment. We discuss many examples from servers and cast them in this light. Examples range from simple software subsystems such as memory allocators, to more complex subsystems such as work-load managers invoking dynamic reconfiguration of resources in large servers, and also include hardware components like prefetch engines and branch predictors. The second part is an ongoing effort and we briefly summarize the direction we are pursuing. Often the constraints imposed by a system are nonlinear and the trick is to come up with linear approximations where some properties of the systems may be established under some simplified assumptions.

By: Kattamuri Ekanadham, Joefon Jann, Pratap Pattnaik, Ramanjaneya Sarma Burugula, Donna Dillenberger

Published in: RC22637 in 2002

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rc22637.pdf

Questions about this service can be mailed to reports@us.ibm.com .