Engineering decentralized autonomic computing systems

  • Authors:
  • Jeffrey O. Kephart

  • Affiliations:
  • IBM, Hawthorne, NY, USA

  • Venue:
  • Proceedings of the second international workshop on Self-organizing architectures
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

A central challenge of autonomic computing is to enable large-scale computing systems--and the self-managing elements of which they are composed--to manage themselves in accordance with high-level objectives specified by people [2]. From the earliest days of autonomic computing, utility functions have been promoted by many authors [1, 4, 5, 6, 7, 9] as a powerful and principled means for representing high-level objectives. Once a utility function has been elicited, a combination of modeling, optimization, and (sometimes) learning techniques may be applied to this explicit mathematical representation of the objectives to determine an optimal solution for the control variables [3]. Since autonomic systems are by their nature large, complex, and decentralized [8], issues of decentralization deeply affect every phase of the utility function approach: elicitation, modeling, optimization, learning, and sensing and actuation. I will describe several autonomic systems that my colleagues and I have built at IBM Research, some of which have been commercialized. Each has employed a different mechanism for coordinating the actions of multiple auto-nomic managers to realize a system-wide objective, or a collection of individual objectives. Our most recent efforts have centered around reducing energy consumption in data centers, a problem that requires us to consider not just energy, but performance, availability, and other management issues as well. While from a purely academic perspective it is very tempting to formulate data center management as a single centralized optimization, the reality is that the scale and heterogeneity of the physical and IT infrastructure, the wide range of relevant spatial and temporal scales, and the mixture of several types of management concerns renders a centralized approach completely impractical. I will detail two distinct decentralized approaches that we have explored, one based on a federation of semi-autonomous managers with some centralized computation, and the other based on a more strongly decentralized market economy of resource consumers and producers. The ultimate grand unified theory of autonomic computing still eludes us, but I will offer insights gleaned from our experiences, and conclude with thoughts about the many remaining challenges of engineering decentralized autonomic computing systems.