Feedback Control of Computing Systems

Chapter 9.6.4 - Caching with Feedback Control

9.6.4   Caching with Feedback Control

Caching is widely used in high-performance computing systems because it provides
a cost-effective way to reduce access times by providing a small amount of
low-latency storage in which data are kept that will be accessed in the near future.
Low-latency storage is relatively expensive and is therefore a scarce resource.
As such, controlling the allocation of this storage is of concern.

Fig. 9.31 Magnitude and angle of the poles for the closed-loop system for the IBM Lotus


One way to allocate cache storage is based on business-oriented policies (e.g.,
as in [44]). For example, gold class service might ensure a 1-second response
time, whereas silver class might only guarantee a 3-second response time for the
same type of request. One element of enforcing such service differentiation is for
preferred classes (e.g., gold) to have a higher hit rate. (Hit rate is the probability
that the data requested are in low-latency storage.) The hit rate for a service class
can be increased (decreased) by allocating more (less) low-latency storage for
that service class.

Figure 9.32 displays the block diagram of a system that regulates hit rate for
a service class using proportional control. R(z) specifies the reference (desired)
hit rate, which may vary over time. The actual (measured) hit rate is Y(z), which
is the output of the system. The operation of the cache (as perceived by the
service class under consideration) is modeled as an integrator that front-ends a
first-order system. The integrator models the fact that the control input is the
change in cache allocation, not the absolute amount of cache space allocated.
Thus, the cache transfer function is

 

The control input U(z) is the change in low-latency storage allocated for the
service class. We want the measured hit rate to be very close to the reference hit


Fig. 9.32 Block diagram for control of a cache using proportional control.

rate. This is quantified by the control error e(k) = r(k) − y(k). If e(k) < 0, then
y(k) > r(k), so we need to decrease the storage allocated to the service class.
Conversely, if e(k) > 0, the allocated storage should be increased. The amount by
which storage is increased or decreased is determined by a proportional controller.
That is, u(k) = KPe(k). Implicit here is the simplifying assumption that storage
is continuous rather than discrete.

From Figure 9.32, it is straightforward to obtain the transfer function from the
reference input to the output:

 

Observe that the steady gain of this system is FR(1) = 1, so there is no steady-
state error. At first glance, this may seem surprising since we use proportional
control, and we know that proportional control has ess > 0 unless KP is very
large. Further, there is no precompensation. Rather, the reason why ess = 0 is
that the cache system itself includes an integrator.

 

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: Network Servers
Finish!
Privacy Policy

This is embarrasing...

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