Feedback Control of Computing Systems

Chapter 1 - Introduction and Overview

This book is about feedback control of computing systems. The main idea of
feedback control is to use measurements of a system’s outputs, such as response
times, throughputs, and utilizations, to achieve externally specified goals. This is
done by adjusting the system control inputs, such as parameters that affect buffer
sizes, scheduling policies, and concurrency levels. Since the measured outputs
are used to determine the control inputs, and the inputs then affect the outputs,
the architecture is called feedback or closed loop. Almost any system that is
considered automatic has some element of feedback control. In this book we
focus on the closed-loop control of computing systems and methods for their
analysis and design.


1.1   THE NATURE OF FEEDBACK CONTROL


Feedback control is about regulating the characteristics of a system. We begin
with some key concepts: the measured output, which is the characteristic to be
regulated to a desired value; the control input, which is what influences the
measured output; and a disturbance, which affects the way in which the input
affects the output. These are illustrated in a later section.

The reader may be familiar with everyday feedback control systems, such as
cruise control in an automobile, a thermostat in a house, or the human sensorimotor
system. A cruise control system achieves the desired speed by adjusting the
accelerator pedal based on a velocity measurement from the speedometer. Here,
the accelerator pedal adjustments are the control input that provides a means to
regulate speed, the measured output. The desired speed is maintained even when
the car goes up or down hills or encounters head or tail winds, all of which are
examples of disturbances that affect the relationship between the control input
and the measured output. A thermostat achieves the desired temperature (output)
by adjusting the furnace cycle and fan (input). The desired temperature is maintained
even when the outside temperature increases or decreases (disturbance).
The sensorimotor system achieves the desired hand position (output) to pick up
an object by adjusting the muscle tensions (inputs) based on the current position
sensed by the eyes and touch.

These concepts of feedback control apply to computing systems as well. Consider
a computing system with a desired output characteristic. For example,
operators of computing systems, or administrators, may want each of three
Apache HTTP Servers [24] to run at no greater than 66% utilization, so that
if any one of them fails, the other two can immediately absorb the entire load.
Here, the measured output is CPU utilization. In computing systems, the measured
output typically depends on the nature of the requests being served, or
workload. Workload is often characterized in terms of the arrival process (e.g.,
Poisson, self-similar), and the distribution of service times for the resources used
(e.g., CPU, memory, and database locks) [20]. In our studies of the Apache
HTTP Server, CPU utilization depends on the workload and the control input.
The workload is characterized by the request rate and whether the requests are for
static or dynamic hypertext pages. The control input is the maximum number of
connections that the server permits as specified by the MaxClients parameter.
The workload is uncontrolled and so can be viewed as a disturbance. The control
input MaxClients can be manipulated by an administrator or an automatic
controller to affect CPU utilization.

Much of feedback control deals with understanding how the control input and
disturbance affect the measured output. Continuing with the Apache HTTP Server
example, as MaxClients increases, the CPU utilization increases. However,
the effect is not instantaneous. A larger MaxClients only allows more users
to connect; the system must wait some time for the users to arrive. Similarly,
when MaxClients is decreased, current users are not disconnected until their
sessions have timed out. Further, the value of MaxClients that results in a
66% utilization depends on the current workload, which may be unknown a
priori
and/or may change over time. Feedback control provides a method for
setting MaxClients automatically to achieve the desired utilization that takes
into account these dynamics and the effects of disturbances.

UNLIMITED FREE ACCESS TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Flow Controllers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.