such a target load l1, then any divergence
(l1actual – l′0) from expected target load is
clearly workload inherent change culminated over the time window t0 to t1. Since
l1actual can be known, any divergence from
the estimated load can be calculated. The
estimated scaled load is this given by:
l1 = l0 (s0 • f0 f0 + ( 1 – s0))
Similarly, the estimated scaled
scale-factor is approximately given by:
s1 = 1 + f1
Verification on an Actual Platform
The last two equations can be called
the workload scaling equations. Verifying them empirically on an actual platform, however, isn’t as straightforward.
At the granularity of a single cycle, the
three parameters on the right (f0,f1,s0)
may be determined; but as described,
the math result cannot be compared
directly to l after the end of that cycle;
primarily because the incoming load itself could fluctuate as seen at a discrete
sample basis. It is possible though, to
statistically verify by applying a series
of histograms at different frequencies
and tracing its ridge. Using this
histogram ridge trace method, the generality
of the equation is verified.
To begin, a workload is run completely at a fixed frequency.
Workload #1 is a random browser-based graphics load (Figure 3; https://
While capturing the data, it is preferred to stop unwanted background services that are irrelevant to the workload
under analysis. Also, a precise and lightweight data-logging tool is preferred.
On Linux systems, the Intel PSST4 can
accomplish logging at fixed, low, and
precise overhead. The data is captured
for, say, a duration of 100 seconds and a
sampling poll period of 20ms. Data captured with every sample includes:
• CPU load.
• scale factor.
• clamped frequency value.
The entire run is repeated at every
frequency of CPU, while keeping other
DVFS as fixed sources (for example, Gfx
frequency at a moderate but fixed value).
The CPU scale-factor and utiliza-solving yields
l ′0 = s′0 l ′0 + l 0 – s0l
l ′0 = l 0 1 – s′0 1 – s0 Now,
s′0 = t ′a
(t ′a + t ′s )
Again, due to stall time invariance,
( 1 s′0 – 1) ΔP′0
( 1 s0 – 1) ΔP0
Since this is not an iteration to the
next time window, the productive
cycles to be executed remain the same.
In other words,
The productive cycle count is invariant of frequency causality.
ΔP′0 = ΔP0
This results in the scaling of scale
1 + f′0
This intermediate equation defines the
changes (scaling) of the scale factor itself over frequency. Solving further, we
get the scaling of load equation:
l′0 = l0 (s0 • f0 f′0 + ( 1 – s0))
In the causality-based derivation,
there was no workload inherent change
in that window. In other words, if the
causality from f0 to f′0 were actual change
f1 in adjacent future time window t1,
and the equation were used to estimate
Figure 6. Collection of utilization histograms for each frequency.
Figure 7. Scale-factor histograms for each frequency.
04 6 8 10 12 14 16 18 20 22 24 26 28 30
4 6 8 10 12 14 16 18 20 22 24 26 28 30