Evaluation Issues in Autonomic Computing
Evaluation Issues in Autonomic Computing
Computing and describe some research that is However our definition of what we mean
taking place in various fields of computing and by autonomic computing is that of a self-
some achievements that have already been adaptive system as opposed to an adaptive
made, section 3. After that in section 4, we system. Therefore, here standard query opti-
concentrate on research in the field of software misers would not be considered as providing
engineering and describe projects that focus on autonomicity. However if while a query was
adding autonomic behaviour to software sys- running and the DBMS was monitoring the
tems. Finally, in sections 5 and 6 we combine query’s execution and deciding on a different
this work together with a discussion on per- query plan, then we would consider that auto-
formance evaluation and benchmarking, taking nomic. Nevertheless, we realise that the
into account our experiences of measuring boundary from adaptive to self-adaptive sys-
autonomic systems and provide some initial tems is fuzzy.
ideas on how such systems can be compared.
3. Why Autonomic computing
2. Autonomic computing today
In trying to understand how to evaluate an
The ideas behind autonomic computing are not autonomic system one much understand the
new. In fact, it is possible to find some aspects reason we would want such a system. This
of autonomic computing already in today’s allows us to compare whether or not the objec-
software products [2]. For instance, Windows tive has been met.
XP optimises its user interface (UI) by creating The main reason for large blue-chip com-
a list of most often used programs in the start panies, like IBM, being interested in auto-
menu. Thus, it is self-configuring in that it nomic computing is the need to reduce the cost
adapts the UI to the behaviour of the user, and complexity of owning and operating an IT
although in a fairly basic way, by monitoring infrastructure [4]. In particular, there is a need
what programs are called most often. It can to alleviate the complexity with which system
also download and install new critical updates administrators of IT services are faced today.
without user intervention, sometimes without The aim is to allow administrators to specify
restarting the system. Therefore, it also exhib- high-level policies that define the goals of the
its basic self-healing properties. DHCP and autonomic system, and let the system manage
DNS services allow devices to self-configure itself to accomplish these goals. At present,
to access a TCP/IP network (albeit in a limited system administrators must tweak hundreds of
settings and often spend weeks before getting a in particular adhoc networking [52]. For ex-
system to run optimally. Autonomic systems ample, Liu and Martonosi [22] discuss the
are also faster at adapting to changes to the problem of propagating software updates in a
environment, e.g. by distributing its resources wireless network of devices that are spread
differently when a critical-project requires over a large area and are not all reachable from
more CPU processing power. Furthermore, as a base station. Sensors co-operate to propagate
information systems in enterprises grow larger, software updates to the entire network of sen-
it is becoming increasing difficult to identify a sors, but at the same time they must optimise
failure in the system and repair the affected energy consumption, because of tight energy
component quickly, as large systems are het- constraints. Further due to the autonomous
erogeneous and no single person knows the nature of NASA’s DS1 (Deep Space 1) mis-
entire system. Examples of such systems can sion and the Mars Pathfinder [24],[18] some
be found in Figure 1. self-adaptation is required. That is, as mission
Autonomic behaviour is a topic that has control cannot rapidly send new commands to
found its way in many other computing fields a probe, it must quickly adapt to extraordinary
Autonomic Element (agent)
Managed Component